{
  "firstLayout": "MainMenu",
  "gdVersion": {
    "build": 99,
    "major": 4,
    "minor": 0,
    "revision": 0
  },
  "properties": {
    "adaptGameResolutionAtRuntime": true,
    "antialiasingMode": "MSAA",
    "antialisingEnabledOnMobile": false,
    "folderProject": false,
    "orientation": "landscape",
    "packageName": "com.datacrystals.SneakySalamander",
    "pixelsRounding": false,
    "projectUuid": "cf42ef2c-31a0-4955-b502-9545c6ff56e3",
    "scaleMode": "linear",
    "sizeOnStartupMode": "adaptWidth",
    "templateSlug": "platformer",
    "useExternalSourceFiles": false,
    "version": "0.0.7",
    "name": "SneakySalamander",
    "description": "idk play it and find out lol.",
    "author": "datacrystals",
    "windowWidth": 2400,
    "windowHeight": 1350,
    "latestCompilationDirectory": "/home/eliott/Documents/SneakySalamander/Builds/0.0.7",
    "maxFPS": 120,
    "minFPS": 20,
    "verticalSync": false,
    "platformSpecificAssets": {
      "android-icon-144": "android-icon-144.png",
      "android-icon-192": "android-icon-192.png",
      "android-icon-36": "android-icon-36.png",
      "android-icon-48": "android-icon-48.png",
      "android-icon-72": "android-icon-72.png",
      "android-icon-96": "android-icon-96.png",
      "android-windowSplashScreenAnimatedIcon": "android-windowSplashScreenAnimatedIcon.png",
      "desktop-icon-512": "desktop-icon-512.png",
      "ios-icon-100": "ios-icon-100.png",
      "ios-icon-1024": "ios-icon-1024.png",
      "ios-icon-114": "ios-icon-114.png",
      "ios-icon-120": "ios-icon-120.png",
      "ios-icon-144": "ios-icon-144.png",
      "ios-icon-152": "ios-icon-152.png",
      "ios-icon-167": "ios-icon-167.png",
      "ios-icon-180": "ios-icon-180.png",
      "ios-icon-20": "ios-icon-20.png",
      "ios-icon-29": "ios-icon-29.png",
      "ios-icon-40": "ios-icon-40.png",
      "ios-icon-50": "ios-icon-50.png",
      "ios-icon-57": "ios-icon-57.png",
      "ios-icon-58": "ios-icon-58.png",
      "ios-icon-60": "ios-icon-60.png",
      "ios-icon-72": "ios-icon-72.png",
      "ios-icon-76": "ios-icon-76.png",
      "ios-icon-80": "ios-icon-80.png",
      "ios-icon-87": "ios-icon-87.png",
      "liluo-thumbnail": "Assets/Images/Common/Salamander/Salamander_Idle1.png"
    },
    "loadingScreen": {
      "backgroundColor": 0,
      "backgroundFadeInDuration": 0.2,
      "backgroundImageResourceName": "AssetDev/Sinage/Title/Title.png",
      "gdevelopLogoStyle": "light",
      "logoAndProgressFadeInDuration": 0.1,
      "logoAndProgressLogoFadeInDelay": 0.1,
      "minDuration": 2,
      "progressBarColor": 16777215,
      "progressBarHeight": 20,
      "progressBarMaxWidth": 0,
      "progressBarMinWidth": 40,
      "progressBarWidthPercent": 45,
      "showGDevelopSplash": false,
      "showProgressBar": true
    },
    "watermark": {
      "placement": "bottom-left",
      "showWatermark": false
    },
    "authorIds": [],
    "authorUsernames": [],
    "categories": [],
    "playableDevices": [
      "keyboard",
      "gamepad",
      "mobile"
    ],
    "extensionProperties": [],
    "platforms": [
      {
        "name": "GDevelop JS platform"
      }
    ],
    "currentPlatform": "GDevelop JS platform"
  },
  "resources": {
    "resources": [
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Salamander/Salamander_Idle1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Salamander/Salamander_Idle1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Salamander/Salamander_Idle2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Salamander/Salamander_Idle2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Salamander/Salamander_Idle3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Salamander/Salamander_Idle3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Salamander/Salamander_Idle4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Salamander/Salamander_Idle4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Salamander/Salamander_Walk1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Salamander/Salamander_Walk1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Salamander/Salamander_Walk2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Salamander/Salamander_Walk2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Salamander/Salamander_Walk3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Salamander/Salamander_Walk3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Salamander/Salamander_Walk4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Salamander/Salamander_Walk4.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Ladder/Ladder.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Ladder/Ladder.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/StaticPlatform/StaticPlatform.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/StaticPlatform/StaticPlatform.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FlyingEnemy/FlyingEnemy_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FlyingEnemy/FlyingEnemy_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FlyingEnemy/FlyingEnemy_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FlyingEnemy/FlyingEnemy_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FlyingEnemy/FlyingEnemy_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FlyingEnemy/FlyingEnemy_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FlyingEnemy/FlyingEnemy_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FlyingEnemy/FlyingEnemy_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Portal/Portal.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Portal/Portal.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/LargeIsland/LargeIsland.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/LargeIsland/LargeIsland.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MediumIsland/MediumIsland.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/MediumIsland/MediumIsland.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIsland_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/MovingIsland/MovingIsland_4.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIsland_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/MovingIsland/MovingIsland_3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIsland_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/MovingIsland/MovingIsland_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIsland_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/MovingIsland/MovingIsland_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_NoFire_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_NoFire_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_NoFire_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_NoFire_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_NoFire_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_NoFire_3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_NoFire_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_NoFire_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_WithFire_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_WithFire_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_WithFire_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_WithFire_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_WithFire_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_WithFire_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_WithFire_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_WithFire_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/LargeIsland/LargeIsland_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/LargeIsland/LargeIsland_4.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/LargeIsland/LargeIsland_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/LargeIsland/LargeIsland_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/LargeIsland/LargeIsland_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/LargeIsland/LargeIsland_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/LargeIsland/LargeIsland_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/LargeIsland/LargeIsland_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Ladder/Ladder_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Ladder/Ladder_4.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Ladder/Ladder_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Ladder/Ladder_3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Ladder/Ladder_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Ladder/Ladder_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Ladder/Ladder_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Ladder/Ladder_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/RectangularPlatform/RectangularPlatform_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/RectangularPlatform/RectangularPlatform_4.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/RectangularPlatform/RectangularPlatform_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/RectangularPlatform/RectangularPlatform_3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/RectangularPlatform/RectangularPlatform_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/RectangularPlatform/RectangularPlatform_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/RectangularPlatform/RectangularPlatform_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/RectangularPlatform/RectangularPlatform_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/HeartCoin/HeartCoin_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/HeartCoin/HeartCoin_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/HeartCoin/HeartCoin_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/HeartCoin/HeartCoin_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Checkpoint/Checkpoint_Closed_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Checkpoint/Checkpoint_Closed_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Checkpoint/Checkpoint_Closed_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Checkpoint/Checkpoint_Closed_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Checkpoint/Checkpoint_Closed_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Checkpoint/Checkpoint_Closed_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Checkpoint/Checkpoint_Open_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Checkpoint/Checkpoint_Open_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Checkpoint/Checkpoint_Open_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Checkpoint/Checkpoint_Open_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Checkpoint/Checkpoint_Open_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Checkpoint/Checkpoint_Open_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Portal/Portal_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Portal/Portal_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Portal/Portal_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Portal/Portal_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Arrow/Arrow.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Arrow/Arrow.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/Jump/Jump.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/Jump/Jump.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Backgrounds/Mountains/Mountains_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Backgrounds/Mountains/Mountains_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Backgrounds/Mountains/Mountains_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Backgrounds/Mountains/Mountains_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/Collect/Collect.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/Collect/Collect.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/Kill/Kill.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/Kill/Kill.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/CheckPoint/CheckPoint.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/CheckPoint/CheckPoint.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/DownArrow/DownArrow.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/DownArrow/DownArrow.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Particles/Drop/Drop.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Particles/Drop/Drop.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "file": "AssetDev/Audio/509444__erokia__ambient-wave-54-msfxp7-1_3-psess.wav",
        "kind": "audio",
        "metadata": "",
        "name": "AssetDev/Audio/509444__erokia__ambient-wave-54-msfxp7-1_3-psess.wav",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "AssetDev/Audio/Heartbeat_Amplified.wav",
        "kind": "audio",
        "metadata": "",
        "name": "AssetDev/Audio/Heartbeat_Amplified.wav",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "AssetDev/Audio/Squelch.wav",
        "kind": "audio",
        "metadata": "",
        "name": "AssetDev/Audio/Squelch.wav",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "AssetDev/Audio/DeathSound.wav",
        "kind": "audio",
        "metadata": "",
        "name": "AssetDev/Audio/DeathSound.wav",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/Death/Death.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/Death/Death.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Moon/Moon.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Moon/Moon.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/Title/Title.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/Title/Title.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/Proceed/Proceed.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/Proceed/Proceed.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Backgrounds/Forest/Forest.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Backgrounds/Forest/Forest.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MediumIsland/MediumIsland_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/MediumIsland/MediumIsland_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MediumIsland/MediumIsland_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/MediumIsland/MediumIsland_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MediumIsland/MediumIsland_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/MediumIsland/MediumIsland_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MediumIsland/MediumIsland_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/MediumIsland/MediumIsland_4.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeysWide_Space.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/TutorialKeys/TutorialKeysWide_Space.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeys_W.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/TutorialKeys/TutorialKeys_W.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeys_A.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/TutorialKeys/TutorialKeys_A.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeys_D.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/TutorialKeys/TutorialKeys_D.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeys_S.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/TutorialKeys/TutorialKeys_S.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_WithRedFire_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_WithRedFire_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_WithRedFire_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_WithRedFire_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_WithRedFire_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_WithRedFire_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/FireEnemy/FireEnemy_WithRedFire_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/FireEnemy/FireEnemy_WithRedFire_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Backgrounds/Ocean/Ocean.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Backgrounds/Ocean/Ocean.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/HeartCoin/HeartCoin_Blank.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/HeartCoin/HeartCoin_Blank.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/HeartCoin/HeartIcon.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/HeartCoin/HeartIcon.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/HeartCoin/HeartIcon_Blank.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/HeartCoin/HeartIcon_Blank.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/LifeForceBar/LifeForceBar_Frame.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/LifeForceBar/LifeForceBar_Frame.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/LifeForceBar/LifeForceBar_Content.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/LifeForceBar/LifeForceBar_Content.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/Lives/Lives.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/Lives/Lives.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/LifeForce/LifeForce.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/LifeForce/LifeForce.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Mountains1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Mountains1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Mountains2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Mountains2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Mountains3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Mountains3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Mountains4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Mountains4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Shatter/Shatter.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Shatter/Shatter.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Shatter/ShatterScaled.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Shatter/ShatterScaled.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/YouDied/YouDied.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/YouDied/YouDied.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/ProceedButton/ProceedButton_Idle.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/ProceedButton/ProceedButton_Idle.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/ProceedButton/ProceedButton_Hovered.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/ProceedButton/ProceedButton_Hovered.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/ProceedButton/ProceedButton_Pressed.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/ProceedButton/ProceedButton_Pressed.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/MemoryAcquired/MemoryAcquired.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/MemoryAcquired/MemoryAcquired.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_4.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/ShootingSpikeDemon/ShootingSpikeDemon_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/ShootingSpikeDemon/ShootingSpikeDemon_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/ShootingSpikeDemon/ShootingSpikeDemon_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/ShootingSpikeDemon/ShootingSpikeDemon_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/ShootingSpikeDemon/ShootingSpikeDemon_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/ShootingSpikeDemon/ShootingSpikeDemon_3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/ShootingSpikeDemon/Spike_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/ShootingSpikeDemon/Spike_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/ShootingSpikeDemon/Spike_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/ShootingSpikeDemon/Spike_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/ShootingSpikeDemon/Spike_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/ShootingSpikeDemon/Spike_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/ShootingSpikeDemon/Spike_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/ShootingSpikeDemon/Spike_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Backgrounds/Beach/Beach.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Backgrounds/Beach/Beach.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/DiagonallyMovingPlatform_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/DiagonallyMovingPlatform/DiagonallyMovingPlatform_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/DiagonallyMovingPlatform_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/DiagonallyMovingPlatform/DiagonallyMovingPlatform_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/DiagonallyMovingPlatform_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/DiagonallyMovingPlatform/DiagonallyMovingPlatform_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/DiagonallyMovingPlatform_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/DiagonallyMovingPlatform/DiagonallyMovingPlatform_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/Stalatgite_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/StalactiteDemon/Stalatgite_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/Stalatgite_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/StalactiteDemon/Stalatgite_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/Stalatgite_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Entities/StalactiteDemon/Stalatgite_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Beach1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Beach1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Beach2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Beach2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Beach3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Beach3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Beach4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Beach4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Forest1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Forest1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Forest2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Forest2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Forest3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Forest3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Forest4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Forest4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Backgrounds/LivingRoom/LivingRoom.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Backgrounds/LivingRoom/LivingRoom.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Ocean1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Ocean1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Ocean2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Ocean2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Ocean3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Ocean3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Ocean4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_Ocean4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Backgrounds/Infrastructure/Infrastructure.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Backgrounds/Infrastructure/Infrastructure.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Decorations/ServerRack/Rack_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Decorations/ServerRack/Rack_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Decorations/ServerRack/Rack_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Decorations/ServerRack/Rack_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Decorations/Server/Server_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Decorations/Server/Server_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Decorations/Server/Server_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Decorations/Server/Server_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Decorations/MemoryHolder/MemoryHolder_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Decorations/MemoryHolder/MemoryHolder_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Decorations/MemoryHolder/MemoryHolder_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Decorations/MemoryHolder/MemoryHolder_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/MindscapeFloor/MindscapeFloor_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/MindscapeFloor/MindscapeFloor_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/MindscapeFloor/MindscapeFloor_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Platforms/MindscapeFloor/MindscapeFloor_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeys_E.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Sinage/TutorialKeys/TutorialKeys_E.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_LivingRoom1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_LivingRoom1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_LivingRoom2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_LivingRoom2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_LivingRoom3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_LivingRoom3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_LivingRoom4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_LivingRoom4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_School1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_School1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_School2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_School2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_School3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_School3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_School4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_School4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Backgrounds/School/School.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Backgrounds/School/School.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_WhimsicalTree1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_WhimsicalTree1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_WhimsicalTree2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_WhimsicalTree2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_WhimsicalTree3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_WhimsicalTree3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_WhimsicalTree4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Memories/Memories_WhimsicalTree4.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Backgrounds/WhimsicalTree/WhimsicalTree.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev/Backgrounds/WhimsicalTree/WhimsicalTree.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/Checkpoint/Activate.wav",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/Checkpoint/Activate.wav",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/RandomSounds/RandomAmbiance1.wav",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/RandomSounds/RandomAmbiance1.wav",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/RandomSounds/RandomAmbiance2.wav",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/RandomSounds/RandomAmbiance2.wav",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/RandomSounds/RandomAmbiance3.wav",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/RandomSounds/RandomAmbiance3.wav",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/Portal/PortalInteract.wav",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/Portal/PortalInteract.wav",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Titles/SoundDesign/SoundDesign.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Titles/SoundDesign/SoundDesign.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Colon/Colon.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Colon/Colon.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/DylanMooney/DylanMooney.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Names/DylanMooney/DylanMooney.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Background/Background.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Background/Background.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Titles/Director/Director.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Titles/Director/Director.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/ThomasLiao/ThomasLiao.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Names/ThomasLiao/ThomasLiao.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/AlexHu/AlexHu.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Names/AlexHu/AlexHu.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/SneakySalamander/SneakySalamander.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/SneakySalamander/SneakySalamander.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "file": "Assets/Sounds/Levels/1/AmbientLoop.ogg",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/Levels/1/AmbientLoop.ogg",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/Levels/3/AmbientLoop.ogg",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/Levels/3/AmbientLoop.ogg",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/Levels/6/AmbientLoop.ogg",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/Levels/6/AmbientLoop.ogg",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/Levels/0/AmbientLoop.ogg",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/Levels/0/AmbientLoop.ogg",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/Levels/5/AmbientLoop.ogg",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/Levels/5/AmbientLoop.ogg",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Border/Border.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Border/Border.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Black/Black.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Black/Black.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Salamander/Salamander_Idle1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Salamander/Salamander_Idle1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "desktop-icon-512.png",
        "kind": "image",
        "metadata": "",
        "name": "desktop-icon-512.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "android-icon-192.png",
        "kind": "image",
        "metadata": "",
        "name": "android-icon-192.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "android-icon-144.png",
        "kind": "image",
        "metadata": "",
        "name": "android-icon-144.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "android-icon-96.png",
        "kind": "image",
        "metadata": "",
        "name": "android-icon-96.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "android-icon-72.png",
        "kind": "image",
        "metadata": "",
        "name": "android-icon-72.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "android-icon-48.png",
        "kind": "image",
        "metadata": "",
        "name": "android-icon-48.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "android-icon-36.png",
        "kind": "image",
        "metadata": "",
        "name": "android-icon-36.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "android-windowSplashScreenAnimatedIcon.png",
        "kind": "image",
        "metadata": "",
        "name": "android-windowSplashScreenAnimatedIcon.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-1024.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-1024.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-180.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-180.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-167.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-167.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-152.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-152.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-144.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-144.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-120.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-120.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-114.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-114.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-100.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-100.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-87.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-87.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-80.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-80.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-76.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-76.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-72.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-72.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-60.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-60.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-58.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-58.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-57.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-57.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-50.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-50.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-40.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-40.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-29.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-29.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "ios-icon-20.png",
        "kind": "image",
        "metadata": "",
        "name": "ios-icon-20.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Salamander/Salamander_Idle4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Salamander/Salamander_Idle4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Salamander/Salamander_Idle3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Salamander/Salamander_Idle3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Salamander/Salamander_Idle2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Salamander/Salamander_Idle2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Salamander/Salamander_Walk4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Salamander/Salamander_Walk4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Salamander/Salamander_Walk3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Salamander/Salamander_Walk3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Salamander/Salamander_Walk2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Salamander/Salamander_Walk2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Salamander/Salamander_Walk1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Salamander/Salamander_Walk1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "assets/Transparent Button With White Yellow Border_Hovered.png",
        "kind": "image",
        "metadata": "",
        "name": "Transparent Button With White Yellow Border_Hovered.png",
        "smoothed": true,
        "userAdded": false,
        "origin": {
          "identifier": "https://asset-resources.gdevelop.io/public-resources/Menu buttons/09c5d56e61a6a8b031a30ff89ae4229243317908385b5701a46e458c2fd6906c_Transparent Button With White Yellow Border_Hovered.png",
          "name": "Transparent Button With White Yellow Border_Hovered.png"
        }
      },
      {
        "alwaysLoaded": false,
        "file": "assets/Transparent Button With White Yellow Border_Idle.png",
        "kind": "image",
        "metadata": "",
        "name": "Transparent Button With White Yellow Border_Idle.png",
        "smoothed": true,
        "userAdded": false,
        "origin": {
          "identifier": "https://asset-resources.gdevelop.io/public-resources/Menu buttons/7311d88d62c25c9a5e7ed4f2031f4d58fabe564e093b203e62e467a1a995ed32_Transparent Button With White Yellow Border_Idle.png",
          "name": "Transparent Button With White Yellow Border_Idle.png"
        }
      },
      {
        "alwaysLoaded": false,
        "file": "assets/Transparent Button With White Yellow Border_Pressed.png",
        "kind": "image",
        "metadata": "",
        "name": "Transparent Button With White Yellow Border_Pressed.png",
        "smoothed": true,
        "userAdded": false,
        "origin": {
          "identifier": "https://asset-resources.gdevelop.io/public-resources/Menu buttons/e00d068010472f362dc46547bd727f20d85163a88cd2414d7f4fb9df63db2917_Transparent Button With White Yellow Border_Pressed.png",
          "name": "Transparent Button With White Yellow Border_Pressed.png"
        }
      },
      {
        "file": "assets/Charm-Regular.ttf",
        "kind": "font",
        "metadata": "",
        "name": "Charm-Regular.ttf",
        "userAdded": false,
        "origin": {
          "identifier": "https://asset-resources.gdevelop.io/public-resources/Menu buttons/668523d3d2bb73faa358e1ebafa55f43d2760f8abbe99aa15476121c1bcc7eb6_Charm-Regular.ttf",
          "name": "Charm-Regular.ttf"
        }
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/MainMenu/NewGameButton/NewGameButton_Idle.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/MainMenu/NewGameButton/NewGameButton_Idle.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/MainMenu/NewGameButton/NewGameButton_Hovered.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/MainMenu/NewGameButton/NewGameButton_Hovered.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/MainMenu/NewGameButton/NewGameButton_Pressed.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/MainMenu/NewGameButton/NewGameButton_Pressed.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/Levels/2/AmbientLoop.ogg",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/Levels/2/AmbientLoop.ogg",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/Levels/MainMenu/Theme.ogg",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/Levels/MainMenu/Theme.ogg",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/MainMenu/CreditsButton/CreditsButton_Idle.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/MainMenu/CreditsButton/CreditsButton_Idle.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/MainMenu/CreditsButton/CreditsButton_Hovered.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/MainMenu/CreditsButton/CreditsButton_Hovered.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/MainMenu/CreditsButton/CreditsButton_Pressed.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/MainMenu/CreditsButton/CreditsButton_Pressed.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/MainMenu/ExitButton/ExitButton_Idle.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/MainMenu/ExitButton/ExitButton_Idle.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/MainMenu/ExitButton/ExitButton_Hovered.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/MainMenu/ExitButton/ExitButton_Hovered.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/MainMenu/ExitButton/ExitButton_Pressed.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/MainMenu/ExitButton/ExitButton_Pressed.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/UI/Hope/HopeBar_Content.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\UI\\Hope\\HopeBar_Content.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/UI/Hope/HopeBar_Frame.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\UI\\Hope\\HopeBar_Frame.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/UI/Hope/Hope.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\UI\\Hope\\Hope.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/UI/HopeBar/GraduatedHopeBar_Content.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\UI\\HopeBar\\GraduatedHopeBar_Content.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/UI/HopeBar/GraduatedHopeBar_Frame.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\UI\\HopeBar\\GraduatedHopeBar_Frame.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/UI/Hope/Hope_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\UI\\Hope\\Hope_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/UI/Labels/TryAgain/TryAgainButton_Idle.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\UI\\Labels\\TryAgain\\TryAgainButton_Idle.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/UI/Labels/TryAgain/TryAgainButton_Hovered.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\UI\\Labels\\TryAgain\\TryAgainButton_Hovered.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/UI/Labels/TryAgain/TryAgainButton_Pressed.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\UI\\Labels\\TryAgain\\TryAgainButton_Pressed.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/ProceedButton/ProceedButton_Idle.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Sinage\\ProceedButton\\ProceedButton_Idle.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/ProceedButton/ProceedButton_Hovered.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Sinage\\ProceedButton\\ProceedButton_Hovered.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/ProceedButton/ProceedButton_Pressed.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Sinage\\ProceedButton\\ProceedButton_Pressed.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserBeam_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserBeam_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserBeam_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserBeam_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserBeam_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserBeam_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserBeam_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserBeam_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Base_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Base_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Base_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Base_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Base_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Base_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Base_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Base_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Beam_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Beam_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Beam_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Beam_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Beam_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Beam_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Beam_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Beam_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Titles/LevelDesign/LevelDesign.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Titles/LevelDesign/LevelDesign.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Titles/Programming/Programming.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Titles/Programming/Programming.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Titles/QualityAssurance/QualityAssurance.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Titles/QualityAssurance/QualityAssurance.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Titles/SpecialThanks/SpecialThanks.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Titles/SpecialThanks/SpecialThanks.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Entities\\StalactiteDemon\\StalactiteDemon_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Entities\\StalactiteDemon\\StalactiteDemon_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Entities\\StalactiteDemon\\StalactiteDemon_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/Stalactite_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/Stalactite_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Entities/StalactiteDemon/Stalactite_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserRing_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserRing_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserRing_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserRing_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserRing_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserRing_3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIslandRight_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\MovingIsland\\MovingIslandRight_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIslandRIght_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\MovingIsland\\MovingIslandRIght_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIslandRight_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\MovingIsland\\MovingIslandRight_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIslandRight_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\MovingIsland\\MovingIslandRight_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIslandLeft_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\MovingIsland\\MovingIslandLeft_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIslandLeft_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\MovingIsland\\MovingIslandLeft_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIslandLeft_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\MovingIsland\\MovingIslandLeft_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/MovingIsland/MovingIslandLeft_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\MovingIsland\\MovingIslandLeft_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/SpinningPlatformClockwise_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformClockwise_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/SpinningPlatformClockwise_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformClockwise_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/SpinningPlatformClockwise_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformClockwise_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/SpinningPlatformClockwise_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformClockwise_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/SpinningPlatformCounterclockwise_1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/SpinningPlatformCounterclockwise_2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/SpinningPlatformCounterclockwise_3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Platforms/DiagonallyMovingPlatform/SpinningPlatformCounterclockwise_4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Beam_Single_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Beam_Single_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Beam_Single_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Beam_Single_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemon_Beam_Single_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemon_Beam_Single_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Levels/7/Background/Background.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Levels\\7\\Background\\Background.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Levels/8/Background/Background.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Levels\\8\\Background\\Background.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/TurretDemon/TurretDemonBase_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonBase_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/TurretDemon/TurretDemonBase_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonBase_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/TurretDemon/TurretDemonBase_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonBase_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/TurretDemon/TurretDemonBase_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonBase_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/TurretDemon/TurretDemonEye_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonEye_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/TurretDemon/TurretDemonEye_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonEye_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/TurretDemon/TurretDemonEye_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonEye_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/TurretDemon/TurretDemonEye_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonEye_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Common/CameraGlitchFix/CameraGlitchFix.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Common\\CameraGlitchFix\\CameraGlitchFix.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/SweepingLaserDemon/SweepingLaserDemon_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/SweepingLaserDemon/SweepingLaserDemon_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/SweepingLaserDemon/SweepingLaserDemon_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/SweepingLaserDemon/SweepingLaserDemon_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/SweepingLaserDemon/SweepingLaserDemon_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/SweepingLaserDemon/SweepingLaserDemon_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/SweepingLaserDemon/SweepingLaserDemon_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/SweepingLaserDemon/SweepingLaserDemon_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/SweepingLaserDemon/Shockwave_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/SweepingLaserDemon/Shockwave_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/SweepingLaserDemon/Shockwave_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/SweepingLaserDemon/Shockwave_3.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/SweepingLaserDemon/Shockwave_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/SweepingLaserDemon/Shockwave_2.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/SweepingLaserDemon/Shockwave_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/SweepingLaserDemon/Shockwave_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteSpawnerBase_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteSpawnerBase_4.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteSpawnerBase_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteSpawnerBase_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteSpawnerBase_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteSpawnerBase_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteSpawnerBase_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteSpawnerBase_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteDemon_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteDemon_4.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteDemon_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteDemon_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteDemon_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteDemon_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteDemon_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Entites/Enemies/MiteSpawnerDemon/MiteDemon_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Levels/9/Background/Background.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Levels\\9\\Background\\Background.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteDemon/MiteDemonBase_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonBase_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteDemon/MiteDemonBase_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonBase_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteDemon/MiteDemonBase_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonBase_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteDemon/MiteDemonBase_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonBase_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteDemon/MiteDemonMite_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonMite_1.png",
        "smoothed": true,
        "userAdded": false
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteDemon/MiteDemonMite_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonMite_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteDemon/MiteDemonMite_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonMite_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/MiteDemon/MiteDemonMite_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonMite_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemonBase_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemonBase_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemonBase_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemonBase_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemonBeam_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemonBeam_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemonBeam_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemonBeamSingle_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemonBeamSingle_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserDemonBeamSingle_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserRing1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserRing1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserRing2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserRing2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/LaserDemon/LaserRing3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserRing3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/ShockwaveDemon_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemon_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/ShockwaveDemon_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemon_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/ShockwaveDemon_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemon_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/ShockwaveDemon_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemon_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/Shockwave_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\Shockwave_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/Shockwave_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\Shockwave_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/Shockwave_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\Shockwave_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/Shockwave_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\Shockwave_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/ShockwaveDemonBase_1.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemonBase_1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/ShockwaveDemonBase_2.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemonBase_2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/ShockwaveDemonBase_3.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemonBase_3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Entites/Enemies/ShockwaveDemon/ShockwaveDemonBase_4.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemonBase_4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_BlockWorld1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_BlockWorld1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_BlockWorld2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_BlockWorld2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_BlockWorld3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_BlockWorld3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_BlockWorld4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_BlockWorld4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_TangentHell1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_TangentHell1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_TangentHell2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_TangentHell2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_TangentHell3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_TangentHell3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_TangentHell4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_TangentHell4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Recursion1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Recursion1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Recursion2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Recursion2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Recursion3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Recursion3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Recursion4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Recursion4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Linux1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Linux1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Linux2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Linux2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Linux3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Linux3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Linux4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Linux4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Boss1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Boss1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Boss2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Boss2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Boss3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Boss3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_Boss4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_Boss4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Tutorial/Labels/Hold/Hold.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Tutorial\\Labels\\Hold\\Hold.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Tutorial/Labels/LongerJump/LongerJump.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Tutorial\\Labels\\LongerJump\\LongerJump.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Tutorial/Labels/ShiftToHealHint/ShiftToHealHint.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Tutorial\\Labels\\ShiftToHealHint\\ShiftToHealHint.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeys_A.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Sinage\\TutorialKeys\\TutorialKeys_A.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeys_W.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Sinage\\TutorialKeys\\TutorialKeys_W.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeys_S.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Sinage\\TutorialKeys\\TutorialKeys_S.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeys_D.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Sinage\\TutorialKeys\\TutorialKeys_D.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Sinage/TutorialKeys/TutorialKeysWide_Space.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Sinage\\TutorialKeys\\TutorialKeysWide_Space.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Tutorial/Labels/PauseHint/PauseMenu.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Tutorial\\Labels\\PauseHint\\PauseMenu.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Tutorial/Labels/RestartHint/RestartHint.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Tutorial\\Labels\\RestartHint\\RestartHint.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_WhimsicalTree1.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_WhimsicalTree1.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_WhimsicalTree2.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_WhimsicalTree2.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_WhimsicalTree3.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_WhimsicalTree3.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "AssetDev/Memories/Memories_WhimsicalTree4.png",
        "kind": "image",
        "metadata": "",
        "name": "AssetDev\\Memories\\Memories_WhimsicalTree4.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/BaileyBorbas/BaileyBorbas.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\BaileyBorbas\\BaileyBorbas.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/BrennerKrogh/BrennerKrogh.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\BrennerKrogh\\BrennerKrogh.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/BrennerMuskatel/BrennerMuskatel.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\BrennerMuskatel\\BrennerMuskatel.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/HunterBoggs/HunterBoggs.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\HunterBoggs\\HunterBoggs.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/JackMccarthySmith/JackMccarthySmith.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\JackMccarthySmith\\JackMccarthySmith.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/JacobMorrison/JacobMorrison.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\JacobMorrison\\JacobMorrison.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/JasonWong/JasonWong.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\JasonWong\\JasonWong.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/JoshVegher/JoshVegher.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\JoshVegher\\JoshVegher.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/JustinHumes/JustinHumes.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\JustinHumes\\JustinHumes.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/RyanReilly/RyanReilly.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\RyanReilly\\RyanReilly.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Titles/Art/Art.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Titles\\Art\\Art.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/MainMenu/Background/Background.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\MainMenu\\Background\\Background.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Levels/10/Background/Background.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Levels\\10\\Background\\Background.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Titles/Concept/Concept.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Titles/Concept/Concept.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "file": "Assets/Sounds/Levels/Mindscape/AmbientLoop_Train.ogg",
        "kind": "audio",
        "metadata": "",
        "name": "Assets/Sounds/Levels/Mindscape/AmbientLoop_Train.ogg",
        "preloadAsMusic": false,
        "preloadAsSound": false,
        "preloadInCache": false,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Logos/AGPL_Logo.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/Logos/AGPL_Logo.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/LicenseText/LicenseText.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets/Images/Credits/LicenseText/LicenseText.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/BrennerMuscatell/BrennerMuscatell.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\BrennerMuscatell\\BrennerMuscatell.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Names/ConnorLebrun/ConnorLebrun.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Names\\ConnorLebrun\\ConnorLebrun.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Logos/AGPL/AGPL_Logo.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Logos\\AGPL\\AGPL_Logo.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Logos/DRMFree/DRM_Free_Logo.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Logos\\DRMFree\\DRM_Free_Logo.png",
        "smoothed": true,
        "userAdded": true
      },
      {
        "alwaysLoaded": false,
        "file": "Assets/Images/Credits/Logos/Git/Git-Logo-White.png",
        "kind": "image",
        "metadata": "",
        "name": "Assets\\Images\\Credits\\Logos\\Git\\Git-Logo-White.png",
        "smoothed": true,
        "userAdded": true
      }
    ],
    "resourceFolders": []
  },
  "objects": [
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "Player",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "Lives",
          "type": "number",
          "value": 5
        },
        {
          "folded": true,
          "name": "IsTrulyDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "LifeForce",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "NeedsEnemiesReset",
          "type": "boolean",
          "value": false
        },
        {
          "name": "IsImmortal",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "IsInShockwave",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "GodModeX",
          "type": "number",
          "value": 6333
        },
        {
          "folded": true,
          "name": "GodModeY",
          "type": "number",
          "value": 360
        }
      ],
      "effects": [
        {
          "effectType": "Glow",
          "name": "Effect",
          "doubleParameters": {
            "distance": 15,
            "innerStrength": 1,
            "outerStrength": 2
          },
          "stringParameters": {
            "color": "255;255;255"
          },
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator",
          "EnableAnimationChanges": true,
          "EnableHorizontalFlipping": true,
          "IdleAnimationName": "Idle",
          "MoveAnimationName": "Move",
          "JumpAnimationName": "Jump",
          "FallAnimationName": "Fall",
          "ClimbAnimationName": "Climb",
          "PlatformerBehavior": "PlatformerObject",
          "RunAnimationName": "Run",
          "AnimatableCapability": "Animation",
          "FlippableCapability": "Flippable",
          "AnimatableCapacity": "Animation",
          "FlippableCapacity": "Flippable",
          "Animation": "Animation",
          "Flip": "Flippable",
          "Flippable": "Flippable"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper",
          "PlatformerCharacter": "PlatformerObject",
          "GamepadIdentifier": 1,
          "UseArrows": true,
          "UseLeftStick": true,
          "UseRightStick": false,
          "JumpButton": "A or Cross"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "SpriteMultitouchJoystick::PlatformerMultitouchMapper",
          "Property": "PlatformerObject",
          "ControllerIdentifier": 1,
          "JoystickIdentifier": "Primary",
          "JumpButton": "A"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior",
          "maxFallingSpeed": 1000,
          "xGrabTolerance": 20,
          "canGoDownFromJumpthru": true,
          "canGrabPlatforms": false,
          "canGrabWithoutMoving": false,
          "ignoreDefaultControls": true,
          "maxSpeed": 600,
          "slopeMaxAngle": 60,
          "acceleration": 4750,
          "deceleration": 4750,
          "gravity": 2200,
          "jumpSpeed": 1500,
          "ladderClimbingSpeed": 600,
          "jumpSustainTime": 0.2,
          "useLegacyTrajectory": false,
          "yGrabOffset": 0
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera",
          "LeftwardSpeed": 0.9,
          "RightwardSpeed": 0.9,
          "UpwardSpeed": 0.75,
          "DownwardSpeed": 0.9,
          "FollowOnX": true,
          "FollowOnY": true,
          "FollowFreeAreaLeft": 0,
          "FollowFreeAreaRight": 0,
          "FollowFreeAreaTop": 0,
          "FollowFreeAreaBottom": 0,
          "CameraOffsetX": 0,
          "CameraOffsetY": 0,
          "CameraDelay": 0,
          "ForecastTime": 0,
          "ForecastHistoryDuration": 0,
          "LogLeftwardSpeed": 0,
          "LogRightwardSpeed": 0,
          "LogDownwardSpeed": 0,
          "LogUpwardSpeed": 0,
          "DelayedCenterX": 0,
          "DelayedCenterY": 0,
          "ForecastHistoryMeanX": 0,
          "ForecastHistoryMeanY": 0,
          "ForecastHistoryVarianceX": 0,
          "ForecastHistoryCovariance": 0,
          "ForecastHistoryLinearA": 0,
          "ForecastHistoryLinearB": 0,
          "ForecastedX": 0,
          "ForecastedY": 0,
          "ProjectedNewestX": 0,
          "ProjectedNewestY": 0,
          "ProjectedOldestX": 0,
          "ProjectedOldestY": 0,
          "ForecastHistoryVarianceY": 0,
          "Index": 0,
          "CameraDelayCatchUpSpeed": 0,
          "CameraExtraDelay": 0,
          "WaitingSpeedXMax": 0,
          "WaitingSpeedYMax": 0,
          "WaitingEnd": 0,
          "CameraDelayCatchUpDuration": 0,
          "LeftwardSpeedMax": 10000,
          "RightwardSpeedMax": 10000,
          "UpwardSpeedMax": 1500,
          "DownwardSpeedMax": 1500,
          "OldX": 0,
          "OldY": 0
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "Idle",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.3,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Idle4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Idle3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Idle2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Idle1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Idle2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Idle3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Run",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.15,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Jump",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Climb",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.45,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Fall",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Salamander/Salamander_Walk2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 822,
                        "y": 172.5
                      },
                      {
                        "x": 911.5,
                        "y": 254
                      },
                      {
                        "x": 676,
                        "y": 323.5
                      },
                      {
                        "x": 326,
                        "y": 309
                      },
                      {
                        "x": 71.5,
                        "y": 257
                      },
                      {
                        "x": 297.5,
                        "y": 152.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "FlyingDemon",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": true
        },
        {
          "name": "IsDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "name": "LifeForce",
          "type": "number",
          "value": 1
        },
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement",
          "Width": 0,
          "Height": 150,
          "Clockwise": true,
          "HorizontalEdgeDuration": 0,
          "VerticalEdgeDuration": 1.35,
          "Left": 1,
          "Top": 1,
          "Progress": 1,
          "OldX": 1,
          "OldY": 1,
          "Easing": "easeInOutSine",
          "InitialPosition": "Bottom-left corner",
          "ToogleClockwise": false
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FlyingEnemy/FlyingEnemy_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 128.5,
                        "y": 333.5
                      },
                      {
                        "x": 266,
                        "y": 3.5
                      },
                      {
                        "x": 686.5,
                        "y": 113
                      },
                      {
                        "x": 839.5,
                        "y": 221
                      },
                      {
                        "x": 649.5,
                        "y": 656.5
                      },
                      {
                        "x": 318.5,
                        "y": 833
                      },
                      {
                        "x": 88,
                        "y": 726.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FlyingEnemy/FlyingEnemy_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 128.5,
                        "y": 333.5
                      },
                      {
                        "x": 266,
                        "y": 3.5
                      },
                      {
                        "x": 686.5,
                        "y": 113
                      },
                      {
                        "x": 839.5,
                        "y": 221
                      },
                      {
                        "x": 649.5,
                        "y": 656.5
                      },
                      {
                        "x": 318.5,
                        "y": 833
                      },
                      {
                        "x": 88,
                        "y": 726.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FlyingEnemy/FlyingEnemy_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 128.5,
                        "y": 333.5
                      },
                      {
                        "x": 266,
                        "y": 3.5
                      },
                      {
                        "x": 686.5,
                        "y": 113
                      },
                      {
                        "x": 839.5,
                        "y": 221
                      },
                      {
                        "x": 649.5,
                        "y": 656.5
                      },
                      {
                        "x": 318.5,
                        "y": 833
                      },
                      {
                        "x": 88,
                        "y": 726.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FlyingEnemy/FlyingEnemy_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 128.5,
                        "y": 333.5
                      },
                      {
                        "x": 266,
                        "y": 3.5
                      },
                      {
                        "x": 686.5,
                        "y": 113
                      },
                      {
                        "x": 839.5,
                        "y": 221
                      },
                      {
                        "x": 649.5,
                        "y": 656.5
                      },
                      {
                        "x": 318.5,
                        "y": 833
                      },
                      {
                        "x": 88,
                        "y": 726.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FlyingEnemy/FlyingEnemy_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 128.5,
                        "y": 333.5
                      },
                      {
                        "x": 266,
                        "y": 3.5
                      },
                      {
                        "x": 686.5,
                        "y": 113
                      },
                      {
                        "x": 839.5,
                        "y": 221
                      },
                      {
                        "x": 649.5,
                        "y": 656.5
                      },
                      {
                        "x": 318.5,
                        "y": 833
                      },
                      {
                        "x": 88,
                        "y": 726.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FlyingEnemy/FlyingEnemy_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 128.5,
                        "y": 333.5
                      },
                      {
                        "x": 266,
                        "y": 3.5
                      },
                      {
                        "x": 686.5,
                        "y": 113
                      },
                      {
                        "x": 839.5,
                        "y": 221
                      },
                      {
                        "x": 649.5,
                        "y": 656.5
                      },
                      {
                        "x": 318.5,
                        "y": 833
                      },
                      {
                        "x": 88,
                        "y": 726.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "FireDemon",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "name": "Fire",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "IsDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "name": "LifeForce",
          "type": "number",
          "value": 2
        },
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 6,
            "greenX": 0,
            "greenY": 0,
            "redX": -6,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy",
          "Animation": "Animation"
        }
      ],
      "animations": [
        {
          "name": "NoFire",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_NoFire_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_NoFire_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_NoFire_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_NoFire_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_NoFire_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_NoFire_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Fire",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_WithRedFire_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_WithRedFire_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_WithRedFire_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_WithRedFire_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_WithRedFire_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/FireEnemy/FireEnemy_WithRedFire_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 112,
                        "y": 650
                      },
                      {
                        "x": 461,
                        "y": 335
                      },
                      {
                        "x": 823,
                        "y": 701
                      },
                      {
                        "x": 823,
                        "y": 875
                      },
                      {
                        "x": 112,
                        "y": 875
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "Checkpoint",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "name": "active",
          "type": "boolean",
          "value": false
        }
      ],
      "effects": [
        {
          "effectType": "Glow",
          "name": "Glow",
          "doubleParameters": {
            "distance": 15,
            "innerStrength": 1,
            "outerStrength": 2
          },
          "stringParameters": {
            "color": "255;255;255"
          },
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement",
          "Width": 0,
          "Height": 10,
          "Clockwise": true,
          "HorizontalEdgeDuration": 0,
          "VerticalEdgeDuration": 1.5,
          "Left": 1,
          "Top": 1,
          "Progress": 1,
          "OldX": 1,
          "OldY": 1,
          "Easing": "easeInOutSine",
          "InitialPosition": "Top-left corner",
          "ToogleClockwise": false
        }
      ],
      "animations": [
        {
          "name": "Inactive",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": false,
                  "image": "AssetDev/Checkpoint/Checkpoint_Closed_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "AssetDev/Checkpoint/Checkpoint_Closed_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "AssetDev/Checkpoint/Checkpoint_Closed_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "AssetDev/Checkpoint/Checkpoint_Closed_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                }
              ]
            }
          ]
        },
        {
          "name": "Activate",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": false,
                  "image": "AssetDev/Checkpoint/Checkpoint_Open_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "AssetDev/Checkpoint/Checkpoint_Open_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "AssetDev/Checkpoint/Checkpoint_Open_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "AssetDev/Checkpoint/Checkpoint_Open_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "StaticPlatform3",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/LargeIsland/LargeIsland_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 2044.5,
                        "y": 48
                      },
                      {
                        "x": 1662.5,
                        "y": 490.5
                      },
                      {
                        "x": 865,
                        "y": 786
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      }
                    ],
                    [
                      {
                        "x": 71.5,
                        "y": 278
                      },
                      {
                        "x": 80,
                        "y": 60.5
                      },
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      },
                      {
                        "x": 297.5,
                        "y": 461.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/LargeIsland/LargeIsland_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 2044.5,
                        "y": 48
                      },
                      {
                        "x": 1662.5,
                        "y": 490.5
                      },
                      {
                        "x": 865,
                        "y": 786
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      }
                    ],
                    [
                      {
                        "x": 71.5,
                        "y": 278
                      },
                      {
                        "x": 80,
                        "y": 60.5
                      },
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      },
                      {
                        "x": 297.5,
                        "y": 461.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/LargeIsland/LargeIsland_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 2044.5,
                        "y": 48
                      },
                      {
                        "x": 1662.5,
                        "y": 490.5
                      },
                      {
                        "x": 865,
                        "y": 786
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      }
                    ],
                    [
                      {
                        "x": 71.5,
                        "y": 278
                      },
                      {
                        "x": 80,
                        "y": 60.5
                      },
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      },
                      {
                        "x": 297.5,
                        "y": 461.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/LargeIsland/LargeIsland_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 2044.5,
                        "y": 48
                      },
                      {
                        "x": 1662.5,
                        "y": 490.5
                      },
                      {
                        "x": 865,
                        "y": 786
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      }
                    ],
                    [
                      {
                        "x": 71.5,
                        "y": 278
                      },
                      {
                        "x": 80,
                        "y": 60.5
                      },
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      },
                      {
                        "x": 297.5,
                        "y": 461.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/LargeIsland/LargeIsland_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 2044.5,
                        "y": 48
                      },
                      {
                        "x": 1662.5,
                        "y": 490.5
                      },
                      {
                        "x": 865,
                        "y": 786
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      }
                    ],
                    [
                      {
                        "x": 71.5,
                        "y": 278
                      },
                      {
                        "x": 80,
                        "y": 60.5
                      },
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      },
                      {
                        "x": 297.5,
                        "y": 461.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/LargeIsland/LargeIsland_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 2044.5,
                        "y": 48
                      },
                      {
                        "x": 1662.5,
                        "y": 490.5
                      },
                      {
                        "x": 865,
                        "y": 786
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      }
                    ],
                    [
                      {
                        "x": 71.5,
                        "y": 278
                      },
                      {
                        "x": 80,
                        "y": 60.5
                      },
                      {
                        "x": 664.5,
                        "y": 48
                      },
                      {
                        "x": 624.5,
                        "y": 530
                      },
                      {
                        "x": 297.5,
                        "y": 461.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "StaticPlatform2",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 44.5,
                        "y": 120
                      },
                      {
                        "x": 19,
                        "y": 56.5
                      },
                      {
                        "x": 998,
                        "y": 29
                      },
                      {
                        "x": 950.5,
                        "y": 163
                      },
                      {
                        "x": 446,
                        "y": 306.5
                      },
                      {
                        "x": 123.5,
                        "y": 166.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 44.5,
                        "y": 120
                      },
                      {
                        "x": 19,
                        "y": 56.5
                      },
                      {
                        "x": 998,
                        "y": 29
                      },
                      {
                        "x": 950.5,
                        "y": 163
                      },
                      {
                        "x": 446,
                        "y": 306.5
                      },
                      {
                        "x": 123.5,
                        "y": 166.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 44.5,
                        "y": 120
                      },
                      {
                        "x": 19,
                        "y": 56.5
                      },
                      {
                        "x": 998,
                        "y": 29
                      },
                      {
                        "x": 950.5,
                        "y": 163
                      },
                      {
                        "x": 446,
                        "y": 306.5
                      },
                      {
                        "x": 123.5,
                        "y": 166.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 44.5,
                        "y": 120
                      },
                      {
                        "x": 19,
                        "y": 56.5
                      },
                      {
                        "x": 998,
                        "y": 29
                      },
                      {
                        "x": 950.5,
                        "y": 163
                      },
                      {
                        "x": 446,
                        "y": 306.5
                      },
                      {
                        "x": 123.5,
                        "y": 166.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 44.5,
                        "y": 120
                      },
                      {
                        "x": 19,
                        "y": 56.5
                      },
                      {
                        "x": 998,
                        "y": 29
                      },
                      {
                        "x": 950.5,
                        "y": 163
                      },
                      {
                        "x": 446,
                        "y": 306.5
                      },
                      {
                        "x": 123.5,
                        "y": 166.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Platforms/Static/MediumIsland/MediumIsland_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 44.5,
                        "y": 120
                      },
                      {
                        "x": 19,
                        "y": 56.5
                      },
                      {
                        "x": 998,
                        "y": 29
                      },
                      {
                        "x": 950.5,
                        "y": 163
                      },
                      {
                        "x": 446,
                        "y": 306.5
                      },
                      {
                        "x": 123.5,
                        "y": 166.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "HorizontalMovingPlatformRight",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement",
          "Width": 500,
          "Height": 0,
          "Clockwise": true,
          "HorizontalEdgeDuration": 3,
          "VerticalEdgeDuration": 0,
          "Left": 1,
          "Top": 1,
          "Progress": 1,
          "OldX": 1,
          "OldY": 1,
          "Easing": "easeInOutSine",
          "InitialPosition": "Top-left corner",
          "ToogleClockwise": false
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandRight_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 38,
                        "y": 32
                      },
                      {
                        "x": 999,
                        "y": 32
                      },
                      {
                        "x": 942,
                        "y": 235
                      },
                      {
                        "x": 693,
                        "y": 437.5
                      },
                      {
                        "x": 152,
                        "y": 432
                      },
                      {
                        "x": 35,
                        "y": 261.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandRIght_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 38,
                        "y": 32
                      },
                      {
                        "x": 999,
                        "y": 32
                      },
                      {
                        "x": 942,
                        "y": 235
                      },
                      {
                        "x": 693,
                        "y": 437.5
                      },
                      {
                        "x": 152,
                        "y": 432
                      },
                      {
                        "x": 35,
                        "y": 261.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandRight_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 38,
                        "y": 32
                      },
                      {
                        "x": 999,
                        "y": 32
                      },
                      {
                        "x": 942,
                        "y": 235
                      },
                      {
                        "x": 693,
                        "y": 437.5
                      },
                      {
                        "x": 152,
                        "y": 432
                      },
                      {
                        "x": 35,
                        "y": 261.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandRight_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 38,
                        "y": 32
                      },
                      {
                        "x": 999,
                        "y": 32
                      },
                      {
                        "x": 942,
                        "y": 235
                      },
                      {
                        "x": 693,
                        "y": 437.5
                      },
                      {
                        "x": 152,
                        "y": 432
                      },
                      {
                        "x": 35,
                        "y": 261.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandRight_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 38,
                        "y": 32
                      },
                      {
                        "x": 999,
                        "y": 32
                      },
                      {
                        "x": 942,
                        "y": 235
                      },
                      {
                        "x": 693,
                        "y": 437.5
                      },
                      {
                        "x": 152,
                        "y": 432
                      },
                      {
                        "x": 35,
                        "y": 261.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandRIght_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 38,
                        "y": 32
                      },
                      {
                        "x": 999,
                        "y": 32
                      },
                      {
                        "x": 942,
                        "y": 235
                      },
                      {
                        "x": 693,
                        "y": 437.5
                      },
                      {
                        "x": 152,
                        "y": 432
                      },
                      {
                        "x": 35,
                        "y": 261.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "StaticPlatform1",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": false,
                  "image": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                },
                {
                  "hasCustomCollisionMask": false,
                  "image": "Assets/Images/Common/Platforms/Static/RectangularPlatform/RectangularPlatform_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "Portal",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Effect",
          "doubleParameters": {
            "bloomScale": 0.7,
            "blur": 4,
            "brightness": 0.7,
            "padding": 0,
            "quality": 7,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.4,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Portal/Portal_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 89.5,
                        "y": 211.5
                      },
                      {
                        "x": 313.5,
                        "y": 42.5
                      },
                      {
                        "x": 608.5,
                        "y": 167.5
                      },
                      {
                        "x": 597.5,
                        "y": 1022.5
                      },
                      {
                        "x": 55.5,
                        "y": 1024
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Portal/Portal_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 89.5,
                        "y": 211.5
                      },
                      {
                        "x": 313.5,
                        "y": 42.5
                      },
                      {
                        "x": 608.5,
                        "y": 167.5
                      },
                      {
                        "x": 597.5,
                        "y": 1022.5
                      },
                      {
                        "x": 55.5,
                        "y": 1024
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Ladder",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": true,
          "platformType": "Ladder",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Ladder/Ladder_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 768
                      },
                      {
                        "x": 0,
                        "y": 768
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Ladder/Ladder_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 768
                      },
                      {
                        "x": 0,
                        "y": 768
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Ladder/Ladder_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 768
                      },
                      {
                        "x": 0,
                        "y": 768
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Ladder/Ladder_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 768
                      },
                      {
                        "x": 0,
                        "y": 768
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Ladder/Ladder_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 768
                      },
                      {
                        "x": 0,
                        "y": 768
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Ladder/Ladder_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 0
                      },
                      {
                        "x": 256,
                        "y": 768
                      },
                      {
                        "x": 0,
                        "y": 768
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "additive": true,
      "assetStoreId": "",
      "destroyWhenNoParticles": true,
      "emitterAngleA": 0,
      "emitterAngleB": 360,
      "emitterForceMax": 300,
      "emitterForceMin": 250,
      "flow": 1000,
      "jumpForwardInTimeOnCreation": 0,
      "maxParticleNb": 250,
      "name": "BloodParticles",
      "particleAlpha1": 200,
      "particleAlpha2": 0,
      "particleAlphaRandomness1": 0,
      "particleAlphaRandomness2": 0,
      "particleAngle1": 0,
      "particleAngle2": 0,
      "particleAngleRandomness1": 0,
      "particleAngleRandomness2": 0,
      "particleBlue1": 0,
      "particleBlue2": 0,
      "particleGravityX": 5,
      "particleGravityY": 750,
      "particleGreen1": 0,
      "particleGreen2": 0,
      "particleLifeTimeMax": 2,
      "particleLifeTimeMin": 1.5,
      "particleRed1": 255,
      "particleRed2": 0,
      "particleSize1": 10,
      "particleSize2": 2,
      "particleSizeRandomness1": 0,
      "particleSizeRandomness2": 0,
      "rendererParam1": 10,
      "rendererParam2": 1,
      "rendererType": "Quad",
      "tank": 250,
      "textureParticleName": "AssetDev/Particles/Drop/Drop.png",
      "type": "ParticleSystem::ParticleEmitter",
      "zoneRadius": 10,
      "variables": [],
      "effects": [],
      "behaviors": []
    },
    {
      "additive": true,
      "assetStoreId": "",
      "destroyWhenNoParticles": true,
      "emitterAngleA": 0,
      "emitterAngleB": 360,
      "emitterForceMax": 250,
      "emitterForceMin": 200,
      "flow": 1000,
      "jumpForwardInTimeOnCreation": 0,
      "maxParticleNb": 75,
      "name": "ProjectileDeathParticles",
      "particleAlpha1": 200,
      "particleAlpha2": 0,
      "particleAlphaRandomness1": 0,
      "particleAlphaRandomness2": 0,
      "particleAngle1": 0,
      "particleAngle2": 0,
      "particleAngleRandomness1": 0,
      "particleAngleRandomness2": 0,
      "particleBlue1": 255,
      "particleBlue2": 100,
      "particleGravityX": 5,
      "particleGravityY": 750,
      "particleGreen1": 255,
      "particleGreen2": 100,
      "particleLifeTimeMax": 1.5,
      "particleLifeTimeMin": 0.5,
      "particleRed1": 255,
      "particleRed2": 100,
      "particleSize1": 100,
      "particleSize2": 100,
      "particleSizeRandomness1": 0,
      "particleSizeRandomness2": 0,
      "rendererParam1": 5,
      "rendererParam2": 1,
      "rendererType": "Point",
      "tank": 200,
      "textureParticleName": "",
      "type": "ParticleSystem::ParticleEmitter",
      "zoneRadius": 1,
      "variables": [],
      "effects": [],
      "behaviors": []
    },
    {
      "additive": true,
      "assetStoreId": "",
      "destroyWhenNoParticles": true,
      "emitterAngleA": 0,
      "emitterAngleB": 360,
      "emitterForceMax": 45,
      "emitterForceMin": 30,
      "flow": 40,
      "jumpForwardInTimeOnCreation": 0,
      "maxParticleNb": 400,
      "name": "DoorParticles",
      "particleAlpha1": 100,
      "particleAlpha2": 0,
      "particleAlphaRandomness1": 0,
      "particleAlphaRandomness2": 0,
      "particleAngle1": 0,
      "particleAngle2": 0,
      "particleAngleRandomness1": 0,
      "particleAngleRandomness2": 0,
      "particleBlue1": 255,
      "particleBlue2": 255,
      "particleGravityX": 0,
      "particleGravityY": 0,
      "particleGreen1": 255,
      "particleGreen2": 255,
      "particleLifeTimeMax": 5,
      "particleLifeTimeMin": 1,
      "particleRed1": 255,
      "particleRed2": 255,
      "particleSize1": 100,
      "particleSize2": 100,
      "particleSizeRandomness1": 0,
      "particleSizeRandomness2": 0,
      "rendererParam1": 3.5,
      "rendererParam2": 1,
      "rendererType": "Point",
      "tank": -1,
      "textureParticleName": "",
      "type": "ParticleSystem::ParticleEmitter",
      "zoneRadius": 7,
      "variables": [],
      "effects": [],
      "behaviors": []
    },
    {
      "additive": false,
      "assetStoreId": "",
      "destroyWhenNoParticles": true,
      "emitterAngleA": 0,
      "emitterAngleB": 30,
      "emitterForceMax": 40,
      "emitterForceMin": 20,
      "flow": 200,
      "jumpForwardInTimeOnCreation": 0,
      "maxParticleNb": 300,
      "name": "DustParticle",
      "particleAlpha1": 255,
      "particleAlpha2": 0,
      "particleAlphaRandomness1": 0,
      "particleAlphaRandomness2": 0,
      "particleAngle1": 0,
      "particleAngle2": 0,
      "particleAngleRandomness1": 0,
      "particleAngleRandomness2": 0,
      "particleBlue1": 255,
      "particleBlue2": 255,
      "particleGravityX": 0,
      "particleGravityY": 0,
      "particleGreen1": 255,
      "particleGreen2": 255,
      "particleLifeTimeMax": 1.5,
      "particleLifeTimeMin": 0.5,
      "particleRed1": 255,
      "particleRed2": 255,
      "particleSize1": 100,
      "particleSize2": 50,
      "particleSizeRandomness1": 0,
      "particleSizeRandomness2": 0,
      "rendererParam1": 6,
      "rendererParam2": 1,
      "rendererType": "Point",
      "tank": 5,
      "textureParticleName": "",
      "type": "ParticleSystem::ParticleEmitter",
      "zoneRadius": 10,
      "variables": [],
      "effects": [],
      "behaviors": []
    },
    {
      "assetStoreId": "c807d51d4bab0016401aef4d64d10d137f5ac8738ffa15865e1bc81435b9720b",
      "name": "LivesBar",
      "type": "TiledUnitsBar::TiledUnitsBar",
      "variables": [],
      "effects": [],
      "behaviors": [],
      "content": {
        "UnitWidth": 96,
        "HideBackground": true,
        "ShowBackground": false,
        "InitialValue": 5,
        "MaxValue": 5
      },
      "childrenContent": {
        "Background": {
          "bottomMargin": 0,
          "height": 64,
          "leftMargin": 0,
          "rightMargin": 0,
          "texture": "AssetDev/HeartCoin/HeartIcon_Blank.png",
          "tiled": false,
          "topMargin": 0,
          "width": 240
        },
        "Bar": {
          "height": 96,
          "texture": "AssetDev/HeartCoin/HeartIcon_Blank.png",
          "width": 96
        },
        "FillBar": {
          "height": 96,
          "texture": "AssetDev/HeartCoin/HeartIcon.png",
          "width": 69
        }
      }
    },
    {
      "assetStoreId": "45827f5ecff9d1cc17847c948a055323dbd4ca63159a0ed696d49ddf18bd071e",
      "name": "HopeBar",
      "type": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
      "variables": [],
      "effects": [],
      "behaviors": [],
      "content": {
        "BarTopPadding": 3,
        "BarLeftPadding": 4,
        "BarRightPadding": 4,
        "BarBottomPadding": 4,
        "EasingDuration": 0.25,
        "PreviousHighValueDuration": 0,
        "ShowLabel": false,
        "InitialValue": 0,
        "MaxValue": 18
      },
      "childrenContent": {
        "Background": {
          "bottomMargin": 4,
          "height": 26,
          "leftMargin": 2,
          "rightMargin": 2,
          "texture": "Assets\\Images\\UI\\HopeBar\\GraduatedHopeBar_Frame.png",
          "tiled": false,
          "topMargin": 3,
          "width": 118
        },
        "Buffer": {
          "bottomMargin": 0,
          "height": 19,
          "leftMargin": 0,
          "rightMargin": 0,
          "texture": "Assets\\Images\\UI\\HopeBar\\GraduatedHopeBar_Content.png",
          "tiled": true,
          "topMargin": 0,
          "width": 21
        },
        "FillBar": {
          "bottomMargin": 0,
          "height": 19,
          "leftMargin": 0,
          "rightMargin": 0,
          "texture": "Assets\\Images\\UI\\HopeBar\\GraduatedHopeBar_Content.png",
          "tiled": true,
          "topMargin": 0,
          "width": 21
        },
        "Label": {
          "bold": false,
          "italic": false,
          "smoothed": true,
          "underlined": false,
          "string": "2 / 3",
          "font": "",
          "textAlignment": "",
          "characterSize": 20,
          "color": {
            "b": 0,
            "g": 0,
            "r": 0
          }
        }
      }
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Memory",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "Glow",
          "name": "Effect",
          "doubleParameters": {
            "distance": 15,
            "innerStrength": 2,
            "outerStrength": 4
          },
          "stringParameters": {
            "color": "255;255;255"
          },
          "booleanParameters": {}
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "Mountains",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Mountains1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Mountains2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Mountains3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Mountains4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Mountains3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Mountains2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Beach",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Beach1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Beach2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Beach3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Beach4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Beach3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Beach2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Forest",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Forest1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Forest2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Forest3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Forest4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Forest3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Forest2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Ocean",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Ocean1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Ocean2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Ocean3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Ocean4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Ocean3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_Ocean2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "LivingRoom",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_LivingRoom1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_LivingRoom2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_LivingRoom3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_LivingRoom4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_LivingRoom3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_LivingRoom2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "School",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_School1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_School2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_School3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_School4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_School3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_School2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "WhimsicalTree",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_WhimsicalTree1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_WhimsicalTree2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_WhimsicalTree3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_WhimsicalTree4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_WhimsicalTree3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Memories/Memories_WhimsicalTree2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "BlockWorld",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_BlockWorld1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_BlockWorld2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_BlockWorld3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_BlockWorld4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_BlockWorld3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_BlockWorld2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "TangentHell",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_TangentHell1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_TangentHell2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_TangentHell3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_TangentHell4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_TangentHell3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_TangentHell2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Recursion",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Recursion1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Recursion2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Recursion3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Recursion4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Recursion3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Recursion2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Linux",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Linux1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Linux2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Linux3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Linux4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Linux3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Linux2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "Boss",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Boss1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Boss2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Boss3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Boss4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Boss3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Memories\\Memories_Boss2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 13,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 57
                      },
                      {
                        "x": 976,
                        "y": 916
                      },
                      {
                        "x": 13,
                        "y": 916
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "UI_Sinage_DeathText",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/YouDied/YouDied.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 69,
                        "y": 132
                      },
                      {
                        "x": 1883,
                        "y": 132
                      },
                      {
                        "x": 1883,
                        "y": 914
                      },
                      {
                        "x": 69,
                        "y": 914
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "UI_Sinage_MemoryAcquired",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/MemoryAcquired/MemoryAcquired.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 26,
                        "y": 106
                      },
                      {
                        "x": 1970,
                        "y": 106
                      },
                      {
                        "x": 1970,
                        "y": 974
                      },
                      {
                        "x": 26,
                        "y": 974
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "UI_Sinage_Lives",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/Lives/Lives.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 19,
                        "y": 33
                      },
                      {
                        "x": 759,
                        "y": 33
                      },
                      {
                        "x": 759,
                        "y": 252
                      },
                      {
                        "x": 19,
                        "y": 252
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "UI_Sinage_Hope",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\UI\\Hope\\Hope.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 35,
                        "y": 56
                      },
                      {
                        "x": 503,
                        "y": 56
                      },
                      {
                        "x": 503,
                        "y": 230
                      },
                      {
                        "x": 35,
                        "y": 230
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "assetStoreId": "a48315b9a9c655af87118d7bb8f6be03b4dbb14e066387849b2d2d4c3600573c",
      "name": "UI_Sinage_RetryButton",
      "type": "PanelSpriteButton::PanelSpriteButton",
      "variables": [],
      "effects": [],
      "behaviors": [],
      "content": {
        "LeftPadding": 16,
        "RightPadding": 16,
        "PressedLabelOffsetY": 3,
        "BottomPadding": 24,
        "TopPadding": 16,
        "HoveredFadeOutDuration": 0.25
      },
      "childrenContent": {
        "Hovered": {
          "bottomMargin": 16,
          "height": 69,
          "leftMargin": 16,
          "rightMargin": 16,
          "texture": "Assets\\Images\\UI\\Labels\\TryAgain\\TryAgainButton_Hovered.png",
          "tiled": true,
          "topMargin": 16,
          "width": 192
        },
        "Idle": {
          "bottomMargin": 16,
          "height": 69,
          "leftMargin": 16,
          "rightMargin": 16,
          "texture": "Assets\\Images\\UI\\Labels\\TryAgain\\TryAgainButton_Idle.png",
          "tiled": true,
          "topMargin": 16,
          "width": 192
        },
        "Label": {
          "bold": false,
          "italic": false,
          "smoothed": true,
          "underlined": false,
          "string": "",
          "font": "CantoraOne-Regular.ttf",
          "textAlignment": "center",
          "characterSize": 40,
          "color": {
            "b": 255,
            "g": 255,
            "r": 255
          }
        },
        "Pressed": {
          "bottomMargin": 16,
          "height": 69,
          "leftMargin": 16,
          "rightMargin": 16,
          "texture": "Assets\\Images\\UI\\Labels\\TryAgain\\TryAgainButton_Pressed.png",
          "tiled": true,
          "topMargin": 16,
          "width": 192
        }
      }
    },
    {
      "assetStoreId": "",
      "height": 32,
      "name": "UI_Sinage_Background",
      "texture": "Assets/Images/Common/Black/Black.png",
      "type": "TiledSpriteObject::TiledSprite",
      "width": 32,
      "variables": [],
      "effects": [],
      "behaviors": []
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "HorizontalDemon",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": true
        },
        {
          "name": "IsDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "LifeForce",
          "type": "number",
          "value": 2.5
        },
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement",
          "Vertical": false,
          "Speed": 300,
          "Distance": 800,
          "Timeout": 2,
          "StartPosition": 0,
          "LastPosition": 0,
          "Timecheck": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 8
                      },
                      {
                        "x": 925,
                        "y": 8
                      },
                      {
                        "x": 925,
                        "y": 1013
                      },
                      {
                        "x": 52,
                        "y": 1013
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 8
                      },
                      {
                        "x": 925,
                        "y": 8
                      },
                      {
                        "x": 925,
                        "y": 1013
                      },
                      {
                        "x": 52,
                        "y": 1013
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 8
                      },
                      {
                        "x": 925,
                        "y": 8
                      },
                      {
                        "x": 925,
                        "y": 1013
                      },
                      {
                        "x": 52,
                        "y": 1013
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/HorizontalDemon/HorizontalDemon_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 8
                      },
                      {
                        "x": 925,
                        "y": 8
                      },
                      {
                        "x": 925,
                        "y": 1013
                      },
                      {
                        "x": 52,
                        "y": 1013
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "SpikeDemon_Base",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "FireFrequencyTime",
          "type": "number",
          "value": 7
        },
        {
          "folded": true,
          "name": "FireOffsetTime",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "CanShootOffscreen",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "CurrentlyChargingUp",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "NeedsOffsetReset",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "IsDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "LifeForce",
          "type": "number",
          "value": 2
        },
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 7,
            "brightness": 2,
            "padding": 0,
            "quality": 7,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/ShootingSpikeDemon/ShootingSpikeDemon_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 35,
                        "y": 25
                      },
                      {
                        "x": 973,
                        "y": 25
                      },
                      {
                        "x": 973,
                        "y": 988
                      },
                      {
                        "x": 35,
                        "y": 988
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/ShootingSpikeDemon/ShootingSpikeDemon_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 35,
                        "y": 25
                      },
                      {
                        "x": 973,
                        "y": 25
                      },
                      {
                        "x": 973,
                        "y": 988
                      },
                      {
                        "x": 35,
                        "y": 988
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/ShootingSpikeDemon/ShootingSpikeDemon_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 35,
                        "y": 25
                      },
                      {
                        "x": 973,
                        "y": 25
                      },
                      {
                        "x": 973,
                        "y": 988
                      },
                      {
                        "x": 35,
                        "y": 988
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/ShootingSpikeDemon/ShootingSpikeDemon_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 35,
                        "y": 25
                      },
                      {
                        "x": 973,
                        "y": 25
                      },
                      {
                        "x": 973,
                        "y": 988
                      },
                      {
                        "x": 35,
                        "y": 988
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "SpikeDemon_Spike",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile",
          "MaxLifetime": 3,
          "MaxDistanceFromStartingPosition": 1750,
          "MaxSpeed": 0,
          "MinSpeed": 0,
          "Acceleration": 0,
          "StartingSpeed": 500,
          "DeleteWhenLifetimeExceeded": true,
          "DeleteWhenDistanceExceeded": true
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/ShootingSpikeDemon/Spike_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 55,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 391
                      },
                      {
                        "x": 55,
                        "y": 391
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/ShootingSpikeDemon/Spike_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 55,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 391
                      },
                      {
                        "x": 55,
                        "y": 391
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/ShootingSpikeDemon/Spike_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 55,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 391
                      },
                      {
                        "x": 55,
                        "y": 391
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/ShootingSpikeDemon/Spike_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 55,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 391
                      },
                      {
                        "x": 55,
                        "y": 391
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/ShootingSpikeDemon/Spike_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 55,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 391
                      },
                      {
                        "x": 55,
                        "y": 391
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/ShootingSpikeDemon/Spike_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 55,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 108
                      },
                      {
                        "x": 472,
                        "y": 391
                      },
                      {
                        "x": 55,
                        "y": 391
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "VerticalMovingPlatformDown",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement",
          "RadiusX": 0,
          "RadiusY": 300,
          "LoopDuration": 6,
          "InitialTurningLeft": false,
          "InitialDirectionAngle": 0,
          "ShouldRotate": false,
          "RotationOffset": 0,
          "CenterX": 0,
          "CenterY": 0,
          "MovementAngle": 0,
          "OldX": 0,
          "OldY": 0
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 64.5
                      },
                      {
                        "x": 933,
                        "y": 67
                      },
                      {
                        "x": 947.5,
                        "y": 971.5
                      },
                      {
                        "x": 36.5,
                        "y": 973
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 64.5
                      },
                      {
                        "x": 933,
                        "y": 67
                      },
                      {
                        "x": 947.5,
                        "y": 971.5
                      },
                      {
                        "x": 36.5,
                        "y": 973
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 64.5
                      },
                      {
                        "x": 933,
                        "y": 67
                      },
                      {
                        "x": 947.5,
                        "y": 971.5
                      },
                      {
                        "x": 36.5,
                        "y": 973
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 64.5
                      },
                      {
                        "x": 933,
                        "y": 67
                      },
                      {
                        "x": 947.5,
                        "y": 971.5
                      },
                      {
                        "x": 36.5,
                        "y": 973
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "FlippingPlatform",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "StalactiteDemon_Base",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "FireFrequencyTime",
          "type": "number",
          "value": 6.5
        },
        {
          "folded": true,
          "name": "FireOffsetTime",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "CanShootOffscreen",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "CurrentlyChargingUp",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "NeedsOffsetReset",
          "type": "boolean",
          "value": true
        },
        {
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        },
        {
          "name": "IsDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "name": "LifeForce",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 7,
            "brightness": 2,
            "padding": 0,
            "quality": 7,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 6,
            "greenX": 0,
            "greenY": 0,
            "redX": -6,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\StalactiteDemon_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 131,
                        "y": 496
                      },
                      {
                        "x": 40,
                        "y": 50
                      },
                      {
                        "x": 943,
                        "y": 50
                      },
                      {
                        "x": 768,
                        "y": 442.5
                      },
                      {
                        "x": 506.5,
                        "y": 698.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\StalactiteDemon_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 131,
                        "y": 496
                      },
                      {
                        "x": 40,
                        "y": 50
                      },
                      {
                        "x": 943,
                        "y": 50
                      },
                      {
                        "x": 768,
                        "y": 442.5
                      },
                      {
                        "x": 506.5,
                        "y": 698.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\StalactiteDemon_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 131,
                        "y": 496
                      },
                      {
                        "x": 40,
                        "y": 50
                      },
                      {
                        "x": 943,
                        "y": 50
                      },
                      {
                        "x": 768,
                        "y": 442.5
                      },
                      {
                        "x": 506.5,
                        "y": 698.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\StalactiteDemon_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 131,
                        "y": 496
                      },
                      {
                        "x": 40,
                        "y": 50
                      },
                      {
                        "x": 943,
                        "y": 50
                      },
                      {
                        "x": 768,
                        "y": 442.5
                      },
                      {
                        "x": 506.5,
                        "y": 698.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "StalactiteDemon_Spike",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        }
      ],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 6,
            "greenX": 0,
            "greenY": 0,
            "redX": -6,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile",
          "MaxLifetime": 0,
          "MaxDistanceFromStartingPosition": 1750,
          "MaxSpeed": 0,
          "MinSpeed": 0,
          "Acceleration": 0,
          "StartingSpeed": 550,
          "DeleteWhenLifetimeExceeded": true,
          "DeleteWhenDistanceExceeded": true
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "StalagmiteDemon_Base",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "FireFrequencyTime",
          "type": "number",
          "value": 6.5
        },
        {
          "folded": true,
          "name": "FireOffsetTime",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "CanShootOffscreen",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "CurrentlyChargingUp",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "NeedsOffsetReset",
          "type": "boolean",
          "value": true
        },
        {
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        },
        {
          "name": "IsDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "name": "LifeForce",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 6,
            "greenX": 0,
            "greenY": 0,
            "redX": -6,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 7,
            "brightness": 2,
            "padding": 0,
            "quality": 7,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 40,
                        "y": 50
                      },
                      {
                        "x": 943,
                        "y": 50
                      },
                      {
                        "x": 768,
                        "y": 442.5
                      },
                      {
                        "x": 506.5,
                        "y": 698.5
                      },
                      {
                        "x": 131,
                        "y": 496
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 40,
                        "y": 50
                      },
                      {
                        "x": 943,
                        "y": 50
                      },
                      {
                        "x": 768,
                        "y": 442.5
                      },
                      {
                        "x": 506.5,
                        "y": 698.5
                      },
                      {
                        "x": 131,
                        "y": 496
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 40,
                        "y": 50
                      },
                      {
                        "x": 943,
                        "y": 50
                      },
                      {
                        "x": 768,
                        "y": 442.5
                      },
                      {
                        "x": 506.5,
                        "y": 698.5
                      },
                      {
                        "x": 131,
                        "y": 496
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Entities/StalactiteDemon/StalactiteDemon_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 40,
                        "y": 50
                      },
                      {
                        "x": 943,
                        "y": 50
                      },
                      {
                        "x": 768,
                        "y": 442.5
                      },
                      {
                        "x": 506.5,
                        "y": 698.5
                      },
                      {
                        "x": 131,
                        "y": 496
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "FlippingPlatform2",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/FlippingPlatform/FlippingPlatform_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 978,
                        "y": 456
                      },
                      {
                        "x": 387,
                        "y": 251.5
                      },
                      {
                        "x": 14,
                        "y": 60
                      },
                      {
                        "x": 590,
                        "y": 43
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "assetStoreId": "a48315b9a9c655af87118d7bb8f6be03b4dbb14e066387849b2d2d4c3600573c",
      "name": "UI_Sinage_ProceedButton",
      "type": "PanelSpriteButton::PanelSpriteButton",
      "variables": [],
      "effects": [],
      "behaviors": [],
      "content": {
        "LeftPadding": 16,
        "RightPadding": 16,
        "PressedLabelOffsetY": 3,
        "BottomPadding": 24,
        "TopPadding": 16,
        "HoveredFadeOutDuration": 0.25
      },
      "childrenContent": {
        "Hovered": {
          "bottomMargin": 16,
          "height": 69,
          "leftMargin": 16,
          "rightMargin": 16,
          "texture": "AssetDev\\Sinage\\ProceedButton\\ProceedButton_Hovered.png",
          "tiled": true,
          "topMargin": 16,
          "width": 192
        },
        "Idle": {
          "bottomMargin": 16,
          "height": 69,
          "leftMargin": 16,
          "rightMargin": 16,
          "texture": "AssetDev\\Sinage\\ProceedButton\\ProceedButton_Idle.png",
          "tiled": true,
          "topMargin": 16,
          "width": 192
        },
        "Label": {
          "bold": false,
          "italic": false,
          "smoothed": true,
          "underlined": false,
          "string": "",
          "font": "CantoraOne-Regular.ttf",
          "textAlignment": "center",
          "characterSize": 40,
          "color": {
            "b": 255,
            "g": 255,
            "r": 255
          }
        },
        "Pressed": {
          "bottomMargin": 16,
          "height": 69,
          "leftMargin": 16,
          "rightMargin": 16,
          "texture": "AssetDev\\Sinage\\ProceedButton\\ProceedButton_Pressed.png",
          "tiled": true,
          "topMargin": 16,
          "width": 192
        }
      }
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "LaserDemon_Beam",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OnOffTime",
          "type": "number",
          "value": 4
        },
        {
          "folded": true,
          "name": "FireOffsetTime",
          "type": "number",
          "value": 4
        },
        {
          "folded": true,
          "name": "CurrentlyChargingOrHasChargedUp",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "CurrentlyChargingOrHasChargedDown",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "OrgPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OrgPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 4,
            "brightness": 0.45,
            "padding": 10,
            "quality": 5,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 53,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 53,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 53,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 53,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 53,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 53,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 53,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 53,
                        "y": 256
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "LaserDemon_Base",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OnOffTime",
          "type": "number",
          "value": 4
        },
        {
          "folded": true,
          "name": "FireOffsetTime",
          "type": "number",
          "value": 4
        },
        {
          "folded": true,
          "name": "CurrentlyChargingOrHasChargedUp",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "CurrentlyChargingOrHasChargedDown",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "NeedsOffsetReset",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 5,
            "brightness": 2,
            "padding": 0,
            "quality": 5,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom 2",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 5,
            "brightness": 2,
            "padding": 0,
            "quality": 5,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 6,
            "greenX": 0,
            "greenY": 0,
            "redX": -6,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "assetStoreId": "",
      "bold": false,
      "italic": false,
      "name": "Test",
      "smoothed": true,
      "type": "TextObject::Text",
      "underlined": false,
      "variables": [],
      "effects": [],
      "behaviors": [],
      "string": "test",
      "font": "",
      "textAlignment": "left",
      "characterSize": 50,
      "color": {
        "b": 0,
        "g": 0,
        "r": 255
      }
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "HorizontalMovingPlatformLeft",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement",
          "Width": -500,
          "Height": 0,
          "Clockwise": true,
          "HorizontalEdgeDuration": 3,
          "VerticalEdgeDuration": 0,
          "Left": 1,
          "Top": 1,
          "Progress": 1,
          "OldX": 1,
          "OldY": 1,
          "Easing": "easeInOutSine",
          "InitialPosition": "Top-left corner",
          "ToogleClockwise": false
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandLeft_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 25,
                        "y": 32
                      },
                      {
                        "x": 35.5,
                        "y": 145
                      },
                      {
                        "x": 168.5,
                        "y": 335
                      },
                      {
                        "x": 301.5,
                        "y": 418.5
                      },
                      {
                        "x": 401.5,
                        "y": 435.5
                      },
                      {
                        "x": 747.5,
                        "y": 435.5
                      },
                      {
                        "x": 887,
                        "y": 414.5
                      },
                      {
                        "x": 989,
                        "y": 261.5
                      },
                      {
                        "x": 986,
                        "y": 32
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandLeft_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 25,
                        "y": 32
                      },
                      {
                        "x": 35.5,
                        "y": 145
                      },
                      {
                        "x": 168.5,
                        "y": 335
                      },
                      {
                        "x": 301.5,
                        "y": 418.5
                      },
                      {
                        "x": 401.5,
                        "y": 435.5
                      },
                      {
                        "x": 747.5,
                        "y": 435.5
                      },
                      {
                        "x": 887,
                        "y": 414.5
                      },
                      {
                        "x": 989,
                        "y": 261.5
                      },
                      {
                        "x": 986,
                        "y": 32
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandLeft_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 25,
                        "y": 32
                      },
                      {
                        "x": 35.5,
                        "y": 145
                      },
                      {
                        "x": 168.5,
                        "y": 335
                      },
                      {
                        "x": 301.5,
                        "y": 418.5
                      },
                      {
                        "x": 401.5,
                        "y": 435.5
                      },
                      {
                        "x": 747.5,
                        "y": 435.5
                      },
                      {
                        "x": 887,
                        "y": 414.5
                      },
                      {
                        "x": 989,
                        "y": 261.5
                      },
                      {
                        "x": 986,
                        "y": 32
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandLeft_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 25,
                        "y": 32
                      },
                      {
                        "x": 35.5,
                        "y": 145
                      },
                      {
                        "x": 168.5,
                        "y": 335
                      },
                      {
                        "x": 301.5,
                        "y": 418.5
                      },
                      {
                        "x": 401.5,
                        "y": 435.5
                      },
                      {
                        "x": 747.5,
                        "y": 435.5
                      },
                      {
                        "x": 887,
                        "y": 414.5
                      },
                      {
                        "x": 989,
                        "y": 261.5
                      },
                      {
                        "x": 986,
                        "y": 32
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandLeft_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 25,
                        "y": 32
                      },
                      {
                        "x": 35.5,
                        "y": 145
                      },
                      {
                        "x": 168.5,
                        "y": 335
                      },
                      {
                        "x": 301.5,
                        "y": 418.5
                      },
                      {
                        "x": 401.5,
                        "y": 435.5
                      },
                      {
                        "x": 747.5,
                        "y": 435.5
                      },
                      {
                        "x": 887,
                        "y": 414.5
                      },
                      {
                        "x": 989,
                        "y": 261.5
                      },
                      {
                        "x": 986,
                        "y": 32
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\MovingIsland\\MovingIslandLeft_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 25,
                        "y": 32
                      },
                      {
                        "x": 35.5,
                        "y": 145
                      },
                      {
                        "x": 168.5,
                        "y": 335
                      },
                      {
                        "x": 301.5,
                        "y": 418.5
                      },
                      {
                        "x": 401.5,
                        "y": 435.5
                      },
                      {
                        "x": 747.5,
                        "y": 435.5
                      },
                      {
                        "x": 887,
                        "y": 414.5
                      },
                      {
                        "x": 989,
                        "y": 261.5
                      },
                      {
                        "x": 986,
                        "y": 32
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "VerticalMovingPlatformUp",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement",
          "RadiusX": 0,
          "RadiusY": -300,
          "LoopDuration": 6,
          "InitialTurningLeft": false,
          "InitialDirectionAngle": 0,
          "ShouldRotate": false,
          "RotationOffset": 0,
          "CenterX": 0,
          "CenterY": 0,
          "MovementAngle": 0,
          "OldX": 0,
          "OldY": 0
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 64.5
                      },
                      {
                        "x": 933,
                        "y": 67
                      },
                      {
                        "x": 947.5,
                        "y": 971.5
                      },
                      {
                        "x": 36.5,
                        "y": 973
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 64.5
                      },
                      {
                        "x": 933,
                        "y": 67
                      },
                      {
                        "x": 947.5,
                        "y": 971.5
                      },
                      {
                        "x": 36.5,
                        "y": 973
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 64.5
                      },
                      {
                        "x": 933,
                        "y": 67
                      },
                      {
                        "x": 947.5,
                        "y": 971.5
                      },
                      {
                        "x": 36.5,
                        "y": 973
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Platforms/VerticalMovingPlatform/VerticalMovingPlatform_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52,
                        "y": 64.5
                      },
                      {
                        "x": 933,
                        "y": 67
                      },
                      {
                        "x": 947.5,
                        "y": 971.5
                      },
                      {
                        "x": 36.5,
                        "y": 973
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "SpinningPlatformClockwise",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement",
          "RadiusX": 600,
          "RadiusY": 600,
          "LoopDuration": 8,
          "InitialTurningLeft": false,
          "InitialDirectionAngle": 0,
          "ShouldRotate": false,
          "RotationOffset": 0,
          "CenterX": 0,
          "CenterY": 0,
          "MovementAngle": 0,
          "OldX": 0,
          "OldY": 0
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": true,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "SpinningPlatformCounterclockwise",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement",
          "RadiusX": -600,
          "RadiusY": 600,
          "LoopDuration": 8,
          "InitialTurningLeft": false,
          "InitialDirectionAngle": 0,
          "ShouldRotate": false,
          "RotationOffset": 0,
          "CenterX": 0,
          "CenterY": 0,
          "MovementAngle": 0,
          "OldX": 0,
          "OldY": 0
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": true,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "SpinningRotatingPlatformClockwise",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement",
          "RadiusX": 600,
          "RadiusY": 600,
          "LoopDuration": 8,
          "InitialTurningLeft": false,
          "InitialDirectionAngle": 0,
          "ShouldRotate": true,
          "RotationOffset": 0,
          "CenterX": 0,
          "CenterY": 0,
          "MovementAngle": 0,
          "OldX": 0,
          "OldY": 0
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": true,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformClockwise_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 268.5
                      },
                      {
                        "x": 129.5,
                        "y": 213
                      },
                      {
                        "x": 306,
                        "y": 165
                      },
                      {
                        "x": 751,
                        "y": 165
                      },
                      {
                        "x": 887,
                        "y": 223.5
                      },
                      {
                        "x": 947.5,
                        "y": 292
                      },
                      {
                        "x": 956,
                        "y": 445
                      },
                      {
                        "x": 23,
                        "y": 445
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformClockwise_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 268.5
                      },
                      {
                        "x": 129.5,
                        "y": 213
                      },
                      {
                        "x": 306,
                        "y": 165
                      },
                      {
                        "x": 751,
                        "y": 165
                      },
                      {
                        "x": 887,
                        "y": 223.5
                      },
                      {
                        "x": 947.5,
                        "y": 292
                      },
                      {
                        "x": 956,
                        "y": 445
                      },
                      {
                        "x": 23,
                        "y": 445
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformClockwise_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 268.5
                      },
                      {
                        "x": 129.5,
                        "y": 213
                      },
                      {
                        "x": 306,
                        "y": 165
                      },
                      {
                        "x": 751,
                        "y": 165
                      },
                      {
                        "x": 887,
                        "y": 223.5
                      },
                      {
                        "x": 947.5,
                        "y": 292
                      },
                      {
                        "x": 956,
                        "y": 445
                      },
                      {
                        "x": 23,
                        "y": 445
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformClockwise_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 268.5
                      },
                      {
                        "x": 129.5,
                        "y": 213
                      },
                      {
                        "x": 306,
                        "y": 165
                      },
                      {
                        "x": 751,
                        "y": 165
                      },
                      {
                        "x": 887,
                        "y": 223.5
                      },
                      {
                        "x": 947.5,
                        "y": 292
                      },
                      {
                        "x": 956,
                        "y": 445
                      },
                      {
                        "x": 23,
                        "y": 445
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformClockwise_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 268.5
                      },
                      {
                        "x": 129.5,
                        "y": 213
                      },
                      {
                        "x": 306,
                        "y": 165
                      },
                      {
                        "x": 751,
                        "y": 165
                      },
                      {
                        "x": 887,
                        "y": 223.5
                      },
                      {
                        "x": 947.5,
                        "y": 292
                      },
                      {
                        "x": 956,
                        "y": 445
                      },
                      {
                        "x": 23,
                        "y": 445
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformClockwise_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 268.5
                      },
                      {
                        "x": 129.5,
                        "y": 213
                      },
                      {
                        "x": 306,
                        "y": 165
                      },
                      {
                        "x": 751,
                        "y": 165
                      },
                      {
                        "x": 887,
                        "y": 223.5
                      },
                      {
                        "x": 947.5,
                        "y": 292
                      },
                      {
                        "x": 956,
                        "y": 445
                      },
                      {
                        "x": 23,
                        "y": 445
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "SpinningRotatingPlatformCounterclockwise",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement",
          "RadiusX": 600,
          "RadiusY": 600,
          "LoopDuration": 8,
          "InitialTurningLeft": true,
          "InitialDirectionAngle": 0,
          "ShouldRotate": true,
          "RotationOffset": 0,
          "CenterX": 0,
          "CenterY": 0,
          "MovementAngle": 0,
          "OldX": 0,
          "OldY": 0
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": true,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Platforms\\DiagonallyMovingPlatform\\SpinningPlatformCounterclockwise_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 28.5,
                        "y": 225.5
                      },
                      {
                        "x": 129.5,
                        "y": 299
                      },
                      {
                        "x": 306,
                        "y": 347
                      },
                      {
                        "x": 751,
                        "y": 347
                      },
                      {
                        "x": 887,
                        "y": 288.5
                      },
                      {
                        "x": 947.5,
                        "y": 220
                      },
                      {
                        "x": 956,
                        "y": 67
                      },
                      {
                        "x": 23,
                        "y": 67
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "StalagmiteDemon_Spike",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        }
      ],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 6,
            "greenX": 0,
            "greenY": 0,
            "redX": -6,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile",
          "MaxLifetime": 0,
          "MaxDistanceFromStartingPosition": 1750,
          "MaxSpeed": 0,
          "MinSpeed": 0,
          "Acceleration": 0,
          "StartingSpeed": 550,
          "DeleteWhenLifetimeExceeded": true,
          "DeleteWhenDistanceExceeded": true
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "LaserDemon_BasePermanent",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 5,
            "brightness": 2,
            "padding": 0,
            "quality": 5,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom 2",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 5,
            "brightness": 2,
            "padding": 0,
            "quality": 5,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 6,
            "greenX": 0,
            "greenY": 0,
            "redX": -6,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBase_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 170,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 145
                      },
                      {
                        "x": 870,
                        "y": 890
                      },
                      {
                        "x": 170,
                        "y": 890
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "LaserDemon_BeamPermanent",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 4,
            "brightness": 0.45,
            "padding": 10,
            "quality": 5,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 53,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 53,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 53,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 53,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 53,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 53,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeam_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 53,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 0
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 53,
                        "y": 256
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "LaserRing",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 4,
            "brightness": 0.45,
            "padding": 10,
            "quality": 5,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserRing1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 240,
                        "y": 239
                      },
                      {
                        "x": 783,
                        "y": 239
                      },
                      {
                        "x": 783,
                        "y": 782
                      },
                      {
                        "x": 240,
                        "y": 782
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserRing2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 240,
                        "y": 239
                      },
                      {
                        "x": 783,
                        "y": 239
                      },
                      {
                        "x": 783,
                        "y": 782
                      },
                      {
                        "x": 240,
                        "y": 782
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserRing3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 240,
                        "y": 239
                      },
                      {
                        "x": 783,
                        "y": 239
                      },
                      {
                        "x": 783,
                        "y": 782
                      },
                      {
                        "x": 240,
                        "y": 782
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserRing2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 240,
                        "y": 239
                      },
                      {
                        "x": 783,
                        "y": 239
                      },
                      {
                        "x": 783,
                        "y": 782
                      },
                      {
                        "x": 240,
                        "y": 782
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "LaserDemon_BeamSingle",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "OnOffTime",
          "type": "number",
          "value": 4
        },
        {
          "folded": true,
          "name": "FireOffsetTime",
          "type": "number",
          "value": 4
        },
        {
          "folded": true,
          "name": "CurrentlyChargingOrHasChargedUp",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "CurrentlyChargingOrHasChargedDown",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "OrgPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OrgPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 4,
            "brightness": 0.45,
            "padding": 10,
            "quality": 5,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 54,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 54,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 54,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 54,
                        "y": 256
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "LaserDemon_BeamPermanentSingle",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 4,
            "brightness": 0.55,
            "padding": 10,
            "quality": 5,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 54,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 54,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 54,
                        "y": 256
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\LaserDemon\\LaserDemonBeamSingle_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 128
                      },
                      {
                        "x": 204,
                        "y": 256
                      },
                      {
                        "x": 54,
                        "y": 256
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "TurretDemon_Base",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "IsDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "LifeForce",
          "type": "number",
          "value": 2
        },
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonBase_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 610
                      },
                      {
                        "x": 52.5,
                        "y": 386.5
                      },
                      {
                        "x": 231,
                        "y": 267.5
                      },
                      {
                        "x": 736.5,
                        "y": 263
                      },
                      {
                        "x": 929.5,
                        "y": 431
                      },
                      {
                        "x": 928.5,
                        "y": 607
                      },
                      {
                        "x": 789,
                        "y": 762
                      },
                      {
                        "x": 197,
                        "y": 758
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonBase_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 610
                      },
                      {
                        "x": 52.5,
                        "y": 386.5
                      },
                      {
                        "x": 231,
                        "y": 267.5
                      },
                      {
                        "x": 736.5,
                        "y": 263
                      },
                      {
                        "x": 929.5,
                        "y": 431
                      },
                      {
                        "x": 928.5,
                        "y": 607
                      },
                      {
                        "x": 789,
                        "y": 762
                      },
                      {
                        "x": 197,
                        "y": 758
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonBase_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 610
                      },
                      {
                        "x": 52.5,
                        "y": 386.5
                      },
                      {
                        "x": 231,
                        "y": 267.5
                      },
                      {
                        "x": 736.5,
                        "y": 263
                      },
                      {
                        "x": 929.5,
                        "y": 431
                      },
                      {
                        "x": 928.5,
                        "y": 607
                      },
                      {
                        "x": 789,
                        "y": 762
                      },
                      {
                        "x": 197,
                        "y": 758
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonBase_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 610
                      },
                      {
                        "x": 52.5,
                        "y": 386.5
                      },
                      {
                        "x": 231,
                        "y": 267.5
                      },
                      {
                        "x": 736.5,
                        "y": 263
                      },
                      {
                        "x": 929.5,
                        "y": 431
                      },
                      {
                        "x": 928.5,
                        "y": 607
                      },
                      {
                        "x": 789,
                        "y": 762
                      },
                      {
                        "x": 197,
                        "y": 758
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonBase_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 610
                      },
                      {
                        "x": 52.5,
                        "y": 386.5
                      },
                      {
                        "x": 231,
                        "y": 267.5
                      },
                      {
                        "x": 736.5,
                        "y": 263
                      },
                      {
                        "x": 929.5,
                        "y": 431
                      },
                      {
                        "x": 928.5,
                        "y": 607
                      },
                      {
                        "x": 789,
                        "y": 762
                      },
                      {
                        "x": 197,
                        "y": 758
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonBase_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 54,
                        "y": 610
                      },
                      {
                        "x": 52.5,
                        "y": 386.5
                      },
                      {
                        "x": 231,
                        "y": 267.5
                      },
                      {
                        "x": 736.5,
                        "y": 263
                      },
                      {
                        "x": 929.5,
                        "y": 431
                      },
                      {
                        "x": 928.5,
                        "y": 607
                      },
                      {
                        "x": 789,
                        "y": 762
                      },
                      {
                        "x": 197,
                        "y": 758
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "TurretDemon_Spike",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "Lifetime",
          "type": "number",
          "value": 0
        },
        {
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        }
      ],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 6,
            "greenX": 0,
            "greenY": 0,
            "redX": -6,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev\\Entities\\StalactiteDemon\\Stalactite_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 38
                      },
                      {
                        "x": 633,
                        "y": 170.5
                      },
                      {
                        "x": 1004.5,
                        "y": 287.5
                      },
                      {
                        "x": 563.5,
                        "y": 439.5
                      },
                      {
                        "x": 309,
                        "y": 474.5
                      },
                      {
                        "x": 52.5,
                        "y": 484
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "TurretDemon_Eye",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "FireFrequencyTime",
          "type": "number",
          "value": 6
        },
        {
          "folded": true,
          "name": "FireOffsetTime",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "ProjectileLifetime",
          "type": "number",
          "value": 2.5
        },
        {
          "folded": true,
          "name": "CanShootOffscreen",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "CurrentlyChargingUp",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "NeedsOffsetReset",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 5,
            "brightness": 2,
            "padding": 0,
            "quality": 10,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom 2",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 5,
            "brightness": 2,
            "padding": 0,
            "quality": 7,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonEye_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonEye_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonEye_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonEye_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonEye_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\TurretDemon\\TurretDemonEye_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      },
                      {
                        "x": 512,
                        "y": 512
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "CameraGlitchFix",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Common\\CameraGlitchFix\\CameraGlitchFix.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "LeftBoundary",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Border/Border.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "RightBoundary",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "NormalPlatform",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Border/Border.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "TopBoundary",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Border/Border.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "BottomBoundary",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Border/Border.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": []
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "BoundaryJumpThrough",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [],
      "behaviors": [
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior",
          "canBeGrabbed": false,
          "platformType": "Jumpthru",
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets/Images/Common/Border/Border.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 0
                      },
                      {
                        "x": 32,
                        "y": 0
                      },
                      {
                        "x": 32,
                        "y": 30.258825302124023
                      },
                      {
                        "x": 0,
                        "y": 32
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "ShockwaveDemon_Base",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "ShockwavePower",
          "type": "number",
          "value": 750
        },
        {
          "folded": true,
          "name": "FireFrequencyTime",
          "type": "number",
          "value": 5
        },
        {
          "name": "FireOffsetTime",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "FixedAngle",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "CanShootOffscreen",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "ProjectileLifetime",
          "type": "number",
          "value": 2
        },
        {
          "folded": true,
          "name": "CurrentlyChargingUp",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "NeedsOffsetReset",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "IsDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "LifeForce",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 7,
            "brightness": 2,
            "padding": 0,
            "quality": 7,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 6,
            "greenX": 0,
            "greenY": 0,
            "redX": -6,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemonBase_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 293.5,
                        "y": 0
                      },
                      {
                        "x": 673,
                        "y": 0
                      },
                      {
                        "x": 695,
                        "y": 634.5
                      },
                      {
                        "x": 519,
                        "y": 691.5
                      },
                      {
                        "x": 347,
                        "y": 658.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemonBase_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 293.5,
                        "y": 0
                      },
                      {
                        "x": 673,
                        "y": 0
                      },
                      {
                        "x": 695,
                        "y": 634.5
                      },
                      {
                        "x": 519,
                        "y": 691.5
                      },
                      {
                        "x": 347,
                        "y": 658.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemonBase_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 293.5,
                        "y": 0
                      },
                      {
                        "x": 673,
                        "y": 0
                      },
                      {
                        "x": 695,
                        "y": 634.5
                      },
                      {
                        "x": 519,
                        "y": 691.5
                      },
                      {
                        "x": 347,
                        "y": 658.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemonBase_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 293.5,
                        "y": 0
                      },
                      {
                        "x": 673,
                        "y": 0
                      },
                      {
                        "x": 695,
                        "y": 634.5
                      },
                      {
                        "x": 519,
                        "y": 691.5
                      },
                      {
                        "x": 347,
                        "y": 658.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemonBase_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 293.5,
                        "y": 0
                      },
                      {
                        "x": 673,
                        "y": 0
                      },
                      {
                        "x": 695,
                        "y": 634.5
                      },
                      {
                        "x": 519,
                        "y": 691.5
                      },
                      {
                        "x": 347,
                        "y": 658.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\ShockwaveDemonBase_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 293.5,
                        "y": 0
                      },
                      {
                        "x": 673,
                        "y": 0
                      },
                      {
                        "x": 695,
                        "y": 634.5
                      },
                      {
                        "x": 519,
                        "y": 691.5
                      },
                      {
                        "x": 347,
                        "y": 658.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "ShockwaveDemon_Shockwave",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "Lifetime",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "Power",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "Glow",
          "name": "Glow",
          "doubleParameters": {
            "distance": 15,
            "innerStrength": 1,
            "outerStrength": 2
          },
          "stringParameters": {
            "color": "255;255;255"
          },
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\Shockwave_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 113,
                        "y": 536.5
                      },
                      {
                        "x": 132,
                        "y": 254.5
                      },
                      {
                        "x": 225.5,
                        "y": 26.5
                      },
                      {
                        "x": 710,
                        "y": 148
                      },
                      {
                        "x": 710,
                        "y": 969
                      },
                      {
                        "x": 277.5,
                        "y": 1024
                      },
                      {
                        "x": 176,
                        "y": 819
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\Shockwave_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 113,
                        "y": 536.5
                      },
                      {
                        "x": 132,
                        "y": 254.5
                      },
                      {
                        "x": 225.5,
                        "y": 26.5
                      },
                      {
                        "x": 710,
                        "y": 148
                      },
                      {
                        "x": 710,
                        "y": 969
                      },
                      {
                        "x": 277.5,
                        "y": 1024
                      },
                      {
                        "x": 176,
                        "y": 819
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\Shockwave_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 113,
                        "y": 536.5
                      },
                      {
                        "x": 132,
                        "y": 254.5
                      },
                      {
                        "x": 225.5,
                        "y": 26.5
                      },
                      {
                        "x": 710,
                        "y": 148
                      },
                      {
                        "x": 710,
                        "y": 969
                      },
                      {
                        "x": 277.5,
                        "y": 1024
                      },
                      {
                        "x": 176,
                        "y": 819
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\Shockwave_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 113,
                        "y": 536.5
                      },
                      {
                        "x": 132,
                        "y": 254.5
                      },
                      {
                        "x": 225.5,
                        "y": 26.5
                      },
                      {
                        "x": 710,
                        "y": 148
                      },
                      {
                        "x": 710,
                        "y": 969
                      },
                      {
                        "x": 277.5,
                        "y": 1024
                      },
                      {
                        "x": 176,
                        "y": 819
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\Shockwave_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 113,
                        "y": 536.5
                      },
                      {
                        "x": 132,
                        "y": 254.5
                      },
                      {
                        "x": 225.5,
                        "y": 26.5
                      },
                      {
                        "x": 710,
                        "y": 148
                      },
                      {
                        "x": 710,
                        "y": 969
                      },
                      {
                        "x": 277.5,
                        "y": 1024
                      },
                      {
                        "x": 176,
                        "y": 819
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\ShockwaveDemon\\Shockwave_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 113,
                        "y": 536.5
                      },
                      {
                        "x": 132,
                        "y": 254.5
                      },
                      {
                        "x": 225.5,
                        "y": 26.5
                      },
                      {
                        "x": 710,
                        "y": 148
                      },
                      {
                        "x": 710,
                        "y": 969
                      },
                      {
                        "x": 277.5,
                        "y": 1024
                      },
                      {
                        "x": 176,
                        "y": 819
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "MiteDemon_Base",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "folded": true,
          "name": "MiteMaxSpeed",
          "type": "number",
          "value": 400
        },
        {
          "folded": true,
          "name": "FireFrequencyTime",
          "type": "number",
          "value": 4
        },
        {
          "folded": true,
          "name": "FireOffsetTime",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "ProjectileLifetime",
          "type": "number",
          "value": 5
        },
        {
          "folded": true,
          "name": "CanShootOffscreen",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "CurrentlyChargingUp",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "NeedsOffsetReset",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "IsDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "LifeForce",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_X",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldPosition_Y",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "OldAngle",
          "type": "number",
          "value": 0
        }
      ],
      "effects": [
        {
          "effectType": "AdvancedBloom",
          "name": "Bloom",
          "doubleParameters": {
            "bloomScale": 2,
            "blur": 7,
            "brightness": 2,
            "padding": 0,
            "quality": 7,
            "threshold": 0.5
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 6,
            "greenX": 0,
            "greenY": 0,
            "redX": -6,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonBase_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 89.5,
                        "y": 0
                      },
                      {
                        "x": 899,
                        "y": 0
                      },
                      {
                        "x": 767,
                        "y": 556.5
                      },
                      {
                        "x": 632,
                        "y": 602.5
                      },
                      {
                        "x": 402,
                        "y": 605
                      },
                      {
                        "x": 296.5,
                        "y": 592
                      },
                      {
                        "x": 209,
                        "y": 522.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonBase_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 89.5,
                        "y": 0
                      },
                      {
                        "x": 899,
                        "y": 0
                      },
                      {
                        "x": 767,
                        "y": 556.5
                      },
                      {
                        "x": 632,
                        "y": 602.5
                      },
                      {
                        "x": 402,
                        "y": 605
                      },
                      {
                        "x": 296.5,
                        "y": 592
                      },
                      {
                        "x": 209,
                        "y": 522.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonBase_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 89.5,
                        "y": 0
                      },
                      {
                        "x": 899,
                        "y": 0
                      },
                      {
                        "x": 767,
                        "y": 556.5
                      },
                      {
                        "x": 632,
                        "y": 602.5
                      },
                      {
                        "x": 402,
                        "y": 605
                      },
                      {
                        "x": 296.5,
                        "y": 592
                      },
                      {
                        "x": 209,
                        "y": 522.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonBase_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 89.5,
                        "y": 0
                      },
                      {
                        "x": 899,
                        "y": 0
                      },
                      {
                        "x": 767,
                        "y": 556.5
                      },
                      {
                        "x": 632,
                        "y": 602.5
                      },
                      {
                        "x": 402,
                        "y": 605
                      },
                      {
                        "x": 296.5,
                        "y": 592
                      },
                      {
                        "x": 209,
                        "y": 522.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonBase_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 89.5,
                        "y": 0
                      },
                      {
                        "x": 899,
                        "y": 0
                      },
                      {
                        "x": 767,
                        "y": 556.5
                      },
                      {
                        "x": 632,
                        "y": 602.5
                      },
                      {
                        "x": 402,
                        "y": 605
                      },
                      {
                        "x": 296.5,
                        "y": 592
                      },
                      {
                        "x": 209,
                        "y": 522.5
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonBase_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 89.5,
                        "y": 0
                      },
                      {
                        "x": 899,
                        "y": 0
                      },
                      {
                        "x": 767,
                        "y": 556.5
                      },
                      {
                        "x": 632,
                        "y": 602.5
                      },
                      {
                        "x": 402,
                        "y": 605
                      },
                      {
                        "x": 296.5,
                        "y": 592
                      },
                      {
                        "x": 209,
                        "y": 522.5
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": false,
      "assetStoreId": "",
      "name": "MiteDemon_Mite",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [
        {
          "name": "MaxSpeed",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "Lifetime",
          "type": "number",
          "value": 0
        },
        {
          "folded": true,
          "name": "IsKillable",
          "type": "boolean",
          "value": true
        },
        {
          "folded": true,
          "name": "IsDead",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "HasBeenReaped",
          "type": "boolean",
          "value": false
        },
        {
          "folded": true,
          "name": "LifeForce",
          "type": "number",
          "value": 0.01
        }
      ],
      "effects": [
        {
          "effectType": "KawaseBlur",
          "name": "Effect",
          "doubleParameters": {
            "blur": 0.5,
            "padding": 0,
            "pixelizeX": 1,
            "pixelizeY": 1,
            "quality": 3
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glow",
          "name": "Effect2",
          "doubleParameters": {
            "distance": 15,
            "innerStrength": 1,
            "outerStrength": 2
          },
          "stringParameters": {
            "color": "255;255;255"
          },
          "booleanParameters": {}
        }
      ],
      "behaviors": [
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior",
          "ladderClimbingSpeed": 400,
          "maxFallingSpeed": 1000,
          "canGoDownFromJumpthru": true,
          "maxSpeed": 400,
          "acceleration": 1500,
          "canGrabPlatforms": false,
          "canGrabWithoutMoving": true,
          "deceleration": 1500,
          "gravity": 600,
          "ignoreDefaultControls": true,
          "jumpSpeed": 600,
          "jumpSustainTime": 0.2,
          "slopeMaxAngle": 60,
          "useLegacyTrajectory": false,
          "xGrabTolerance": 10,
          "yGrabOffset": 0
        }
      ],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": true,
              "timeBetweenFrames": 0.2,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonMite_1.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 650
                      },
                      {
                        "x": 52.5,
                        "y": 650
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonMite_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 650
                      },
                      {
                        "x": 52.5,
                        "y": 650
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonMite_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 650
                      },
                      {
                        "x": 52.5,
                        "y": 650
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonMite_4.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 650
                      },
                      {
                        "x": 52.5,
                        "y": 650
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonMite_3.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 650
                      },
                      {
                        "x": 52.5,
                        "y": 650
                      }
                    ]
                  ]
                },
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Entites\\Enemies\\MiteDemon\\MiteDemonMite_2.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 52.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 375
                      },
                      {
                        "x": 985.5,
                        "y": 650
                      },
                      {
                        "x": 52.5,
                        "y": 650
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_W",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/TutorialKeys/TutorialKeys_W.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 10
                      },
                      {
                        "x": 1013,
                        "y": 10
                      },
                      {
                        "x": 1013,
                        "y": 1010
                      },
                      {
                        "x": 0,
                        "y": 1010
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_A",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/TutorialKeys/TutorialKeys_A.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 10
                      },
                      {
                        "x": 1013,
                        "y": 10
                      },
                      {
                        "x": 1013,
                        "y": 1010
                      },
                      {
                        "x": 0,
                        "y": 1010
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_S",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/TutorialKeys/TutorialKeys_S.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 10
                      },
                      {
                        "x": 1013,
                        "y": 10
                      },
                      {
                        "x": 1013,
                        "y": 1010
                      },
                      {
                        "x": 0,
                        "y": 1010
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_D",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/TutorialKeys/TutorialKeys_D.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 10
                      },
                      {
                        "x": 1013,
                        "y": 10
                      },
                      {
                        "x": 1013,
                        "y": 1010
                      },
                      {
                        "x": 0,
                        "y": 1010
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Space",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/TutorialKeys/TutorialKeysWide_Space.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 0,
                        "y": 31
                      },
                      {
                        "x": 2044,
                        "y": 31
                      },
                      {
                        "x": 2044,
                        "y": 1014
                      },
                      {
                        "x": 0,
                        "y": 1014
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Heal",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Tutorial\\Labels\\ShiftToHealHint\\ShiftToHealHint.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 23,
                        "y": 74
                      },
                      {
                        "x": 1184,
                        "y": 74
                      },
                      {
                        "x": 1184,
                        "y": 412
                      },
                      {
                        "x": 23,
                        "y": 412
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Proceed",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/Proceed/Proceed.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 25,
                        "y": 96
                      },
                      {
                        "x": 953,
                        "y": 96
                      },
                      {
                        "x": 953,
                        "y": 373
                      },
                      {
                        "x": 25,
                        "y": 373
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Death",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/Death/Death.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 31,
                        "y": 64
                      },
                      {
                        "x": 992,
                        "y": 64
                      },
                      {
                        "x": 992,
                        "y": 415
                      },
                      {
                        "x": 31,
                        "y": 415
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_DownArrow",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/DownArrow/DownArrow.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 48,
                        "y": 16
                      },
                      {
                        "x": 449,
                        "y": 16
                      },
                      {
                        "x": 449,
                        "y": 893
                      },
                      {
                        "x": 48,
                        "y": 893
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Checkpoint",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/CheckPoint/CheckPoint.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 14,
                        "y": 116
                      },
                      {
                        "x": 1011,
                        "y": 116
                      },
                      {
                        "x": 1011,
                        "y": 324
                      },
                      {
                        "x": 14,
                        "y": 324
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Kill",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/Kill/Kill.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 91,
                        "y": 25
                      },
                      {
                        "x": 944,
                        "y": 25
                      },
                      {
                        "x": 944,
                        "y": 436
                      },
                      {
                        "x": 91,
                        "y": 436
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Collect",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/Collect/Collect.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 17,
                        "y": 6
                      },
                      {
                        "x": 736,
                        "y": 6
                      },
                      {
                        "x": 736,
                        "y": 448
                      },
                      {
                        "x": 17,
                        "y": 448
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Arrow",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Arrow/Arrow.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 7,
                        "y": 32
                      },
                      {
                        "x": 991,
                        "y": 32
                      },
                      {
                        "x": 991,
                        "y": 471
                      },
                      {
                        "x": 7,
                        "y": 471
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Jump",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "AssetDev/Sinage/Jump/Jump.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 50,
                        "y": 92
                      },
                      {
                        "x": 815,
                        "y": 92
                      },
                      {
                        "x": 815,
                        "y": 380
                      },
                      {
                        "x": 50,
                        "y": 380
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Hold",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Tutorial\\Labels\\Hold\\Hold.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 117,
                        "y": 108
                      },
                      {
                        "x": 1234,
                        "y": 108
                      },
                      {
                        "x": 1234,
                        "y": 679
                      },
                      {
                        "x": 117,
                        "y": 679
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_LongerJump",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Tutorial\\Labels\\LongerJump\\LongerJump.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 44,
                        "y": 177
                      },
                      {
                        "x": 1661,
                        "y": 177
                      },
                      {
                        "x": 1661,
                        "y": 582
                      },
                      {
                        "x": 44,
                        "y": 582
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Restart",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Tutorial\\Labels\\RestartHint\\RestartHint.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 27,
                        "y": 128
                      },
                      {
                        "x": 934,
                        "y": 128
                      },
                      {
                        "x": 934,
                        "y": 438
                      },
                      {
                        "x": 27,
                        "y": 438
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "adaptCollisionMaskAutomatically": true,
      "assetStoreId": "",
      "name": "Sinage_Pause",
      "type": "Sprite",
      "updateIfNotVisible": false,
      "variables": [],
      "effects": [
        {
          "effectType": "RGBSplit",
          "name": "ChromaticAberration",
          "doubleParameters": {
            "blueX": 0,
            "blueY": 3,
            "greenX": 0,
            "greenY": 0,
            "redX": -3,
            "redY": 1
          },
          "stringParameters": {},
          "booleanParameters": {}
        },
        {
          "effectType": "Glitch",
          "name": "Glitchy",
          "doubleParameters": {
            "animationFrequency": 20,
            "blueX": 2,
            "blueY": -2,
            "direction": 0,
            "fillMode": 0,
            "greenX": 2,
            "greenY": -2,
            "minSize": 8,
            "offset": 2,
            "redX": 2,
            "redY": 2,
            "sampleSize": 512,
            "slices": 2
          },
          "stringParameters": {},
          "booleanParameters": {
            "average": false
          }
        },
        {
          "effectType": "CRT",
          "name": "Lines",
          "doubleParameters": {
            "animationFrequency": 0,
            "animationSpeed": 1,
            "curvature": 1,
            "lineContrast": 0.25,
            "lineWidth": 1,
            "noise": 0.3,
            "noiseSize": 0,
            "padding": 0,
            "vignetting": 0.3,
            "vignettingAlpha": 1,
            "vignettingBlur": 0.3
          },
          "stringParameters": {},
          "booleanParameters": {
            "verticalLine": false
          }
        }
      ],
      "behaviors": [],
      "animations": [
        {
          "name": "",
          "useMultipleDirections": false,
          "directions": [
            {
              "looping": false,
              "timeBetweenFrames": 0.08,
              "sprites": [
                {
                  "hasCustomCollisionMask": true,
                  "image": "Assets\\Images\\Tutorial\\Labels\\PauseHint\\PauseMenu.png",
                  "points": [],
                  "originPoint": {
                    "name": "origine",
                    "x": 0,
                    "y": 0
                  },
                  "centerPoint": {
                    "automatic": true,
                    "name": "centre",
                    "x": 0,
                    "y": 0
                  },
                  "customCollisionMask": [
                    [
                      {
                        "x": 12,
                        "y": 122
                      },
                      {
                        "x": 922,
                        "y": 122
                      },
                      {
                        "x": 922,
                        "y": 397
                      },
                      {
                        "x": 12,
                        "y": 397
                      }
                    ]
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "assetStoreId": "",
      "bold": false,
      "italic": false,
      "name": "Test2",
      "smoothed": true,
      "type": "TextObject::Text",
      "underlined": false,
      "variables": [],
      "effects": [],
      "behaviors": [],
      "string": "test",
      "font": "",
      "textAlignment": "left",
      "characterSize": 50,
      "color": {
        "b": 0,
        "g": 0,
        "r": 255
      }
    },
    {
      "assetStoreId": "",
      "bold": false,
      "italic": false,
      "name": "FrameRate",
      "smoothed": true,
      "type": "TextObject::Text",
      "underlined": false,
      "variables": [],
      "effects": [],
      "behaviors": [],
      "string": "test",
      "font": "",
      "textAlignment": "left",
      "characterSize": 30,
      "color": {
        "b": 0,
        "g": 255,
        "r": 0
      }
    }
  ],
  "objectsFolderStructure": {
    "folderName": "__ROOT",
    "children": [
      {
        "folderName": "UI",
        "children": [
          {
            "folderName": "Particles",
            "children": [
              {
                "objectName": "DustParticle"
              },
              {
                "objectName": "DoorParticles"
              },
              {
                "objectName": "ProjectileDeathParticles"
              },
              {
                "objectName": "BloodParticles"
              }
            ]
          },
          {
            "folderName": "HUD",
            "children": [
              {
                "folderName": "Sinage",
                "children": [
                  {
                    "objectName": "Sinage_W"
                  },
                  {
                    "objectName": "Sinage_A"
                  },
                  {
                    "objectName": "Sinage_S"
                  },
                  {
                    "objectName": "Sinage_D"
                  },
                  {
                    "objectName": "Sinage_Space"
                  },
                  {
                    "objectName": "Sinage_Heal"
                  },
                  {
                    "objectName": "Sinage_Proceed"
                  },
                  {
                    "objectName": "Sinage_Death"
                  },
                  {
                    "objectName": "Sinage_DownArrow"
                  },
                  {
                    "objectName": "Sinage_Checkpoint"
                  },
                  {
                    "objectName": "Sinage_Kill"
                  },
                  {
                    "objectName": "Sinage_Collect"
                  },
                  {
                    "objectName": "Sinage_Arrow"
                  },
                  {
                    "objectName": "Sinage_Jump"
                  },
                  {
                    "objectName": "Sinage_Hold"
                  },
                  {
                    "objectName": "Sinage_LongerJump"
                  },
                  {
                    "objectName": "Sinage_Pause"
                  },
                  {
                    "objectName": "Sinage_Restart"
                  }
                ]
              },
              {
                "objectName": "LivesBar"
              },
              {
                "objectName": "HopeBar"
              },
              {
                "objectName": "UI_Sinage_Lives"
              },
              {
                "objectName": "UI_Sinage_Hope"
              },
              {
                "objectName": "FrameRate"
              }
            ]
          },
          {
            "folderName": "EndScreen",
            "children": [
              {
                "objectName": "UI_Sinage_DeathText"
              },
              {
                "objectName": "UI_Sinage_MemoryAcquired"
              },
              {
                "objectName": "UI_Sinage_Background"
              },
              {
                "objectName": "UI_Sinage_RetryButton"
              },
              {
                "objectName": "UI_Sinage_ProceedButton"
              }
            ]
          }
        ]
      },
      {
        "folderName": "Platforms",
        "children": [
          {
            "objectName": "FlippingPlatform"
          },
          {
            "objectName": "FlippingPlatform2"
          },
          {
            "objectName": "SpinningPlatformClockwise"
          },
          {
            "objectName": "SpinningPlatformCounterclockwise"
          },
          {
            "objectName": "SpinningRotatingPlatformClockwise"
          },
          {
            "objectName": "SpinningRotatingPlatformCounterclockwise"
          },
          {
            "objectName": "VerticalMovingPlatformDown"
          },
          {
            "objectName": "VerticalMovingPlatformUp"
          },
          {
            "objectName": "HorizontalMovingPlatformRight"
          },
          {
            "objectName": "HorizontalMovingPlatformLeft"
          },
          {
            "objectName": "StaticPlatform1"
          },
          {
            "objectName": "StaticPlatform2"
          },
          {
            "objectName": "StaticPlatform3"
          }
        ]
      },
      {
        "folderName": "Enemies",
        "children": [
          {
            "folderName": "MiteDemon",
            "children": [
              {
                "objectName": "MiteDemon_Base"
              },
              {
                "objectName": "MiteDemon_Mite"
              }
            ]
          },
          {
            "folderName": "ShockwaveDemon",
            "children": [
              {
                "objectName": "ShockwaveDemon_Base"
              },
              {
                "objectName": "ShockwaveDemon_Shockwave"
              }
            ]
          },
          {
            "folderName": "TurretDemon",
            "children": [
              {
                "objectName": "TurretDemon_Base"
              },
              {
                "objectName": "TurretDemon_Eye"
              },
              {
                "objectName": "TurretDemon_Spike"
              }
            ]
          },
          {
            "folderName": "LaserDemon",
            "children": [
              {
                "objectName": "LaserDemon_Base"
              },
              {
                "objectName": "LaserDemon_Beam"
              },
              {
                "objectName": "LaserDemon_BeamSingle"
              },
              {
                "objectName": "LaserDemon_BasePermanent"
              },
              {
                "objectName": "LaserDemon_BeamPermanent"
              },
              {
                "objectName": "LaserDemon_BeamPermanentSingle"
              },
              {
                "objectName": "LaserRing"
              }
            ]
          },
          {
            "folderName": "StalactiteDemon",
            "children": [
              {
                "objectName": "StalactiteDemon_Base"
              },
              {
                "objectName": "StalactiteDemon_Spike"
              }
            ]
          },
          {
            "folderName": "StalagmiteDemon",
            "children": [
              {
                "objectName": "StalagmiteDemon_Base"
              },
              {
                "objectName": "StalagmiteDemon_Spike"
              }
            ]
          },
          {
            "folderName": "SpikeDemon",
            "children": [
              {
                "objectName": "SpikeDemon_Base"
              },
              {
                "objectName": "SpikeDemon_Spike"
              }
            ]
          },
          {
            "folderName": "HorizontalDemon",
            "children": [
              {
                "objectName": "HorizontalDemon"
              }
            ]
          },
          {
            "folderName": "FireDemon",
            "children": [
              {
                "objectName": "FireDemon"
              }
            ]
          },
          {
            "folderName": "FlyingDemon",
            "children": [
              {
                "objectName": "FlyingDemon"
              }
            ]
          }
        ]
      },
      {
        "folderName": "MiscSceneObjects",
        "children": [
          {
            "objectName": "Memory"
          },
          {
            "objectName": "Player"
          },
          {
            "objectName": "Portal"
          },
          {
            "objectName": "Ladder"
          },
          {
            "objectName": "Checkpoint"
          }
        ]
      },
      {
        "folderName": "HelperObjects",
        "children": [
          {
            "objectName": "LeftBoundary"
          },
          {
            "objectName": "RightBoundary"
          },
          {
            "objectName": "TopBoundary"
          },
          {
            "objectName": "BottomBoundary"
          },
          {
            "objectName": "BoundaryJumpThrough"
          },
          {
            "objectName": "CameraGlitchFix"
          }
        ]
      },
      {
        "objectName": "Test"
      },
      {
        "objectName": "Test2"
      }
    ]
  },
  "objectsGroups": [
    {
      "name": "Particles",
      "objects": [
        {
          "name": "BloodParticles"
        },
        {
          "name": "ProjectileDeathParticles"
        },
        {
          "name": "DoorParticles"
        },
        {
          "name": "DustParticle"
        }
      ]
    },
    {
      "name": "UI_Elements",
      "objects": [
        {
          "name": "UI_Sinage_DeathText"
        },
        {
          "name": "UI_Sinage_MemoryAcquired"
        },
        {
          "name": "UI_Sinage_Lives"
        },
        {
          "name": "UI_Sinage_Hope"
        },
        {
          "name": "UI_Sinage_RetryButton"
        },
        {
          "name": "UI_Sinage_Background"
        },
        {
          "name": "UI_Sinage_ProceedButton"
        }
      ]
    },
    {
      "name": "HelperObjects",
      "objects": [
        {
          "name": "LeftBoundary"
        },
        {
          "name": "RightBoundary"
        },
        {
          "name": "BoundaryJumpThrough"
        },
        {
          "name": "CameraGlitchFix"
        }
      ]
    },
    {
      "name": "Platforms",
      "objects": [
        {
          "name": "StaticPlatform1"
        },
        {
          "name": "StaticPlatform2"
        },
        {
          "name": "StaticPlatform3"
        },
        {
          "name": "HorizontalMovingPlatformLeft"
        },
        {
          "name": "HorizontalMovingPlatformRight"
        },
        {
          "name": "VerticalMovingPlatformUp"
        },
        {
          "name": "VerticalMovingPlatformDown"
        },
        {
          "name": "SpinningPlatformClockwise"
        },
        {
          "name": "SpinningPlatformCounterclockwise"
        },
        {
          "name": "SpinningRotatingPlatformClockwise"
        },
        {
          "name": "SpinningRotatingPlatformCounterclockwise"
        },
        {
          "name": "FlippingPlatform"
        },
        {
          "name": "FlippingPlatform2"
        }
      ]
    },
    {
      "name": "MovingPlatforms",
      "objects": [
        {
          "name": "HorizontalMovingPlatformRight"
        },
        {
          "name": "HorizontalMovingPlatformLeft"
        },
        {
          "name": "VerticalMovingPlatformDown"
        },
        {
          "name": "VerticalMovingPlatformUp"
        },
        {
          "name": "SpinningPlatformClockwise"
        },
        {
          "name": "SpinningPlatformCounterclockwise"
        },
        {
          "name": "SpinningRotatingPlatformClockwise"
        },
        {
          "name": "SpinningRotatingPlatformCounterclockwise"
        }
      ]
    },
    {
      "name": "Enemies",
      "objects": [
        {
          "name": "FlyingDemon"
        },
        {
          "name": "HorizontalDemon"
        },
        {
          "name": "SpikeDemon_Base"
        },
        {
          "name": "StalactiteDemon_Base"
        },
        {
          "name": "StalagmiteDemon_Base"
        },
        {
          "name": "LaserDemon_Base"
        },
        {
          "name": "LaserDemon_BasePermanent"
        },
        {
          "name": "ShockwaveDemon_Base"
        },
        {
          "name": "MiteDemon_Base"
        },
        {
          "name": "TurretDemon_Base"
        },
        {
          "name": "TurretDemon_Eye"
        },
        {
          "name": "FireDemon"
        }
      ]
    },
    {
      "name": "ShootingEnemies",
      "objects": [
        {
          "name": "SpikeDemon_Base"
        },
        {
          "name": "StalactiteDemon_Base"
        },
        {
          "name": "StalagmiteDemon_Base"
        },
        {
          "name": "ShockwaveDemon_Base"
        },
        {
          "name": "MiteDemon_Base"
        },
        {
          "name": "TurretDemon_Eye"
        }
      ]
    },
    {
      "name": "Projectiles",
      "objects": [
        {
          "name": "SpikeDemon_Spike"
        },
        {
          "name": "StalactiteDemon_Spike"
        },
        {
          "name": "StalagmiteDemon_Spike"
        },
        {
          "name": "TurretDemon_Spike"
        },
        {
          "name": "ShockwaveDemon_Shockwave"
        },
        {
          "name": "MiteDemon_Mite"
        }
      ]
    },
    {
      "name": "ProjectilesThatDespawnOnLifetime",
      "objects": [
        {
          "name": "TurretDemon_Spike"
        },
        {
          "name": "MiteDemon_Mite"
        }
      ]
    },
    {
      "name": "ProjectilesThatDieToProjectileKillers",
      "objects": [
        {
          "name": "SpikeDemon_Spike"
        },
        {
          "name": "StalactiteDemon_Spike"
        },
        {
          "name": "StalagmiteDemon_Spike"
        },
        {
          "name": "TurretDemon_Spike"
        }
      ]
    },
    {
      "name": "PlayerKillers",
      "objects": [
        {
          "name": "FlyingDemon"
        },
        {
          "name": "FireDemon"
        },
        {
          "name": "HorizontalDemon"
        },
        {
          "name": "SpikeDemon_Base"
        },
        {
          "name": "SpikeDemon_Spike"
        },
        {
          "name": "StalactiteDemon_Base"
        },
        {
          "name": "StalactiteDemon_Spike"
        },
        {
          "name": "SpikeDemon_Base2"
        },
        {
          "name": "SpikeDemon_Spike2"
        },
        {
          "name": "StalactiteDemon_Base2"
        },
        {
          "name": "LaserDemon_Beam"
        },
        {
          "name": "StalactiteDemon_Spike2"
        },
        {
          "name": "LaserDemon_Base2"
        },
        {
          "name": "LaserDemon_Base"
        },
        {
          "name": "LaserDemon_Beam2"
        },
        {
          "name": "LaserDemon_BasePermanent"
        },
        {
          "name": "LaserDemon_BeamPermanent"
        },
        {
          "name": "LaserRing"
        },
        {
          "name": "LaserDemon_BeamSingle"
        },
        {
          "name": "LaserDemon_Beam2_Single"
        },
        {
          "name": "LaserDemon_BeamPermanentSingle"
        },
        {
          "name": "TurretDemon_Base"
        },
        {
          "name": "TurretDemon_Spike"
        },
        {
          "name": "TurretDemon_Base2"
        },
        {
          "name": "TurretDemon_Eye2"
        },
        {
          "name": "TurretDemon_Spike2"
        },
        {
          "name": "ShockwaveDemon_Base"
        },
        {
          "name": "MiteDemon_Base"
        },
        {
          "name": "MiteDemon_Mite"
        },
        {
          "name": "StalagmiteDemon_Base"
        },
        {
          "name": "StalagmiteDemon_Base2"
        },
        {
          "name": "StalagmiteDemon_Spike"
        },
        {
          "name": "StalagmiteDemon_Spike2"
        }
      ]
    },
    {
      "name": "ProjectileKillers",
      "objects": [
        {
          "name": "StaticPlatform1"
        },
        {
          "name": "HorizontalMovingPlatformRight"
        },
        {
          "name": "StaticPlatform2"
        },
        {
          "name": "StaticPlatform3"
        },
        {
          "name": "VerticalMovingPlatformDown"
        },
        {
          "name": "SpinningRotatingPlatformClockwise"
        },
        {
          "name": "FlippingPlatform"
        },
        {
          "name": "FlippingPlatform2"
        },
        {
          "name": "HorizontalMovingPlatformLeft"
        },
        {
          "name": "VerticalMovingPlatformUp"
        },
        {
          "name": "SpinningRotatingPlatformCounterclockwise"
        },
        {
          "name": "SpinningPlatformClockwise"
        },
        {
          "name": "SpinningPlatformCounterclockwise"
        },
        {
          "name": "LaserDemon_Beam"
        },
        {
          "name": "LaserDemon_Beam2"
        },
        {
          "name": "LaserDemon_BeamPermanent"
        },
        {
          "name": "LaserRing"
        },
        {
          "name": "LaserDemon_Base"
        },
        {
          "name": "LaserDemon_BasePermanent"
        }
      ]
    },
    {
      "name": "MiteKillers",
      "objects": [
        {
          "name": "FlyingDemon"
        },
        {
          "name": "FireDemon"
        },
        {
          "name": "HorizontalDemon"
        },
        {
          "name": "SpikeDemon_Base"
        },
        {
          "name": "SpikeDemon_Spike"
        },
        {
          "name": "StalactiteDemon_Base"
        },
        {
          "name": "StalactiteDemon_Spike"
        },
        {
          "name": "SpikeDemon_Base2"
        },
        {
          "name": "SpikeDemon_Spike2"
        },
        {
          "name": "StalactiteDemon_Base2"
        },
        {
          "name": "LaserDemon_Beam"
        },
        {
          "name": "StalactiteDemon_Spike2"
        },
        {
          "name": "LaserDemon_Base2"
        },
        {
          "name": "LaserDemon_Base"
        },
        {
          "name": "LaserDemon_Beam2"
        },
        {
          "name": "LaserDemon_BasePermanent"
        },
        {
          "name": "LaserDemon_BeamPermanent"
        },
        {
          "name": "LaserRing"
        },
        {
          "name": "LaserDemon_BeamSingle"
        },
        {
          "name": "LaserDemon_Beam2_Single"
        },
        {
          "name": "LaserDemon_BeamPermanentSingle"
        },
        {
          "name": "TurretDemon_Base"
        },
        {
          "name": "TurretDemon_Spike"
        },
        {
          "name": "TurretDemon_Eye"
        },
        {
          "name": "TurretDemon_Base2"
        },
        {
          "name": "TurretDemon_Eye2"
        },
        {
          "name": "TurretDemon_Spike2"
        },
        {
          "name": "ShockwaveDemon_Base"
        }
      ]
    },
    {
      "name": "LaserBeams",
      "objects": [
        {
          "name": "LaserDemon_Beam"
        },
        {
          "name": "LaserDemon_BeamSingle"
        }
      ]
    }
  ],
  "variables": [
    {
      "name": "Volume_Master",
      "type": "number",
      "value": 100
    },
    {
      "folded": true,
      "name": "Volume_ThemeMusic",
      "type": "number",
      "value": 100
    },
    {
      "folded": true,
      "name": "Volume_Music",
      "type": "number",
      "value": 35
    },
    {
      "folded": true,
      "name": "Volume_SFX",
      "type": "number",
      "value": 20
    }
  ],
  "layouts": [
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Level10",
      "name": "Level10",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.10815924401425481,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "MobileControls",
          "objects": [
            {
              "name": "JumpButton"
            },
            {
              "name": "Joystick"
            }
          ]
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "EndScreenBackground"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "RetryButton"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 5920,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "78dd0ffa-b22f-47a8-9b36-ef6a432b1d1e",
          "width": 128,
          "x": -128,
          "y": -4224,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2272,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 17950,
          "x": 0,
          "y": -320,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 3168,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 63840,
          "y": -800,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 37184,
          "x": -128,
          "y": -4224,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "014db1f5-0846-4cba-821e-57e29d368c14",
          "width": 256,
          "x": 64,
          "y": 640,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2912,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "3f0ec037-2a70-4ea5-90eb-c1f8a7387a6c",
          "width": 34208,
          "x": 0,
          "y": -800,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "d1a591e5-d6c2-4c37-9b0e-bff58c09c7d5",
          "width": 34464,
          "x": -64,
          "y": 2624,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 496,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "91892016-9d1e-49a5-b015-cda442ecdcd5",
          "width": 992,
          "x": 63168,
          "y": 576,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "1ff1c530-e0f7-4107-b03e-f1aa37458ec6",
          "width": 408,
          "x": 63432,
          "y": 64,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "59780ce3-bfab-4913-9837-ce9d47ee32d8",
          "width": 256,
          "x": 63488,
          "y": -160,
          "zOrder": 74,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 448,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "a519f0e8-a0fa-4d89-bc53-1968b7ebf1bc",
          "width": 896,
          "x": 9760,
          "y": -272,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "60792324-fc11-461a-a6d9-0c9e9ebbf12e",
          "width": 341,
          "x": 10016,
          "y": -496,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "a13906b5-92cf-4258-ab74-5e2d5b2710d5",
          "width": 80,
          "x": 696,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "6203dc8f-6755-4fbc-8b33-26c5c6d1cdc6",
          "width": 80,
          "x": 824,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "76e0bc23-c52b-4f7c-919d-fe1f4c3fabbf",
          "width": 80,
          "x": 1592,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "ab3d56be-1435-49a9-af16-9da52fd52930",
          "width": 80,
          "x": 1720,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "e67ef9b5-8d40-4dad-981d-b768f5ed04f7",
          "width": 80,
          "x": 1144,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "38bbedab-0cc5-46cd-a7ba-e497d99d7ed9",
          "width": 80,
          "x": 1272,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "4848c009-4639-4548-885e-58f38e233c7e",
          "width": 192,
          "x": 1152,
          "y": 736,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a095328c-5c0a-431b-a85e-364dcb9afb86",
          "width": 192,
          "x": 704,
          "y": 736,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "b6c6c84c-a1ee-49ad-b904-aaddf2cdf801",
          "width": 192,
          "x": 1600,
          "y": 736,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "ba9ccd40-f9bc-45d9-a21c-8a0eb3549059",
          "width": 80,
          "x": 536,
          "y": 544,
          "zOrder": 17,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "8603c22a-6eda-458c-9798-0291bae65497",
          "width": 80,
          "x": 536,
          "y": 672,
          "zOrder": 17,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "e27d4abc-ee9c-47e3-a01a-d8b5e57d3c2e",
          "width": 80,
          "x": 696,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "16e19546-0a07-4412-b091-95883a62ad91",
          "width": 80,
          "x": 824,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "313b2bfc-e79f-406c-b41f-0e1510a7896e",
          "width": 80,
          "x": 1144,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "ca68aae7-ce37-4f55-b9bf-c328719472f9",
          "width": 80,
          "x": 1272,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "88fd698f-2323-4e1e-a432-f3836a763349",
          "width": 80,
          "x": 1592,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "8893cb7c-ad0d-467e-83ed-57ca6f374fa3",
          "width": 80,
          "x": 1720,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "cc9f8705-cad2-48ac-b3db-245c6b7b1dad",
          "width": 32,
          "x": 560,
          "y": 544,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "ce8f4e4b-078c-40a9-9d4e-ac6ff0520f83",
          "width": 32,
          "x": 1008,
          "y": 544,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "82661f3f-b0ee-4394-a8f8-79242e2bc1d7",
          "width": 32,
          "x": 1456,
          "y": 544,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "8fd2a71f-39f5-4ea5-919f-307309f6311a",
          "width": 192,
          "x": 928,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "010eff47-cf86-4720-baf5-a0d5c39383e5",
          "width": 192,
          "x": 1376,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "ec19a029-c6bc-4709-90a8-a25ff252d706",
          "width": 192,
          "x": 1824,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0ac53a1d-9953-4b5a-935b-16cf5005afff",
          "width": 80,
          "x": 696,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "f3424da0-2552-4a62-af23-c6373a6e272c",
          "width": 80,
          "x": 824,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "6f04610b-0992-48ae-9536-f7854c57e61c",
          "width": 80,
          "x": 1144,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3b27db3e-43f4-4d20-b9c5-4598e3aa0a33",
          "width": 80,
          "x": 1272,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "15613f15-319e-4891-a2dd-103d10463fe1",
          "width": 80,
          "x": 1592,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0f4b6ff5-dda1-47b1-b6bd-319f1175945d",
          "width": 80,
          "x": 1720,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "a121e45d-aa2d-42b0-9ffc-f17514ccdacc",
          "width": 512,
          "x": 768,
          "y": -256,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "ef5ac1d4-aaa6-4c44-87b2-9dfe19b9d92c",
          "width": 512,
          "x": 1216,
          "y": -256,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "e9078f8e-fa08-4dcb-be1d-52dda96e7792",
          "width": 512,
          "x": 1664,
          "y": -256,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "1fba6394-eb2f-4bcd-8563-864448fd0a12",
          "width": 192,
          "x": 480,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "dc027a0b-54bb-46f7-9622-17fe0c1a1107",
          "width": 512,
          "x": 320,
          "y": -256,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "d87be1a0-c982-42bb-9302-9f72ef14b1e0",
          "width": 80,
          "x": 536,
          "y": 96,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "96bec5ad-d2dd-412c-8c9a-6a850915196e",
          "width": 80,
          "x": 536,
          "y": 224,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "d14c8df9-85da-4ca7-b507-522ad2520b74",
          "width": 80,
          "x": 984,
          "y": 256,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "988495bb-45bb-4e0a-a67f-b15504c9e32b",
          "width": 80,
          "x": 984,
          "y": 128,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "1beba297-4274-4b1b-b8fe-c897103f9451",
          "width": 80,
          "x": 1432,
          "y": 224,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "dcd02050-a146-4d79-af13-573d3621f72b",
          "width": 80,
          "x": 1432,
          "y": 96,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "4589808a-5036-40b1-aa5f-0b0dd8479101",
          "width": 80,
          "x": 1880,
          "y": 224,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "fc51c325-08af-40ef-b78c-2587836c0bf8",
          "width": 80,
          "x": 1880,
          "y": 96,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "b78363bd-4b92-446c-b5eb-650b479bb51c",
          "width": 192,
          "x": 704,
          "y": 128,
          "zOrder": 183,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "40c1c7fb-02cf-4706-83ba-fadcb16279dd",
          "width": 192,
          "x": 1152,
          "y": 128,
          "zOrder": 183,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "e16899b6-e519-4aa4-8b85-0e9a8cc0b5d6",
          "width": 192,
          "x": 1600,
          "y": 128,
          "zOrder": 183,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "a6792f89-79a3-4367-9c99-5c27b1a32bfb",
          "width": 192,
          "x": 480,
          "y": 352,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "226007d0-47d6-4e92-9b4d-ac227cb23897",
          "width": 192,
          "x": 928,
          "y": 352,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "83d4d300-35fc-44fe-b027-01dd600001a8",
          "width": 192,
          "x": 1376,
          "y": 352,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "c49dd622-a134-4cdc-8f82-0ac3dc328d54",
          "width": 192,
          "x": 1824,
          "y": 352,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "d55aeced-07ad-447f-b78b-aae49e923221",
          "width": 192,
          "x": 928,
          "y": 800,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "2e8592a4-be9f-47f6-8297-c206a0fc8222",
          "width": 192,
          "x": 1376,
          "y": 800,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "1ec5a104-eee4-44dc-bc49-f8dcef8eccaf",
          "width": 192,
          "x": 1824,
          "y": 800,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "5524fa4b-8331-490f-ad89-a9fe71bd555d",
          "width": 80,
          "x": 2040,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "0233f523-5649-4a86-b99b-1211829736ec",
          "width": 80,
          "x": 2168,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "a59c0ceb-ef3c-4e70-9503-38c1ad0d6c49",
          "width": 192,
          "x": 2272,
          "y": 352,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "28d1ad5b-9249-40fa-a4f5-500071aacb27",
          "width": 192,
          "x": 2720,
          "y": 352,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "3b36c8b5-3249-4c64-86cb-fe3bdbe294e2",
          "width": 80,
          "x": 2616,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0c989022-9760-4f05-9775-0a795ebc038c",
          "width": 80,
          "x": 2040,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0cdef0d2-5544-4254-a594-4f2d761adc42",
          "width": 80,
          "x": 2168,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "0926c8b8-e547-44d5-9f95-98935f8d3f5a",
          "width": 192,
          "x": 2272,
          "y": 800,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "592e898f-3660-41e1-9338-53e37408e3ea",
          "width": 80,
          "x": 2488,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "8e9223a3-68d0-4def-bfe4-61c0f946fea4",
          "width": 80,
          "x": 2616,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a981c2cc-a18e-4757-ac6d-c5b7af6d2728",
          "width": 192,
          "x": 2048,
          "y": 736,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "b11703f6-0259-4bed-bc1b-df5832df29e5",
          "width": 192,
          "x": 2496,
          "y": 736,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "cc359f5c-585c-46ca-84bf-36635ffd266f",
          "width": 32,
          "x": 1904,
          "y": 544,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "50189148-7775-4a29-abf3-40d74f8e2bea",
          "width": 32,
          "x": 2352,
          "y": 544,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "9588486b-1fdf-4a6f-87ce-7143d25f7795",
          "width": 32,
          "x": 2800,
          "y": 544,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "6fde5b3a-31c7-45cb-92ec-9b7a6f3ff5dd",
          "width": 80,
          "x": 2776,
          "y": 544,
          "zOrder": 17,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "0bd1ff9b-fd41-4921-95f5-c69b21fe3769",
          "width": 80,
          "x": 2776,
          "y": 672,
          "zOrder": 17,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "26b68d53-de51-408a-a2df-a599e40a5e97",
          "width": 192,
          "x": 2048,
          "y": 128,
          "zOrder": 183,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "7084143c-08eb-42b1-a28a-a8bb89f78ad6",
          "width": 192,
          "x": 2496,
          "y": 128,
          "zOrder": 183,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "ff0bb62a-c064-4a65-9230-a76f5a32398f",
          "width": 192,
          "x": 2272,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a0cc1809-9e6b-4c1e-97f3-06e66cafc25a",
          "width": 80,
          "x": 2040,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "78cdc141-51f5-4c82-b650-e8f1e0e4d5fe",
          "width": 80,
          "x": 2168,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "ccd001db-d589-4362-b04b-2848e1c33832",
          "width": 512,
          "x": 2112,
          "y": -256,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "96126f2b-5c26-4ae1-8019-2fe266cc8437",
          "width": 192,
          "x": 2720,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "93241313-691b-4f86-8a8c-3f22458f4a69",
          "width": 80,
          "x": 2488,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "4d77617e-088f-4814-8d93-9ff4e3a6d73d",
          "width": 80,
          "x": 2616,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "87852f88-7368-4c73-9dd6-0b84caf5cbc3",
          "width": 512,
          "x": 2560,
          "y": -256,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "5363af51-b3eb-4550-8dbd-b980b6e1a4b4",
          "width": 80,
          "x": 2328,
          "y": 96,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "98d35299-aa73-4ae4-bb0c-bbca6c2e34be",
          "width": 80,
          "x": 2328,
          "y": 224,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b8aa72e9-06f9-402e-9a9c-243cc5773ac5",
          "width": 80,
          "x": 2776,
          "y": 96,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "720db5a1-0705-479e-8d8c-2553335e961c",
          "width": 80,
          "x": 2776,
          "y": 224,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c9b4313b-baf4-46d8-b58f-ebc7b513130b",
          "width": 192,
          "x": 2944,
          "y": 736,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "babfb291-8f38-482b-8045-5494050aadf6",
          "width": 192,
          "x": 3168,
          "y": 352,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "26604104-167d-43de-b5ba-d8c28b08712f",
          "width": 192,
          "x": 3168,
          "y": 800,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "64980321-4bb0-43be-a819-4beb99a55e9b",
          "width": 192,
          "x": 3392,
          "y": 320,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "918fd1d9-badc-41a7-bf56-e45dece680c1",
          "width": 80,
          "x": 3224,
          "y": 544,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "24d80378-1dbb-4083-bf15-ae4d6f234619",
          "width": 80,
          "x": 3224,
          "y": 672,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "8749b59d-ca9b-4e5b-8891-5432c28face8",
          "width": 80,
          "x": 2936,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0657e88f-f3b4-4c30-a295-861e16f53607",
          "width": 80,
          "x": 3064,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "8ead4a68-25a8-4269-aa13-355c331fe24f",
          "width": 512,
          "x": 3008,
          "y": 640,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "d6645f66-7ffd-4379-a200-bae2cefab11b",
          "width": 341,
          "x": 3328,
          "y": 64,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "78400d0b-7bd6-4598-909b-7ed67a5eb673",
          "width": 256,
          "x": 7552,
          "y": 32,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "9fd6a788-70f1-4cd6-8c85-417e1081ff3f",
          "width": 256,
          "x": 7760,
          "y": 32,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "5824da9b-a48d-460b-ab05-7164812d5470",
          "width": 256,
          "x": 7968,
          "y": 32,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "a4c514e0-f1e4-44f5-9d7b-b063d8e50a9f",
          "width": 32,
          "x": 7824,
          "y": -128,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "789c0370-6179-4dab-acdf-0ef5aa8a6063",
          "width": 32,
          "x": 7616,
          "y": -128,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "d5f17dd8-cafd-4a72-97ca-b3ecb307ee3b",
          "width": 32,
          "x": 8256,
          "y": -256,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "4cf2492c-4ec6-471f-8a99-cbedffe0f134",
          "width": 32,
          "x": 8992,
          "y": -256,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "c7ef45c3-8df2-42ff-976b-85beaad53fa7",
          "width": 192,
          "x": 7616,
          "y": -320,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "40903dbf-6b01-458b-8960-f198488278d6",
          "width": 192,
          "x": 8640,
          "y": -320,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "73f247f1-80a4-469e-b9e5-b204650c4448",
          "width": 80,
          "x": 7832,
          "y": -288,
          "zOrder": 1018,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "2ff647ae-3f88-4f9a-838a-7e1b868b495d",
          "width": 80,
          "x": 7960,
          "y": -288,
          "zOrder": 1018,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "1c878d55-aa25-498a-8152-d01ca38fd298",
          "width": 80,
          "x": 8088,
          "y": -288,
          "zOrder": 1018,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "87f9aa95-13f0-4a14-bbb8-98ccee490d5e",
          "width": 80,
          "x": 8472,
          "y": -288,
          "zOrder": 1018,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "114defa4-6cc7-439a-98fc-f2bb05d5ca41",
          "width": 80,
          "x": 8344,
          "y": -288,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "bcb5d27b-84f0-467a-9578-d44e558f9f5d",
          "width": 80,
          "x": 8216,
          "y": -288,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamSingle",
          "persistentUuid": "5b1462af-ca98-4565-a71b-a59734624a67",
          "width": 80,
          "x": 8600,
          "y": -288,
          "zOrder": 1019,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "cee5b6ae-ed81-48d2-ae2b-357c407955cb",
          "width": 192,
          "x": 4064,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "97efb10b-0f1d-410a-9ab5-4cfd606b3b71",
          "width": 192,
          "x": 3616,
          "y": 800,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "918a2d85-2ea1-4d98-ad07-8bbc217a6f61",
          "width": 512,
          "x": 3456,
          "y": 640,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "8c237781-0fb7-4b49-9298-0d7530a05e68",
          "width": 80,
          "x": 3512,
          "y": 831,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "41148fc2-e90d-4153-8ac2-27c1454e0007",
          "width": 80,
          "x": 3384,
          "y": 831,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "d46441bd-ec3c-437d-b5ed-83e781b52a55",
          "width": 192,
          "x": 4064,
          "y": 800,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "8bc6c5dc-19ed-40e8-a957-208b5a9aea4b",
          "width": 192,
          "x": 4512,
          "y": 800,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "f98269a9-bebd-4e75-9096-008c1dfca074",
          "width": 512,
          "x": 4352,
          "y": 640,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "e223b7cb-14db-4ca4-aa39-ce2f87196839",
          "width": 80,
          "x": 4416,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c04ecf98-505c-445f-b115-f8fc0fd4c187",
          "width": 80,
          "x": 4288,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "b4901f39-ca39-44cc-9181-0c9483114745",
          "width": 512,
          "x": 3904,
          "y": 640,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c879d27f-2edf-4f0b-9c1a-3c10492ade1f",
          "width": 80,
          "x": 3960,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0b9b6302-69db-4db2-b4e7-8b4c6ca582c3",
          "width": 80,
          "x": 3832,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "39574fb3-22c5-486a-b5f3-db3a19b0dc62",
          "width": 192,
          "x": 4952,
          "y": 800,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "e923d3e9-1dd1-4dcc-ae77-e05d3de34003",
          "width": 192,
          "x": 5408,
          "y": 800,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "f222113a-635c-4dfc-823d-e91ad1a03f03",
          "width": 512,
          "x": 5248,
          "y": 640,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "69abbf60-40ed-4c19-8605-e8b2532ffa22",
          "width": 80,
          "x": 5304,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "15012d79-703b-4e74-9d2e-4662de3a7856",
          "width": 80,
          "x": 5176,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "0f40b1bc-3e2a-4139-b742-0ab265a7512b",
          "width": 512,
          "x": 4800,
          "y": 640,
          "zOrder": 18,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "996a3ee8-8391-4bf0-b42d-91123343dd4c",
          "width": 80,
          "x": 4856,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "bebf07d5-fe58-4582-8153-70696cfa650a",
          "width": 80,
          "x": 4728,
          "y": 832,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "e5904dc9-35d3-4342-85c2-01d4cbb8de9c",
          "width": 192,
          "x": 3616,
          "y": 352,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "082689c5-b170-4bc4-a690-c8346f09ac34",
          "width": 192,
          "x": 4064,
          "y": 352,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "c854199b-bfa7-4c18-ba69-1de591d13c98",
          "width": 192,
          "x": 4512,
          "y": 352,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "3d8eff15-42a4-41a8-9763-9db20be9efd9",
          "width": 192,
          "x": 4960,
          "y": 352,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "4a3327ed-d726-4609-8171-13a2047086ce",
          "width": 192,
          "x": 5408,
          "y": 352,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "c8068d82-1e0c-47e9-b530-df2a4d499791",
          "width": 192,
          "x": 4512,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "a34e3fbc-474d-4d37-be66-f4bcc8999bbe",
          "width": 192,
          "x": 4960,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "06184fb2-883e-4c34-9556-2407117014c9",
          "width": 80,
          "x": 3672,
          "y": 544,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "fec29ab2-0dcc-468d-8eb3-59817fae2f24",
          "width": 80,
          "x": 3672,
          "y": 672,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "d1ce5093-d8c6-410a-9767-59c2b39a613b",
          "width": 80,
          "x": 4120,
          "y": 544,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "dc2ad2a9-5094-4f00-8d96-76351220b449",
          "width": 80,
          "x": 4120,
          "y": 672,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "5128ff60-9833-46fa-9443-bc16c6251e43",
          "width": 80,
          "x": 4568,
          "y": 544,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c981b13c-de41-43ff-a010-e6e0a276a4a9",
          "width": 80,
          "x": 4568,
          "y": 672,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "f4e306a2-8295-4383-85ee-03e70de99807",
          "width": 80,
          "x": 5016,
          "y": 544,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "d50750d6-e83a-4410-b75b-5b22a79ef445",
          "width": 80,
          "x": 5016,
          "y": 672,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "781c8c78-9e66-4be9-a92e-2689b01b7dde",
          "width": 80,
          "x": 5464,
          "y": 544,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a3b9d09b-0f52-48a5-88ba-066a21706905",
          "width": 80,
          "x": 5464,
          "y": 672,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "504b6788-08a2-4e70-865f-1aa504bbbc80",
          "width": 80,
          "x": 3832,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b32067fe-fcb4-464e-94b5-056d71f9a7a8",
          "width": 80,
          "x": 3960,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "73fa8604-5b18-4881-b53e-6721fb2e3541",
          "width": 80,
          "x": 4408,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "36ec5f3f-bdc8-454a-a657-ed928373a9db",
          "width": 80,
          "x": 4728,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "7444cfdd-6ae7-408b-a8f8-7d414f13f30b",
          "width": 80,
          "x": 4856,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "4c6987e2-1a00-4767-8f89-41db93d582ea",
          "width": 80,
          "x": 5176,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b118c6f0-2129-420e-a508-88186d512db8",
          "width": 80,
          "x": 5304,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "0a335cbd-cc01-409a-af1c-1aad25804bfd",
          "width": 80,
          "x": 2488,
          "y": 385,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "c0e8e1b0-94a7-4995-a518-3a56003be78d",
          "width": 80,
          "x": 3384,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "dcb2321f-dadd-41ec-91e9-e024a45b6451",
          "width": 80,
          "x": 3512,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "1e4d8dd2-05de-48af-9c86-15321c6c0f3a",
          "width": 80,
          "x": 4280,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "13fe0f04-cd15-4527-9c12-a82a17ea1299",
          "width": 80,
          "x": 4408,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "fa7022c4-66fd-470b-a1dc-0ac178750d34",
          "width": 80,
          "x": 3832,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "df414dd7-2d0e-4578-9ba0-a4d1a1935e0a",
          "width": 80,
          "x": 3960,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "dd40a12f-8eab-4298-80c9-ccd2b9346e5f",
          "width": 80,
          "x": 4728,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "a0ff4088-4b4b-4a84-9a55-0d0b8071ed88",
          "width": 80,
          "x": 4856,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "0039a887-b97b-4bb6-8d8e-acd175ed08a3",
          "width": 80,
          "x": 5304,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "aafab2fe-702c-4a09-aee7-a53a5548d457",
          "width": 80,
          "x": 5176,
          "y": 384,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "21d8d123-ebbd-4a63-92ee-f728ed3166b3",
          "width": 64,
          "x": 3680,
          "y": 320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "43b2f945-33ba-44ad-8993-24ba0c425106",
          "width": 64,
          "x": 4128,
          "y": 320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "964afeb4-5134-4a4c-962c-528fdd6d0b78",
          "width": 64,
          "x": 4576,
          "y": 320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "15af60d3-1083-4b0c-beb7-dd518e940b36",
          "width": 64,
          "x": 5024,
          "y": 320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "5f3145e7-3058-4d5f-8d8c-c27356d4c5ad",
          "width": 64,
          "x": 5472,
          "y": 320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "4412bc17-1952-465f-9f6e-e54badd6b471",
          "width": 64,
          "x": 5920,
          "y": 320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 400,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "c6bb2b50-4bb4-47ec-bb71-ae1cd8746050",
          "width": 800,
          "x": 6592,
          "y": 32,
          "zOrder": 102,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "ee012ada-d845-4042-8559-759edbf3b5de",
          "width": 341,
          "x": 6795,
          "y": -208,
          "zOrder": 184,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f575cede-521b-449f-a72b-d5d6581d9ddf",
          "width": 192,
          "x": 3840,
          "y": 736,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a7b6ce7f-84a0-4750-a0e5-2c4556a1112e",
          "width": 192,
          "x": 4288,
          "y": 736,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c9b6783e-6c3f-4615-b335-431817a85734",
          "width": 192,
          "x": 4736,
          "y": 736,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f6e70deb-e37b-41f5-9705-82a98fdb2a25",
          "width": 192,
          "x": 5184,
          "y": 736,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "d306556a-aa3d-474c-bcac-3e51afe7f8e7",
          "width": 256,
          "x": 3799,
          "y": 565,
          "zOrder": 1022,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "d3a794d6-acac-4ae8-9bf2-00c818e6d33b",
          "width": 256,
          "x": 4247,
          "y": 565,
          "zOrder": 1022,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "4c06d0ad-5942-4082-8ab0-d7943147aa89",
          "width": 256,
          "x": 4695,
          "y": 565,
          "zOrder": 1022,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "d87fcb3c-89b6-4a84-9e78-5163f5537d5e",
          "width": 256,
          "x": 5143,
          "y": 565,
          "zOrder": 1022,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "2c6542f4-398a-435d-9730-478721600dc3",
          "width": 192,
          "x": 480,
          "y": 800,
          "zOrder": 1023,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "b63b920a-6218-4b98-a42c-8e488c382524",
          "width": 192,
          "x": 2720,
          "y": 800,
          "zOrder": 1023,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "af83c909-8ee1-491f-9ef3-1aedfcfb2e0b",
          "width": 32,
          "x": 3616,
          "y": 160,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "0c00cad8-a95f-4d5f-b59b-e6dd52f0d7b2",
          "width": 32,
          "x": 3472,
          "y": 96,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "58896044-b046-4779-a73e-fe4a63834247",
          "width": 192,
          "x": 3616,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "ec1dca09-e043-48e7-bd27-b367f5e16be0",
          "width": 32,
          "x": 3616,
          "y": 192,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "56d54e15-db9a-4405-8743-5dc324a7cc22",
          "width": 192,
          "x": 5408,
          "y": -96,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c4ab6191-da10-4302-a2a1-7fad527a3d32",
          "width": 80,
          "x": 4280,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "955ce330-4249-4c00-8dd4-164d06c0af7b",
          "width": 224,
          "x": 3136,
          "y": 264,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "04f5311b-c51b-4a69-97a9-7be0b88ffe04",
          "width": 80,
          "x": 2936,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "321941e3-9312-4c4e-bfe3-e58c1f650b52",
          "width": 80,
          "x": 3064,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "9c125869-b127-44c4-ac42-9a2e79ba1356",
          "width": 80,
          "x": 3192,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "2a49b43d-95ed-4a9c-b2a3-a03e12eb5c7a",
          "width": 80,
          "x": 3320,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "6d1a9e21-bf09-4ca0-ac06-77269e8747a7",
          "width": 80,
          "x": 3448,
          "y": -64,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamSingle",
          "persistentUuid": "cd3818ec-be2e-4b6c-9d11-f6c17d129408",
          "width": 80,
          "x": 3576,
          "y": -64,
          "zOrder": 1024,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "1d63f8c7-52aa-4e51-bc21-012c8adfa8b8",
          "width": 32,
          "x": 3232,
          "y": 96,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "020f17b5-a30b-477a-8614-c7ab12e6c24e",
          "width": 32,
          "x": 3472,
          "y": 96,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "d7329695-8de0-4489-bb66-9d746446e355",
          "width": 32,
          "x": 3616,
          "y": 160,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "4e56e823-815f-4973-808f-296a627cbe17",
          "width": 32,
          "x": 3616,
          "y": 192,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c37a3b17-e9a5-4b08-a26b-be095b9793b2",
          "width": 448,
          "x": 0,
          "y": 736,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "d1c16bbf-2b17-47cc-b8d4-a3b46004e84b",
          "width": 32,
          "x": 3920,
          "y": 64,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "50e36913-9af9-44a3-bbdc-cd3c94f8618f",
          "width": 32,
          "x": 4368,
          "y": 64,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "dbb87fff-29eb-457e-9806-7d86a4d356a5",
          "width": 32,
          "x": 4816,
          "y": 64,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "29226995-b92e-4f93-8958-958f2c68ff90",
          "width": 32,
          "x": 5264,
          "y": 64,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "58a7f98f-a084-4376-b1d6-b01c1c5f0aaf",
          "width": 32,
          "x": 5712,
          "y": 64,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "7c223af0-29b0-4e3d-8d9e-2d6a5c688bb2",
          "width": 32,
          "x": 6160,
          "y": 64,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "08872355-5168-4214-b4ee-61a6636f0eb3",
          "width": 256,
          "x": 3360,
          "y": 672,
          "zOrder": 1025,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "4a86d3ae-ed19-4eb3-9e9a-418ef86dd987",
          "width": 64,
          "x": 6368,
          "y": 480,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2d60ee87-8c40-4ed2-bbcf-6970d24e5414",
          "width": 32,
          "x": 6608,
          "y": 224,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2f76347b-ca4d-437c-9ffc-5406a458a665",
          "width": 64,
          "x": 6816,
          "y": 672,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "844ecab8-f5e7-48fe-b3fd-03cecaa8170b",
          "width": 32,
          "x": 7056,
          "y": 416,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "fa63287b-2829-4e69-aaa9-3dedf2e55bfb",
          "width": 192,
          "x": 8373,
          "y": 1152,
          "zOrder": 1027,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 6
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 1.75
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1250
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 4,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "b624aa0f-0413-4a70-96a4-b3bfb46076fb",
          "width": 1120,
          "x": 7520,
          "y": 1344,
          "zOrder": 93,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "764437e2-e34a-431f-9f8b-cef7fb92f380",
          "width": 160,
          "x": 7915,
          "y": 1344,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "8444e583-5623-4844-b405-cc8859e8bb26",
          "width": 160,
          "x": 7723,
          "y": 1344,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "54f1784f-8484-4a4c-a916-c64c80f8f6a1",
          "width": 160,
          "x": 8299,
          "y": 1344,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "ac3d06aa-4e0d-416c-b1d3-8a71d523b5bc",
          "width": 160,
          "x": 8107,
          "y": 1344,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "3ad6e4fa-bc9a-48c5-8c40-ac2664b8bf82",
          "width": 160,
          "x": 7718,
          "y": 1707,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "94dfa215-dadc-4928-863e-c64232b9ae21",
          "width": 160,
          "x": 7910,
          "y": 1707,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "60dd778c-6485-4449-b429-68a39df56726",
          "width": 160,
          "x": 8102,
          "y": 1707,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "3a0d8f7e-e200-4257-a0d2-885b2c1f621b",
          "width": 160,
          "x": 8294,
          "y": 1707,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "3d7bbe14-2b44-4c10-a34d-f5a4849b2e0a",
          "width": 160,
          "x": 8491,
          "y": 1344,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "4ca7de19-54f2-480f-9938-adbf59523d20",
          "width": 160,
          "x": 8486,
          "y": 1707,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "27929c44-e594-4dc4-863a-14959261c2c0",
          "width": 256,
          "x": 7808,
          "y": 2080,
          "zOrder": 1028,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "00ac482a-0db2-4f7a-9d96-d2069adeaa58",
          "width": 256,
          "x": 7808,
          "y": 2080,
          "zOrder": 1029,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 3.25
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1deedca7-6dc1-4314-961e-1028f7c5e1a8",
          "width": 256,
          "x": 8064,
          "y": 2240,
          "zOrder": 1030,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "MiteDemon_Base",
          "persistentUuid": "bdf2701e-3266-4421-b745-43d8a26d9584",
          "width": 256,
          "x": 8064,
          "y": 2048,
          "zOrder": 1031,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 4.25
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3.5
            },
            {
              "folded": true,
              "name": "MiteMaxSpeed",
              "type": "number",
              "value": 175
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "2bd25453-bdcb-4039-a9b9-b055925bd5f8",
          "width": 160,
          "x": 7531,
          "y": 1344,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "cb950dc4-d4f7-4bbf-93a1-cc91a8036831",
          "width": 160,
          "x": 7526,
          "y": 1707,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "835f7a76-929e-467a-ab55-5bd0118524c4",
          "width": 192,
          "x": 7904,
          "y": 1120,
          "zOrder": 1032,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "a7e580da-ce6e-4208-b4b4-14cf261a6d5c",
          "width": 512,
          "x": 7744,
          "y": 960,
          "zOrder": 1033,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "Assets\\Images\\Levels\\10\\Background\\Background.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level10\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "type": "BuiltinCommonInstructions::Standard",
          "conditions": [
            {
              "type": {
                "value": "DepartScene"
              },
              "parameters": [
                ""
              ]
            }
          ],
          "actions": [
            {
              "type": {
                "value": "AnimatableCapability::AnimatableBehavior::SetName"
              },
              "parameters": [
                "Memory",
                "Animation",
                "=",
                "\"Linux\""
              ]
            },
            {
              "type": {
                "value": "ModVarObjet"
              },
              "parameters": [
                "Player",
                "LifeForce",
                "=",
                "10"
              ]
            }
          ]
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": true,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Level9",
      "name": "Level9",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.42994374832916443,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "MobileControls",
          "objects": [
            {
              "name": "JumpButton"
            },
            {
              "name": "Joystick"
            }
          ]
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "EndScreenBackground"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "RetryButton"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 7680,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "78dd0ffa-b22f-47a8-9b36-ef6a432b1d1e",
          "width": 128,
          "x": -128,
          "y": -5920,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 7680,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 66208,
          "y": -5920,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 66464,
          "x": -128,
          "y": -5920,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "014db1f5-0846-4cba-821e-57e29d368c14",
          "width": 256,
          "x": 64,
          "y": 664,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 7456,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "3f0ec037-2a70-4ea5-90eb-c1f8a7387a6c",
          "width": 66208,
          "x": 0,
          "y": -5824,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e08c1888-868a-438d-bf83-a9affe5815db",
          "width": 448,
          "x": 0,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "d1a591e5-d6c2-4c37-9b0e-bff58c09c7d5",
          "width": 66464,
          "x": -128,
          "y": 1632,
          "zOrder": 60,
          "numberProperties": [
            {
              "name": "animation",
              "value": 0
            }
          ],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 496,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "91892016-9d1e-49a5-b015-cda442ecdcd5",
          "width": 992,
          "x": 65536,
          "y": 272,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "1ff1c530-e0f7-4107-b03e-f1aa37458ec6",
          "width": 408,
          "x": 65800,
          "y": -240,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "59780ce3-bfab-4913-9837-ce9d47ee32d8",
          "width": 256,
          "x": 65856,
          "y": -464,
          "zOrder": 74,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "a793e36f-6c23-4a2e-a9ce-23d577c5bf35",
          "width": 576,
          "x": 38192,
          "y": -544,
          "zOrder": 138,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "FlippingPlatform2",
          "persistentUuid": "2a003b45-3f59-4d70-b090-ad3c4eda56f3",
          "width": 576,
          "x": 39648,
          "y": -544,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "752ed9d1-764d-48c9-ac4f-cfa4e36a2add",
          "width": 576,
          "x": 40864,
          "y": -544,
          "zOrder": 138,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "7db18126-4224-4da7-b222-df05969fcbe9",
          "width": 224,
          "x": 39104,
          "y": -576,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "733b8818-a72e-497f-85e1-4c0b0de879c9",
          "width": 1184,
          "x": 40448,
          "y": 768,
          "zOrder": 141,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "e36a055c-7096-4474-ad37-2ea8e42694be",
          "width": 256,
          "x": 45088,
          "y": -608,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "13e1310f-4990-4b68-8d40-d8857e512ce0",
          "width": 256,
          "x": 44832,
          "y": -288,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "08f8f770-074e-4b92-a50d-cc8a49f8b148",
          "width": 256,
          "x": 45088,
          "y": 32,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "ed378120-6441-4398-82a0-4a00cbf8907c",
          "width": 256,
          "x": 44832,
          "y": 352,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 448,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "20c7d26b-7a87-4510-a1fa-3545bc473118",
          "width": 448,
          "x": 44704,
          "y": -32,
          "zOrder": 44,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "927835bb-21d7-4808-8d52-7511e70ba6c5",
          "width": 512,
          "x": 45568,
          "y": 512,
          "zOrder": 89,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "c0e3fbfd-21bf-456e-8c1b-2dfdc74e86b2",
          "width": 256,
          "x": 42112,
          "y": 608,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 439,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "27622525-4211-423f-84a8-82774f409c52",
          "width": 544,
          "x": 42432,
          "y": -320,
          "zOrder": 90,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "9bef3e22-4dc5-45e8-8b96-79ddfa81db65",
          "width": 256,
          "x": 42656,
          "y": 64,
          "zOrder": 88,
          "numberProperties": [
            {
              "name": "animation",
              "value": 0
            }
          ],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 64,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "cd4b049d-f9e3-4c4b-bf04-58b4c6008b6a",
          "width": 128,
          "x": 43488,
          "y": 864,
          "zOrder": 145,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "091d5c5f-f19c-4624-839d-7a5bfd6e6912",
          "width": 224,
          "x": 43072,
          "y": 288,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "ab559f65-d258-42e2-9775-f0976fc47bee",
          "width": 512,
          "x": 41408,
          "y": -896,
          "zOrder": 89,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "222f747a-a50d-40ad-9e81-80328bb4883b",
          "width": 256,
          "x": 43296,
          "y": -800,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 320,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "6a64bcf3-6445-477f-845e-40e804fed53c",
          "width": 640,
          "x": 43840,
          "y": -480,
          "zOrder": 148,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 208,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "defdf758-9ab1-4593-8de0-01d777cc892c",
          "width": 480,
          "x": 42528,
          "y": 736,
          "zOrder": 144,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "c8fa1dc3-6301-492e-b4b3-2040ea26db9a",
          "width": 512,
          "x": 41920,
          "y": -960,
          "zOrder": 89,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 211,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "e73ccb81-9b08-4804-814f-dc97ecdd3863",
          "width": 256,
          "x": 42720,
          "y": -224,
          "zOrder": 100,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "a923c7df-094a-4353-8908-a5c4e3ac4184",
          "width": 341,
          "x": 41504,
          "y": -1152,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "80e869b5-3d8d-445c-97fb-088192e12323",
          "width": 341,
          "x": 41008,
          "y": 512,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "9f014e68-0b09-40c0-a931-eadc92b040cd",
          "width": 256,
          "x": 41984,
          "y": -1216,
          "zOrder": 112,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "288b7656-0345-46b2-a1a5-e6ae6daa96c7",
          "width": 192,
          "x": 44192,
          "y": 608,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a3d568eb-ac50-4e2b-833e-5f64b6e248e8",
          "width": 448,
          "x": 1000,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d657918b-7d8b-4a36-a630-b2a3c7187213",
          "width": 448,
          "x": 1448,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "45f4c03d-56b9-45a1-bf75-b704284cc85f",
          "width": 448,
          "x": 1896,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "586130bc-9955-4527-8971-b58f44b6bf41",
          "width": 448,
          "x": 2344,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "ee2451d2-9c34-4690-8765-0efaed7fb1fb",
          "width": 448,
          "x": 2792,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d941ed4b-81b5-4612-8ef2-b38e4fed5ff7",
          "width": 448,
          "x": 3240,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "078d6cf7-f312-4b10-a0a2-26869a51c3b4",
          "width": 448,
          "x": 5480,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "47cda15a-3aeb-45a0-9574-5bb709088666",
          "width": 448,
          "x": 5032,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "0d935c3f-c30f-40e0-9b00-d9b749471d50",
          "width": 448,
          "x": 4584,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "b6d5e053-dda3-4159-a40b-c162a356f0ba",
          "width": 448,
          "x": 4136,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3d69b794-47e8-4ae6-9fcd-d8c8f8e82407",
          "width": 448,
          "x": 3688,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "68be6afc-767f-47bf-ab09-6ea35e6a2b6e",
          "width": 448,
          "x": 6376,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3e169aa6-ab47-45ea-890b-e48bfa053d97",
          "width": 448,
          "x": 5928,
          "y": 760,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "14a70639-1ee0-49f2-95b1-d63bebfb4056",
          "width": 448,
          "x": 6824,
          "y": 760,
          "zOrder": 150,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "50d9b7fe-6e54-4873-bc24-e4ffcbefb56a",
          "width": 448,
          "x": 7272,
          "y": 760,
          "zOrder": 151,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "41ef4b16-aa1f-4f62-a897-d66639cd46c5",
          "width": 448,
          "x": 1448,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "6d93b6fa-6cb3-45d8-bd26-a6c5b502a4d2",
          "width": 448,
          "x": 1896,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "2a63812d-8179-47e8-96b4-6f3192dc8c89",
          "width": 448,
          "x": 2344,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "4a575dfe-a2dd-4680-a125-3cd62c32789f",
          "width": 448,
          "x": 2792,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "577d5a63-94d2-4a79-aa57-afa3c0587af5",
          "width": 448,
          "x": 3240,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1bf78dde-6858-41ee-b9f7-8a9ab951a4bd",
          "width": 448,
          "x": 5480,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "39640890-ad1a-4faa-94bb-baf50eb2856d",
          "width": 448,
          "x": 5032,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "0efdfa96-5e7a-4765-aa10-878c9cf518de",
          "width": 448,
          "x": 4584,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fb957850-f49d-4a10-a845-9cd8f7c5bc29",
          "width": 448,
          "x": 4136,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "db138cd2-b2dc-4574-ad8e-e63d367dba9c",
          "width": 448,
          "x": 3688,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "45f5dd1f-6c7f-4c38-917f-ba4d086e99bc",
          "width": 448,
          "x": 6376,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1be0b2bf-3e07-498a-8743-103630045007",
          "width": 448,
          "x": 5928,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "bc26a819-212f-480b-8c63-0cc580b680d4",
          "width": 448,
          "x": 6824,
          "y": 376,
          "zOrder": 150,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "8a8569ed-c763-49d9-8e44-3ddd9075de86",
          "width": 448,
          "x": 7272,
          "y": 376,
          "zOrder": 151,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "d43f0f2c-51e9-453d-8957-3452e8b68eeb",
          "width": 192,
          "x": 1000,
          "y": 712,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 0.9
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1200
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": -90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "3b2bf5b8-5d04-4817-97bf-180e796edaa0",
          "width": 192,
          "x": 2000,
          "y": 712,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 0.9
            },
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0.9
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 2200
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": -90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "9810fbf0-aec3-470e-af44-281cd7756366",
          "width": 192,
          "x": 4000,
          "y": 712,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 0.9
            },
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1.8
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 3450
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": -90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "74a0fada-7cb8-4475-b9ca-2623be1810de",
          "width": 192,
          "x": 7250,
          "y": 712,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 3.4
            },
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.7
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 4000
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "0b6201c0-f9e1-41c9-8c87-e278731e80d6",
          "width": 448,
          "x": 1000,
          "y": 376,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "f468d415-922e-493b-b471-4b7ca147d325",
          "width": 0,
          "x": 14016,
          "y": -72,
          "zOrder": 152,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "8a61c814-9974-4ccb-81d6-91878d70bfbf",
          "width": 256,
          "x": 16640,
          "y": 216,
          "zOrder": 153,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1.6
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "68a7c71d-e29f-461b-bb71-6814828ed906",
          "width": 448,
          "x": 16544,
          "y": 152,
          "zOrder": 151,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "b7578801-0500-4ce8-9121-75d9ffe2af0b",
          "width": 256,
          "x": 9760,
          "y": 1144,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "2ba12be9-2468-4532-9f38-80bad5a5762d",
          "width": 256,
          "x": 9760,
          "y": 1080,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "2fdd2653-e387-4e59-8ca0-fe0350d7a1d1",
          "width": 256,
          "x": 9952,
          "y": 1080,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "3648cec8-993e-4dde-b234-ee52d63527fb",
          "width": 256,
          "x": 10144,
          "y": 1080,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "8aaa527e-09a1-41e5-a51d-ff8dbf97e125",
          "width": 256,
          "x": 9912,
          "y": 1164,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "46981ade-7427-4735-ba1f-7954ec76e85a",
          "width": 256,
          "x": 10080,
          "y": 1208,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "9ab9cffe-ddb9-48bf-bb0f-481b79801e5c",
          "width": 256,
          "x": 9600,
          "y": 1096,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "424f3dfa-bd40-4d04-8f51-474a09912585",
          "width": 256,
          "x": 10336,
          "y": 1080,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "c3634004-b6f8-486e-957c-d43909bc3483",
          "width": 256,
          "x": 9952,
          "y": 1304,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 448,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "76d6dafe-0906-4e1e-94ff-6e6fa035d2a8",
          "width": 896,
          "x": 10592,
          "y": 984,
          "zOrder": 154,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "f386f7a1-de7f-44f3-bd28-021c902463ec",
          "width": 256,
          "x": 10208,
          "y": 1176,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "fa091f43-1310-4ee1-b334-5a047d1cbbe0",
          "width": 256,
          "x": 10208,
          "y": 1176,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "add0b5bc-9d58-4d86-a3bb-745622847e97",
          "width": 224,
          "x": 18624,
          "y": 1048,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "184bd3ff-8b23-489f-a81e-b640f8b0854f",
          "width": 224,
          "x": 18368,
          "y": 920,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "8ffcaca5-c8f4-4ab5-8dcf-b0ea3a75d2e1",
          "width": 224,
          "x": 18880,
          "y": 920,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "94e79a25-0b3a-4728-a4b6-9a8d65d1a724",
          "width": 224,
          "x": 18272,
          "y": 1048,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "d0061aef-b334-4262-aba6-9b687ddad770",
          "width": 224,
          "x": 18336,
          "y": 1176,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "761ed959-893d-412b-8305-7b1383174eea",
          "width": 224,
          "x": 18464,
          "y": 1304,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "dd5b9858-0939-462e-9c7b-e5fec57a7a35",
          "width": 224,
          "x": 18624,
          "y": 1432,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "7117cf1d-b7f2-455e-9fd4-8f56bfccabc0",
          "width": 224,
          "x": 18976,
          "y": 1048,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "175fe6f9-9c2a-4ead-869a-11ef192355d1",
          "width": 224,
          "x": 18912,
          "y": 1176,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "d1f7d296-68b0-4c8d-9b98-629d3626ff57",
          "width": 224,
          "x": 18784,
          "y": 1304,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "2732326b-879e-47f1-a14f-212e2c2cec43",
          "width": 224,
          "x": 18528,
          "y": 952,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "3d96a7d2-e4fa-49ce-bbc9-5f23029d209b",
          "width": 224,
          "x": 18720,
          "y": 952,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "9444ddad-b491-4a43-b4d1-3dfe1392308a",
          "width": 224,
          "x": 18464,
          "y": 888,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "e3c58260-75e3-4831-abe5-47d90ea3854a",
          "width": 224,
          "x": 18784,
          "y": 888,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 160,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "605ec0cc-ac78-406a-93f6-f0dff6985a51",
          "width": 256,
          "x": 42416,
          "y": -218,
          "zOrder": 100,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 0.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "7af61270-7d5f-4e7f-b34f-e578f11c4bcc",
          "width": 256,
          "x": 42464,
          "y": 64,
          "zOrder": 88,
          "numberProperties": [
            {
              "name": "animation",
              "value": 0
            }
          ],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5.5
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.75
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "717ed16c-6e4c-45fc-a083-18473810247b",
          "width": 123,
          "x": 1440,
          "y": -524,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "f988e65a-bb26-4ae8-9cad-37d3cf575d07",
          "width": 123,
          "x": 1440,
          "y": -463,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "5f972e04-a657-4531-bf9e-65726a7cbae6",
          "width": 123,
          "x": 1440,
          "y": -399,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "4a8fa10d-d523-4c93-a4fb-2824068ae4c2",
          "width": 123,
          "x": 1501,
          "y": -338,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "52eebf64-847e-4c7f-ad6c-518ffb44b651",
          "width": 123,
          "x": 1563,
          "y": -355,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "864ec3e9-2850-41d8-959f-7d335b560e04",
          "width": 123,
          "x": 1455,
          "y": -355,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "c830ce23-1aca-4fca-804c-3cfedf1d54ab",
          "width": 123,
          "x": 1580,
          "y": -399,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "cadbec03-c6cc-4cdd-94b9-156b44fe748c",
          "width": 123,
          "x": 1580,
          "y": -463,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "85afea78-63b6-495f-aeaa-8ff24aaf46a3",
          "width": 123,
          "x": 1580,
          "y": -524,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "eb14caa6-ae46-48b4-8ff6-495ef75e23ec",
          "width": 123,
          "x": 1688,
          "y": -463,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "50ecbe55-e5a8-4ef8-8c83-07007364e1cc",
          "width": 123,
          "x": 1717,
          "y": -399,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "77d89ca1-7c14-4066-b181-fb38dc3ee7c3",
          "width": 123,
          "x": 1749,
          "y": -355,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "126b3998-fa96-4fa1-b974-2713c9d6e1be",
          "width": 123,
          "x": 1779,
          "y": -399,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "d7fd251a-330f-4770-86cd-b1c8d5ae5114",
          "width": 123,
          "x": 1811,
          "y": -431,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "24cf757b-f43b-492b-9d5f-12d8951b72d1",
          "width": 123,
          "x": 1840,
          "y": -399,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "8ac3fbe7-02f6-4c1e-ba9c-4b31d526ae8b",
          "width": 123,
          "x": 1872,
          "y": -355,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "f23444d6-6f9c-4f0b-96ec-2df1de2ad8b3",
          "width": 123,
          "x": 1904,
          "y": -399,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "a8ecfab1-7995-426c-a4cc-22c96acd05be",
          "width": 123,
          "x": 1933,
          "y": -463,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "54ca0563-4074-42bd-8dcb-d37f5f235d6d",
          "width": 123,
          "x": 2041,
          "y": -524,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "05bd67ee-6103-4f73-ba00-db6c52547ee6",
          "width": 123,
          "x": 2041,
          "y": -463,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "7eda99e9-659f-422a-81de-87a99ac3b255",
          "width": 123,
          "x": 2041,
          "y": -399,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "2d07dcbb-8399-4f92-beea-2ac1e2897899",
          "width": 123,
          "x": 2120,
          "y": -338,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "40ddb0e0-3a97-48bc-8bbd-f10467e27819",
          "width": 123,
          "x": 2164,
          "y": -355,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "5810291f-80ab-4c45-8a69-2ff9a2240db4",
          "width": 123,
          "x": 2056,
          "y": -355,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "87e57a2a-b7fd-46f1-b4fa-34d0d41bb04b",
          "width": 123,
          "x": 2181,
          "y": -399,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "3bc562a5-bf7c-4e13-9aa6-320e48c3a95d",
          "width": 123,
          "x": 2181,
          "y": -463,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 123,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "954f0750-7355-4a3a-8a33-0b2f381905ab",
          "width": 123,
          "x": 2181,
          "y": -524,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3e986255-eff4-43af-a669-371efcf9f611",
          "width": 448,
          "x": 22144,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "aa39c35c-79f9-49f1-884e-2cb8fd871421",
          "width": 448,
          "x": 22592,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "779f971b-ee8a-426c-b9c6-04a7c737d696",
          "width": 448,
          "x": 22144,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "5c0d6c19-9e8a-45dc-93f1-638619e70c52",
          "width": 448,
          "x": 22592,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "f15d87d5-ad7c-4490-b9c5-dfbeeb4f46bb",
          "width": 341,
          "x": 22432,
          "y": 768,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "2b58e44f-f144-437e-8b50-3eb1de97144b",
          "width": 341,
          "x": 22432,
          "y": 352,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "7a615f69-42d9-42f8-8843-f20665a7ab31",
          "width": 448,
          "x": 23040,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1a1ca9dd-d022-4edf-a7bf-d2d47612d416",
          "width": 448,
          "x": 23040,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "defff85b-3842-4516-9cc0-763b3cf13708",
          "width": 448,
          "x": 23488,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "729bfb20-b1ae-4c8e-b9ad-77782ed905a8",
          "width": 448,
          "x": 24064,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "0c50d508-c020-48e5-86d1-cced1162f80b",
          "width": 448,
          "x": 23488,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "bc503635-09c1-4487-a351-3047eb74c017",
          "width": 448,
          "x": 23936,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "b9cb7560-0826-423a-9635-dabc287e5d0d",
          "width": 448,
          "x": 24384,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "9318a10f-c0a7-4c2a-af17-2755ada52769",
          "width": 448,
          "x": 24384,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "8fb01c11-2960-422a-bd87-86444aeb7929",
          "width": 448,
          "x": 24512,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f94a0b66-0d91-4283-902d-6c300e7c1a96",
          "width": 448,
          "x": 24832,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "MiteDemon_Base",
          "persistentUuid": "d23cfbfc-c6e3-49fb-bbf2-58d912cd7f98",
          "width": 256,
          "x": 24640,
          "y": 288,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 5.5
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c010f2fc-c295-4c2d-a1ff-0a7237be73f0",
          "width": 448,
          "x": 25728,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "714c0a64-b245-4b09-a3a8-12be5efaab47",
          "width": 448,
          "x": 25408,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 529,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "09c536df-0008-48fe-899d-6774d31f8746",
          "width": 1058,
          "x": 25760,
          "y": 552,
          "zOrder": 15,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "cdae75b1-9d58-4051-b196-9d7018effa66",
          "width": 448,
          "x": 26176,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "be656fde-c820-4161-89f7-1451cfa8309c",
          "width": 448,
          "x": 27520,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "7dc3d7a9-8b20-4d6c-99d5-527a589e29cf",
          "width": 448,
          "x": 26624,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a5b4774b-ffdc-4f3c-9f43-a81f80dd6c6c",
          "width": 448,
          "x": 27552,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a613bf28-5a34-457a-bdb0-5f9c5d4e542c",
          "width": 448,
          "x": 27104,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "MiteDemon_Base",
          "persistentUuid": "381d0117-f808-4c69-a18e-d1a8c49dea8b",
          "width": 256,
          "x": 28512,
          "y": 832,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0.9
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 6.5
            },
            {
              "folded": true,
              "name": "MiteMaxSpeed",
              "type": "number",
              "value": 600
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3fda4a04-bfd6-40c4-964e-922bb06e58ea",
          "width": 448,
          "x": 25280,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "8959cd76-0111-42cf-b109-1b0eba5e6382",
          "width": 448,
          "x": 24960,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "911ee21a-6502-49dd-8c03-06755fb97562",
          "width": 448,
          "x": 27291,
          "y": -32,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "MiteDemon_Base",
          "persistentUuid": "4908cbef-f246-4055-919e-d01cbadc9767",
          "width": 256,
          "x": 27387,
          "y": 64,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 9
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1.5
            }
          ]
        },
        {
          "angle": -90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "727f6cf6-133d-4f21-8e06-9544120fa128",
          "width": 192,
          "x": 27281,
          "y": 64,
          "zOrder": 156,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 4
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1500
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 16
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 60,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "4d078e3d-fd34-4ece-9d0c-e71d213dc9f6",
          "width": 291,
          "x": 27628,
          "y": 84,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "42c00175-bab5-4260-bc0f-c5c5679ac69b",
          "width": 448,
          "x": 27296,
          "y": 288,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -70,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "14450a47-259c-4b2f-8354-5ad606a9985b",
          "width": 192,
          "x": 27286,
          "y": 17,
          "zOrder": 156,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 8
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1250
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 16
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 60,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "39ff9525-f3d2-4de0-908e-0edc46712c1a",
          "width": 291,
          "x": 27112,
          "y": 84,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e2f40c48-b2bf-4f93-939a-6ef883dcbbd9",
          "width": 448,
          "x": 28000,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "50962561-e394-4030-ab0a-c48f005cf80d",
          "width": 448,
          "x": 28576,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "7dc269ef-a7f8-4170-b1a2-5c8d30a80f16",
          "width": 448,
          "x": 29024,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fdbbbe71-fa9d-4439-9bb5-e8bab1cb9ad5",
          "width": 448,
          "x": 30656,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d3921ba8-9dfe-4dd8-b216-7491a5da9c11",
          "width": 448,
          "x": 30208,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "181961ab-e6ac-4ba1-a1d2-4266e47305fe",
          "width": 448,
          "x": 29760,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e0f5b0f4-142c-47c6-89f5-77e1a1144ab2",
          "width": 448,
          "x": 28416,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "2b7673bc-578b-4c3d-86c1-703ad35c6398",
          "width": 448,
          "x": 27968,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "b5aceeed-861c-4c3b-b055-647af46ec705",
          "width": 448,
          "x": 29312,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "4675de5f-904e-4dea-be07-fae91957af0d",
          "width": 448,
          "x": 28864,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1a9fe922-23a8-4155-a226-58e343c93184",
          "width": 448,
          "x": 31104,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e4886847-5d22-4b36-b7df-cc84f3bf7382",
          "width": 448,
          "x": 30656,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f7e83488-2f1f-44e0-b8ca-10891c1f2129",
          "width": 448,
          "x": 29760,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d91640b9-9e2f-4939-992d-4eb09d569259",
          "width": 448,
          "x": 30208,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "b3789834-c94f-4643-af17-ee57d3293784",
          "width": 448,
          "x": 31712,
          "y": 432,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "368b62a6-0c49-45ff-bba6-f53d1b5bf2d8",
          "width": 448,
          "x": 32256,
          "y": -80,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "862f26ca-263c-4e30-a875-ae6b7937f4cb",
          "width": 448,
          "x": 31104,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "dc927224-0f03-40c8-931f-2837bfdad1a1",
          "width": 448,
          "x": 31904,
          "y": 848,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "e572ca36-aad7-4d60-9ebe-5c9c55de746e",
          "width": 192,
          "x": 27280,
          "y": 96,
          "zOrder": 15,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1900
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 16
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": -60,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "2b1fe8a7-6e00-40f9-a046-75b4a4ea10eb",
          "width": 192,
          "x": 27294,
          "y": 35,
          "zOrder": 15,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 12
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1250
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 16
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "6593c9a7-2c55-442b-a165-518d68697b4a",
          "width": 341,
          "x": 30947,
          "y": 352,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "0ca265a6-6d2d-43e9-b2fa-6226a0353c51",
          "width": 341,
          "x": 30936,
          "y": 768,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "7b5adb7a-8859-4b4e-a6d1-bbb97b41786d",
          "width": 448,
          "x": 32224,
          "y": 528,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a17585bd-08b0-4552-bcc1-f5d110a103e0",
          "width": 448,
          "x": 23936,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "de797909-0eea-465d-b64b-6eb272fe8344",
          "width": 448,
          "x": 23488,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "303a002a-34cd-4e4c-8467-4a4f78e44bfa",
          "width": 448,
          "x": 23040,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "8618dbbb-7e5c-4996-9ddc-285e690192e1",
          "width": 448,
          "x": 22592,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "40f5404c-0210-4861-831c-15fa88bc16a1",
          "width": 448,
          "x": 22144,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "073741b3-9abf-4164-92f9-3a896089635a",
          "width": 448,
          "x": 24832,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "250a225a-f420-4380-a926-6b92300c999f",
          "width": 448,
          "x": 26176,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "cbe1b12c-e916-4fb4-875f-392ed19cb84e",
          "width": 448,
          "x": 25728,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "5b33fe94-7a3e-4a31-8cef-9b5c421d1d8e",
          "width": 448,
          "x": 25280,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d9ec3bff-417d-49cf-a6d8-a6e9671fbd68",
          "width": 448,
          "x": 27968,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a3d5e403-5694-42c6-b870-8ef517f3205d",
          "width": 448,
          "x": 28416,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f6409571-f2b4-4e56-8fc5-908082c71504",
          "width": 448,
          "x": 29312,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e39b8dba-ed34-410b-9cbb-23f0657eb7e2",
          "width": 448,
          "x": 28864,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "8f54812f-8913-4ee4-8d3b-9119a3c1a0d4",
          "width": 448,
          "x": 30208,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "87c55148-68b8-4b80-a67c-86d065f0d0a1",
          "width": 448,
          "x": 29760,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fde67196-179a-42a3-af07-cac609c09103",
          "width": 448,
          "x": 31104,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "70c85a5e-ca6c-4de8-9daf-ca006215de33",
          "width": 448,
          "x": 30656,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "52c24bae-5f13-4bca-b1cb-25ecf43e95e3",
          "width": 448,
          "x": 31520,
          "y": 16,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "decd3c1c-ca28-4347-8fe1-908ceb8f9133",
          "width": 192,
          "x": 29520,
          "y": 968,
          "zOrder": 156,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 1.5
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 750
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1.5
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "03ab49d1-216a-46fe-bf76-bb9899a84fe8",
          "width": 448,
          "x": 26624,
          "y": 192,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "984ce3f1-b5fa-46c3-af31-6ee32792bd10",
          "width": 448,
          "x": 26656,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3a2e1902-3315-4c08-b48d-f417f62453d3",
          "width": 448,
          "x": 27072,
          "y": 1024,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d5cd24bc-91ef-4827-bc0e-57d3f5ecd28b",
          "width": 448,
          "x": 21032,
          "y": 827,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "2eb7444a-1321-4bcd-a211-d8727fcf8b9f",
          "width": 448,
          "x": 20584,
          "y": 827,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "58dfd4eb-4496-40da-aedc-1925bdbde9d8",
          "width": 448,
          "x": 20136,
          "y": 827,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "ad872f24-1da1-477e-a3c6-2159fa965605",
          "width": 448,
          "x": 31840,
          "y": -304,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fb10c2f0-9b2a-42d1-bb1c-cbfab6b3518e",
          "width": 448,
          "x": 32160,
          "y": -624,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -20,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "c285dac7-827e-481f-8257-0ba10192b6cb",
          "width": 192,
          "x": 31419,
          "y": 155,
          "zOrder": 156,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 1.5
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 500
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e90cdefe-aa71-4ade-9d0e-e62d0c883c09",
          "width": 448,
          "x": 32480,
          "y": -944,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a6d20118-40d4-4eae-b1fe-32e96235d001",
          "width": 448,
          "x": 32832,
          "y": -48,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "78a64562-8ccb-4151-a3f8-0ff1236a1f2a",
          "width": 448,
          "x": 32576,
          "y": -400,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "2d15094a-cd4f-428f-b3b6-67527d9853dc",
          "width": 448,
          "x": 32896,
          "y": -720,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "ce283183-dc08-416d-8547-591639c12d7e",
          "width": 256,
          "x": 32608,
          "y": 160,
          "zOrder": 157,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "72a128a9-0dc2-4273-9402-890f1b2a339a",
          "width": 256,
          "x": 32608,
          "y": 160,
          "zOrder": 158,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "66dbbd2f-3690-4e0d-9737-747f4b421208",
          "width": 448,
          "x": 33472,
          "y": -688,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c27850cc-a59d-45db-893a-048802915cbd",
          "width": 448,
          "x": 33472,
          "y": -1296,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "0b65baf0-ca1f-4c65-8267-f715029ae76a",
          "width": 448,
          "x": 33792,
          "y": -1008,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "6f1f6a55-f5bc-41dd-a48a-7194bdd95c2d",
          "width": 448,
          "x": 32800,
          "y": -1264,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "664d77a4-12c0-4d2c-8c96-dd79fff212f3",
          "width": 448,
          "x": 33120,
          "y": -1584,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c3a6faa7-54e1-4ba4-b50e-62e32b6c5d19",
          "width": 448,
          "x": 33448,
          "y": -1955,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "4f74fbcf-a6fa-4f65-bcfb-17a75aa2231c",
          "width": 448,
          "x": 34264,
          "y": -1683,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "6a111452-9dc8-4b95-bc51-b9ad4870e905",
          "width": 448,
          "x": 33992,
          "y": -2019,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "39a8db3f-6661-4c3c-9c01-779c2f4d5add",
          "width": 448,
          "x": 33704,
          "y": -2339,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c69fd495-c17e-4920-af8e-209ba0b9f6ae",
          "width": 448,
          "x": 34248,
          "y": -2403,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3ea13fb6-f037-4d8e-a966-fefee431832f",
          "width": 448,
          "x": 34520,
          "y": -2067,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "44c8a726-b0b9-472e-9874-fb727ef43897",
          "width": 448,
          "x": 33960,
          "y": -2723,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f5145d5d-7c67-429e-810b-2d685d9826f5",
          "width": 448,
          "x": 34776,
          "y": -2451,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "ee6a91b7-b821-4a62-b4ff-b827c3c7bd18",
          "width": 448,
          "x": 34504,
          "y": -2787,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "68dc30b6-adf4-4bb1-aef2-9e24c8ff88c6",
          "width": 448,
          "x": 34216,
          "y": -3107,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "359d7254-933e-4a4f-bbd6-7c135100ba73",
          "width": 448,
          "x": 35168,
          "y": -2656,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e13daef0-72be-4ef6-ae4e-168904ad0dee",
          "width": 448,
          "x": 35168,
          "y": -3360,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "66e31e33-2f19-4f4b-bcf4-0af0c758d206",
          "width": 448,
          "x": 34760,
          "y": -3171,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fb81ccb6-6e2f-47d6-a89e-cc9ad963f57c",
          "width": 448,
          "x": 34472,
          "y": -3485,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "2da2209a-c27e-4aa0-bd22-f168ddf2ef57",
          "width": 448,
          "x": 34728,
          "y": -3875,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e842ecc9-8bd7-4260-9cf6-d47164a909cb",
          "width": 448,
          "x": 35168,
          "y": -4096,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "ebd434e4-1991-4fe4-83c8-971fb3ae7f90",
          "width": 341,
          "x": 35232,
          "y": -3616,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "ca3196ff-a0e7-4ab6-a8a2-7924cdf48030",
          "width": 341,
          "x": 35232,
          "y": -2912,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "7f63fb9f-e146-4d32-b5ed-d040e19b52f8",
          "width": 448,
          "x": 35616,
          "y": -4096,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 288,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "812e218a-1613-4a5e-af64-15d47eb9052b",
          "width": 576,
          "x": 37072,
          "y": -3360,
          "zOrder": 161,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 288,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "c5865361-cb45-4613-bedf-51aef61107e1",
          "width": 576,
          "x": 37072,
          "y": -2656,
          "zOrder": 161,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "ff12c5e4-7790-455c-ad83-38f8d4234e4f",
          "width": 192,
          "x": 37664,
          "y": -4000,
          "zOrder": 162,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "32caad94-5132-44c1-86e0-e0c0e82b798f",
          "width": 80,
          "x": 37720,
          "y": -3808,
          "zOrder": 163,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "a9a19e43-e04b-4342-8150-16698e4a613b",
          "width": 80,
          "x": 37720,
          "y": -3680,
          "zOrder": 163,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "73a52472-c2c7-4256-bcb1-aadc98901f28",
          "width": 80,
          "x": 37720,
          "y": -3552,
          "zOrder": 163,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "b500c0ea-c929-44e4-b337-68b4bbe3e9b5",
          "width": 80,
          "x": 37720,
          "y": -2848,
          "zOrder": 163,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "6db1de6b-c7dc-4e31-a6c9-450d01b675e5",
          "width": 80,
          "x": 37720,
          "y": -3104,
          "zOrder": 163,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "5ef7c699-89d4-422a-91ff-998d61d5733a",
          "width": 80,
          "x": 37720,
          "y": -2976,
          "zOrder": 163,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "f584c190-ba72-4f14-9e33-43143552dcb4",
          "width": 80,
          "x": 37720,
          "y": -2720,
          "zOrder": 163,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "3bfa6be1-ff72-4614-a82c-c50e9d7772d1",
          "width": 192,
          "x": 34501,
          "y": -2441,
          "zOrder": 156,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1250
            },
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 4.5
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 9
            }
          ]
        },
        {
          "angle": 125,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "ff550ec5-6da7-4b48-a47e-9ee88efe4b7c",
          "width": 192,
          "x": 34338,
          "y": -2542,
          "zOrder": 156,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1250
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 9
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "7ac516cd-8be0-4775-8d6f-7435869493e1",
          "width": 448,
          "x": 36064,
          "y": -4096,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "0779b2c4-a9eb-4f5a-b344-91f6c38a9ea5",
          "width": 448,
          "x": 36928,
          "y": -512,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "399983ac-f5b0-455d-9b53-c020507284c4",
          "width": 448,
          "x": 36160,
          "y": -531,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1e3b60bb-5832-429a-93d7-89b1b8487cdf",
          "width": 448,
          "x": 35712,
          "y": -531,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "b29e92ff-f462-4085-93ee-4cc0ddf6875e",
          "width": 448,
          "x": 35712,
          "y": -147,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -55,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d00e5fb1-0ff9-4c70-ab2f-480a2e9787d2",
          "width": 448,
          "x": 36550,
          "y": -349,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "97d37a0f-2785-41d5-81a4-517d1a9ca0eb",
          "width": 448,
          "x": 36160,
          "y": -147,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "200a963e-4a92-49e9-8d0a-b8aa672a7253",
          "width": 480,
          "x": 35424,
          "y": -339,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "MiteDemon_Base",
          "persistentUuid": "5cb84dc4-f90a-4d2d-a6cd-ed841b07639a",
          "width": 256,
          "x": 35808,
          "y": -339,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0.75
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "MiteMaxSpeed",
              "type": "number",
              "value": 600
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "7d20bf97-a99a-4fae-8a4e-afc92f7cb6b9",
          "width": 448,
          "x": 36512,
          "y": -4096,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3b84c94a-302d-47f5-8972-0ef9ffd9e505",
          "width": 448,
          "x": 36960,
          "y": -4096,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "ffc4f0bf-79be-4847-9391-7f70ca91c430",
          "width": 448,
          "x": 37408,
          "y": -4096,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "9f148af9-d62c-490d-ae66-e1c5e4562e69",
          "width": 448,
          "x": 35616,
          "y": -3360,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3ed073a5-aaea-4306-bab9-dcb64ad3c899",
          "width": 448,
          "x": 36512,
          "y": -3360,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "9423f9aa-62a1-4c0b-bd36-5dccebc5a5d0",
          "width": 448,
          "x": 36064,
          "y": -3360,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "12f0e8cb-f72a-490d-9b73-0cc2289ad2e6",
          "width": 448,
          "x": 36064,
          "y": -2656,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "7da1f724-7ae3-4800-976d-35d668a477d0",
          "width": 448,
          "x": 35616,
          "y": -2656,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "413704df-d10c-4549-8863-c761afe1aba3",
          "width": 448,
          "x": 36512,
          "y": -2656,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "0ad5f46b-a3ca-4ebb-b88d-8a7605e8c1bd",
          "width": 256,
          "x": 32480,
          "y": -576,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "32fcc8ea-3190-4ce1-b27a-b47e1fe0f278",
          "width": 256,
          "x": 37472,
          "y": -2976,
          "zOrder": 157,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "40dbbbc4-fcab-4b44-b625-c6eedf9692d3",
          "width": 256,
          "x": 37472,
          "y": -2976,
          "zOrder": 158,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 6
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "7d945f68-8ed8-4e57-9b2a-f244816268bf",
          "width": 256,
          "x": 37472,
          "y": -3680,
          "zOrder": 157,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "6e1b34bb-790d-40c5-9711-1df5a067e7fc",
          "width": 256,
          "x": 37472,
          "y": -3680,
          "zOrder": 158,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 6
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "6cc11782-b266-4003-9738-ef3e407b0248",
          "width": 256,
          "x": 36992,
          "y": -2240,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 272,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "bfb1b726-ae30-4da5-bb18-1dd1d657b6c5",
          "width": 544,
          "x": 38432,
          "y": -2816,
          "zOrder": 164,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "6451a250-d742-4cc9-a0cb-198a097bc676",
          "width": 256,
          "x": 38560,
          "y": -2971,
          "zOrder": 165,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 272,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "c9b97741-06a6-4c20-8ddf-714272ff2911",
          "width": 544,
          "x": 38688,
          "y": -3483,
          "zOrder": 164,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 272,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "a2932aa8-463b-4fd7-9d05-183b46ffaddf",
          "width": 544,
          "x": 38944,
          "y": -2816,
          "zOrder": 164,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "1c444d0a-5dac-4c07-ab5e-794e033429fd",
          "width": 256,
          "x": 39104,
          "y": -2971,
          "zOrder": 165,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "MiteDemon_Base",
          "persistentUuid": "00091595-a1d3-4a9b-8f3c-66ec31ef534a",
          "width": 256,
          "x": 36224,
          "y": -320,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "MiteMaxSpeed",
              "type": "number",
              "value": 600
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "e2781a40-62b2-4576-83e9-b6be77ae4cd3",
          "width": 192,
          "x": 37664,
          "y": -2592,
          "zOrder": 166,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "ccfe5b2f-71ac-4e10-96d7-c28153105491",
          "width": 192,
          "x": 39136,
          "y": -2592,
          "zOrder": 166,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "fa7b5556-7e01-450e-aff9-98f4b91fd85e",
          "width": 512,
          "x": 38976,
          "y": -2752,
          "zOrder": 16,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "55ac3be4-da7d-43de-892a-c330f3c3f61b",
          "width": 512,
          "x": 37504,
          "y": -2752,
          "zOrder": 16,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "4eabed09-a1cb-451e-8ad3-b3b8c22f1325",
          "width": 80,
          "x": 37880,
          "y": -2560,
          "zOrder": 168,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "daaf37b4-e88a-462d-b770-51a0996bcded",
          "width": 80,
          "x": 38008,
          "y": -2560,
          "zOrder": 168,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "14d1892b-ee0a-4e2f-aed3-ae54dd10b6a3",
          "width": 80,
          "x": 38264,
          "y": -2560,
          "zOrder": 168,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "7e587757-7be0-4509-8668-e7d5e8b8739e",
          "width": 80,
          "x": 38136,
          "y": -2560,
          "zOrder": 168,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "7d9f9828-4a46-477d-bd00-972c6c9abecd",
          "width": 80,
          "x": 38520,
          "y": -2560,
          "zOrder": 168,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "f29ead00-9267-4325-bea3-8c3a6f102c80",
          "width": 80,
          "x": 38392,
          "y": -2560,
          "zOrder": 168,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "79d5ea6e-50e2-4f6f-a636-3a4d57ebbadc",
          "width": 80,
          "x": 38776,
          "y": -2560,
          "zOrder": 168,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "22e6d918-ed53-4daa-994b-99f6b7c352bd",
          "width": 80,
          "x": 38648,
          "y": -2560,
          "zOrder": 168,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "75bd5bc2-6d60-4ed8-983f-9d966231f1cd",
          "width": 80,
          "x": 39032,
          "y": -2560,
          "zOrder": 168,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c8eccb7f-6d48-47d8-b04d-ee3ce745f1d7",
          "width": 80,
          "x": 38904,
          "y": -2560,
          "zOrder": 168,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "e76b8a84-b1f2-41ff-bfab-48d552f5b520",
          "width": 256,
          "x": 39552,
          "y": -2368,
          "zOrder": 165,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 6
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 272,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "4a36172a-5eb0-4325-be49-86892b50109a",
          "width": 544,
          "x": 39424,
          "y": -2208,
          "zOrder": 164,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "c664b354-d860-4598-9d6b-cda1515aebda",
          "width": 192,
          "x": 37664,
          "y": -3296,
          "zOrder": 162,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "679a7bf8-5d91-4b5f-83f2-63f48374af57",
          "width": 80,
          "x": 37720,
          "y": -3424,
          "zOrder": 163,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "358b52fb-e90c-49a3-a779-1f9153ca4f27",
          "width": 256,
          "x": 38016,
          "y": -2912,
          "zOrder": 104,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 336,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "6f8180df-1356-4324-b008-c4b1ac454b88",
          "width": 672,
          "x": 40544,
          "y": -1408,
          "zOrder": 170,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 416,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "7753a4d4-7690-48b5-bbe3-64edab3789e7",
          "width": 416,
          "x": 39488,
          "y": -2816,
          "zOrder": 171,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "97d71bc3-abc0-4b7d-9be8-762486d19c6c",
          "width": 256,
          "x": 39904,
          "y": -1984,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "7025097c-6f09-4fad-8ab5-71a6e8ab91d0",
          "width": 256,
          "x": 40160,
          "y": -1664,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 448,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "65a8883d-a9f5-486a-b3d4-c16230e3798f",
          "width": 896,
          "x": 46880,
          "y": 672,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "3c58c0b1-bcde-4699-b8ad-2b5f99d04427",
          "width": 341,
          "x": 47147,
          "y": 432,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "672d6b27-c653-4473-b67c-24bb37165726",
          "width": 256,
          "x": 38848,
          "y": -3264,
          "zOrder": 173,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 400,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "ab8815cb-4922-449b-b460-17836bedaf94",
          "width": 800,
          "x": 59520,
          "y": -352,
          "zOrder": 175,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "262d21c4-48b2-4d24-9f9b-2c198c6a4c7a",
          "width": 341,
          "x": 59723,
          "y": -592,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "dee1d981-d008-4835-9599-deb594c79af4",
          "width": 192,
          "x": 33312,
          "y": -1056,
          "zOrder": 176,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3.5
            }
          ]
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "2aaadee1-93df-4479-a809-48e4ab1ccd88",
          "width": 768,
          "x": 61440,
          "y": -592,
          "zOrder": 170,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "069be412-ec23-48c2-99be-4c6d1afcb69c",
          "width": 768,
          "x": 61024,
          "y": -336,
          "zOrder": 170,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "35d5d944-b2e4-402e-943f-4cd05e47f39e",
          "width": 768,
          "x": 61728,
          "y": -336,
          "zOrder": 170,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "2cdf921b-7002-4a9c-a667-986915c9652c",
          "width": 768,
          "x": 60608,
          "y": -80,
          "zOrder": 17,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "0ae0b63f-164f-485f-be93-f84ada481601",
          "width": 768,
          "x": 61312,
          "y": -80,
          "zOrder": 170,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "f468f1e0-4258-4bb3-876a-65c9b39c9481",
          "width": 768,
          "x": 62016,
          "y": -80,
          "zOrder": 170,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "2b3cb1c1-5e0e-4f00-b282-4bd8f6d318ce",
          "width": 736,
          "x": 62656,
          "y": -560,
          "zOrder": 17,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "4b97ff8a-0536-49c8-95ab-85d3bd493187",
          "width": 736,
          "x": 63296,
          "y": -576,
          "zOrder": 170,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "bd146c6b-7b15-4ffb-b92f-062056889c8f",
          "width": 256,
          "x": 63424,
          "y": 65,
          "zOrder": 165,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "8c5445aa-f4f8-4e4e-90a4-a15ca9592d4a",
          "width": 256,
          "x": 62688,
          "y": -245,
          "zOrder": 174,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "ecead2f2-e7a6-4f8e-bad2-ae9ccb5d22fb",
          "width": 256,
          "x": 63424,
          "y": -261,
          "zOrder": 174,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "078eba74-ce57-4545-9b5e-7ab6f7627f42",
          "width": 736,
          "x": 63424,
          "y": 204,
          "zOrder": 170,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "23be7c06-4d7f-4f77-a6b2-2a20b5d10af6",
          "width": 736,
          "x": 62752,
          "y": 304,
          "zOrder": 170,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "57f73112-5195-4a5c-ab2d-c00363a99cfc",
          "width": 256,
          "x": 63776,
          "y": -261,
          "zOrder": 174,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "14a190e9-4d38-46bf-9092-f935fd8bda88",
          "width": 256,
          "x": 64896,
          "y": 176,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 155,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "MiteDemon_Base",
          "persistentUuid": "a6e3a571-9af7-4c87-9cb8-4b2780c55556",
          "width": 256,
          "x": 61152,
          "y": -400,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 6
            },
            {
              "folded": true,
              "name": "MiteMaxSpeed",
              "type": "number",
              "value": 300
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1.5
            }
          ]
        },
        {
          "angle": 135,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "205e190f-b106-4d67-b640-19e51a6ac51b",
          "width": 256,
          "x": 62560,
          "y": -464,
          "zOrder": 165,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 160,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "c4fe17f4-f904-4954-bfb3-39a403ae70b5",
          "width": 256,
          "x": 62752,
          "y": -560,
          "zOrder": 165,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "169d4dfb-5c82-45c3-b869-af04d39bf0f7",
          "width": 256,
          "x": 60832,
          "y": -432,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "e92a0c6d-77a4-458b-be04-dbadc15312c6",
          "width": 171,
          "x": 48832,
          "y": -304,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "fb369b42-268e-48d0-be3d-b4328a03af84",
          "width": 171,
          "x": 48832,
          "y": 192,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 448,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "fd6a27c2-b954-4d04-81c0-a75ce0e76f21",
          "width": 896,
          "x": 48416,
          "y": 672,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "MiteDemon_Base",
          "persistentUuid": "35396da1-ff03-41e1-8e91-d10fb3004222",
          "width": 256,
          "x": 49024,
          "y": 512,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0.75
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 5
            },
            {
              "folded": true,
              "name": "MiteMaxSpeed",
              "type": "number",
              "value": 550
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 1.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 4,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "09495ca4-de3d-4372-902a-2ad7c06f2918",
          "width": 171,
          "x": 48832,
          "y": -800,
          "zOrder": 93,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "5434a82a-c5c8-4d34-bb35-6561b372d571",
          "width": 171,
          "x": 48832,
          "y": -800,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 4,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "42b611c8-aabb-4ec5-901b-cb1c039364eb",
          "width": 171,
          "x": 49517,
          "y": -1536,
          "zOrder": 93,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "0999c5fa-a239-4af6-ae87-8dad022f1d72",
          "width": 171,
          "x": 49517,
          "y": -1536,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "5d1027df-c253-495a-a591-270bd3f96185",
          "width": 171,
          "x": 49517,
          "y": -1040,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "ca35b79f-ef6a-485d-81b6-4e8ea3c418f7",
          "width": 608,
          "x": 49280,
          "y": -1984,
          "zOrder": 177,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -50,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "4b4861f4-2c33-425f-b8ce-bff7aa711944",
          "width": 192,
          "x": 49245,
          "y": -797,
          "zOrder": 178,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 1.8
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1000
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "0ca39d9b-4a5b-4aad-9afb-2096939a8eda",
          "width": 171,
          "x": 50752,
          "y": 432,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 4,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "eef26780-c903-46db-9b25-b4633e43bb52",
          "width": 171,
          "x": 50752,
          "y": -64,
          "zOrder": 93,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "bf3a1e86-03a5-4eb8-8e97-26163439737e",
          "width": 171,
          "x": 50752,
          "y": -64,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "8f15092d-ea82-47dc-a823-70ffd927e270",
          "width": 544,
          "x": 50976,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "673fbfb6-b938-4828-9bdd-f6c225c0dc01",
          "width": 544,
          "x": 51520,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e4582c4e-dc66-4cb6-9867-6b0de123aefd",
          "width": 544,
          "x": 52608,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "7f600810-b1a1-4144-9e90-ee6db18db527",
          "width": 544,
          "x": 52064,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "cf761a47-f45a-423e-8998-efc4492d58ae",
          "width": 544,
          "x": 54240,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1395cf6c-c9e9-4572-899b-e8ef99ef8c81",
          "width": 544,
          "x": 53696,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a16d655f-8af0-4f15-be6f-9a19ff97b950",
          "width": 544,
          "x": 55328,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a2a7ca6c-41c1-4a0d-9722-9da3dec7fa34",
          "width": 544,
          "x": 54784,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "d6ba74b9-e995-4e8f-83c2-2617127f076f",
          "width": 192,
          "x": 51360,
          "y": 48,
          "zOrder": 178,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 750
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "9457db15-8f7c-46ae-a75b-e4641b81f350",
          "width": 192,
          "x": 53664,
          "y": 48,
          "zOrder": 178,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1000
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 3.5
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "11ebef98-bcc5-4d37-b74e-15d07ac2324d",
          "width": 544,
          "x": 52336,
          "y": -352,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "b44c2c0a-9e6b-4ce8-b353-e70e6df15014",
          "width": 544,
          "x": 55344,
          "y": -352,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d59fa28f-c483-4496-a1bf-27edc10cd266",
          "width": 544,
          "x": 58048,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1a94c502-19da-46d2-aa19-52d989b45bac",
          "width": 544,
          "x": 57504,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "86df0a26-53b9-4fe3-a347-0e3490092986",
          "width": 544,
          "x": 56960,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a35896aa-8860-4fed-8988-680fe5d12568",
          "width": 544,
          "x": 56416,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "7c3141d2-f524-49dc-938d-c8047b0e2f53",
          "width": 192,
          "x": 51008,
          "y": -32,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "4ecc4345-de81-4bdf-a246-82ed3f614450",
          "width": 512,
          "x": 50848,
          "y": -192,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "94a23cb4-8c81-40ab-95e5-110ddfac9438",
          "width": 192,
          "x": 58368,
          "y": -32,
          "zOrder": 180,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "c9c1c3eb-e860-4f8f-8da9-c29e34eb7abd",
          "width": 512,
          "x": 58208,
          "y": -192,
          "zOrder": 181,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "72338702-e65e-4682-a463-42e38cfb6fa8",
          "width": 80,
          "x": 51272,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "da13643b-a186-4748-937f-45e93713b755",
          "width": 80,
          "x": 51400,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "9c76467e-5f91-4dc9-ac13-df172d42f64c",
          "width": 80,
          "x": 51656,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "9608298a-aad9-4ad4-88a3-cbff0cb4eee3",
          "width": 80,
          "x": 51528,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b7e2eec3-8557-474e-bf0a-8ef6def8e4a1",
          "width": 80,
          "x": 52168,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "2529667b-8128-4417-bc0d-2ee86ed480a2",
          "width": 80,
          "x": 52040,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a0a3bf96-6bf8-4609-8573-fa2720ff4ec3",
          "width": 80,
          "x": 51784,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "ec60572f-c653-4864-ac6f-2f906c23b7c0",
          "width": 80,
          "x": 51912,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "fd2abd88-6c5b-4a21-9f3f-9df7c0b5dfed",
          "width": 80,
          "x": 53704,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "e77ec531-dce6-49c6-accc-cc0dddb2b193",
          "width": 80,
          "x": 53064,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "15bc364d-19a2-4b2f-80a7-06afeeff344c",
          "width": 80,
          "x": 52808,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "83a119b7-fa50-4ffd-9e72-7d1e5de6711d",
          "width": 80,
          "x": 52936,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "1e4c6e1f-3e55-4b26-9d63-dcc48a055129",
          "width": 80,
          "x": 52680,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a079426d-dec4-4a97-948a-0567491b6445",
          "width": 80,
          "x": 52552,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "ec741562-3341-4d8a-a055-12345f113d31",
          "width": 80,
          "x": 52424,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3eb04dcc-986e-46fe-85bb-5082f0a289db",
          "width": 80,
          "x": 52296,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "33992930-fbea-48bb-9092-ff17bde64b52",
          "width": 80,
          "x": 55752,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "065f42a4-fe87-4efd-a19f-9a28b62ff227",
          "width": 80,
          "x": 55624,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "99e8e928-e68a-445a-926b-a5b68a3df963",
          "width": 80,
          "x": 55368,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "249dbbb7-7b6b-4ec3-a05b-97176b62c1dc",
          "width": 80,
          "x": 55496,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "707c2fb2-a2ad-4a2e-9be0-4a5b55ebae31",
          "width": 80,
          "x": 55240,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b83f2d06-b3a0-4ca2-8589-9c50af9dbd18",
          "width": 80,
          "x": 55112,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "6e230a2d-1056-493e-9e5f-80a39685a0d1",
          "width": 80,
          "x": 54984,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c2ff7d97-bc96-4c62-8dc7-eb2c42ea7ee9",
          "width": 80,
          "x": 54856,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "27485af4-a9c6-4c56-8a36-ec273a48c22a",
          "width": 80,
          "x": 54600,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "f34efbbd-903c-4951-812b-31be15831a12",
          "width": 80,
          "x": 54728,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3488d1d1-acc8-4826-8961-d421f568877e",
          "width": 80,
          "x": 54472,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "d0569dbf-21a7-4427-be9a-a1ef98eace30",
          "width": 80,
          "x": 54344,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "ef1370ee-5074-46fe-9e3e-a68b429e3b3b",
          "width": 80,
          "x": 54216,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "ef10db9d-645b-4891-8f83-de6d72ec35f3",
          "width": 80,
          "x": 54088,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "41536327-3e4d-4983-899e-0bb6425a972c",
          "width": 80,
          "x": 53960,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "e8ad1df9-5432-4491-9f5b-6fd8c616c8af",
          "width": 80,
          "x": 53832,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "34cb51a2-d03f-4aed-86fd-121d56b543e1",
          "width": 80,
          "x": 58184,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b8706614-a0e6-4366-912e-4c083dec6a63",
          "width": 80,
          "x": 57928,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "2817f95f-72a3-4f23-bdac-f75022f38055",
          "width": 80,
          "x": 58056,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "157dda84-100f-4226-888c-6c5fc37562dd",
          "width": 80,
          "x": 57800,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "48189944-553a-4428-b8ec-18cac97937fc",
          "width": 80,
          "x": 57672,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0ad7243e-0b59-4f36-af44-0a57876ca092",
          "width": 80,
          "x": 57544,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a40bfd61-2488-460e-908f-1696dea19c40",
          "width": 80,
          "x": 57416,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "dcd69bea-c0be-449c-84fe-5c078fc31f49",
          "width": 80,
          "x": 57160,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "d5226952-68ad-4ee9-9f26-685607e1b1e5",
          "width": 80,
          "x": 57288,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "04f46110-3cd4-4fdd-b1dd-fc400b9348a4",
          "width": 80,
          "x": 57032,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "ee99755c-b2b6-40f1-8482-0240010c1944",
          "width": 80,
          "x": 56904,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "45e08b28-4aa4-4bae-928b-48b6e314a40e",
          "width": 80,
          "x": 56776,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a4e6fc86-60e3-426a-a243-770bc82465bd",
          "width": 80,
          "x": 56648,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "daec8aeb-823f-4117-acc0-16eb6022667e",
          "width": 80,
          "x": 56520,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "21cedaa2-6bac-453e-a3f0-d36f9e59e588",
          "width": 80,
          "x": 56392,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "44fdb3dd-d2f9-47b0-ade3-961af820830e",
          "width": 192,
          "x": 56608,
          "y": 48,
          "zOrder": 178,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1000
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 5
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "222f34c4-f8aa-44b8-bb3e-b510e2c15d1d",
          "width": 256,
          "x": 49472,
          "y": -1728,
          "zOrder": 184,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "bf16954a-5177-4b65-b92e-b6462d003883",
          "width": 544,
          "x": 52880,
          "y": -352,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "ed6efdac-629a-438e-bc8e-d2120cb988d5",
          "width": 544,
          "x": 55888,
          "y": -352,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d4b455a4-b741-41d4-bcaf-f92e3f23ab8f",
          "width": 544,
          "x": 55872,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "9a175f2f-e234-4258-925f-4e95b9131ccc",
          "width": 544,
          "x": 53152,
          "y": 224,
          "zOrder": 179,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "6bc4fb17-bb3c-4014-9974-8dfe27fd0c9f",
          "width": 80,
          "x": 53576,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "eeb59426-397d-467c-ad2b-2676d04b72d5",
          "width": 80,
          "x": 53320,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b4610b7b-514d-40a1-bf9a-9d13fadb9ddb",
          "width": 80,
          "x": 53448,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "dd78c531-76c1-4710-908c-37efb84ff879",
          "width": 80,
          "x": 53192,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "26e70ed3-8350-4d84-b3c6-5c83b6a2bca8",
          "width": 80,
          "x": 56264,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "5b249f7f-5089-4b6f-a1d2-07ff4582b90d",
          "width": 80,
          "x": 56136,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3206e50e-2778-403e-ad85-7b77b68d2dc9",
          "width": 80,
          "x": 55880,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c26723d9-373a-4acf-9fbb-20123acf7c29",
          "width": 80,
          "x": 56008,
          "y": 0,
          "zOrder": 182,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "92471f02-8805-4502-b8b1-bdde23634cb9",
          "width": 341,
          "x": 52693,
          "y": -608,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanentSingle",
          "persistentUuid": "4a32c93c-9dad-4db6-9f34-d63767ace0b7",
          "width": 80,
          "x": 58312,
          "y": 0,
          "zOrder": 185,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "Assets\\Images\\Levels\\9\\Background\\Background.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level9\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "type": "BuiltinCommonInstructions::Standard",
          "conditions": [
            {
              "type": {
                "value": "DepartScene"
              },
              "parameters": [
                ""
              ]
            }
          ],
          "actions": [
            {
              "type": {
                "value": "AnimatableCapability::AnimatableBehavior::SetName"
              },
              "parameters": [
                "Memory",
                "Animation",
                "=",
                "\"Recursion\""
              ]
            },
            {
              "type": {
                "value": "ModVarObjet"
              },
              "parameters": [
                "Player",
                "LifeForce",
                "=",
                "9"
              ]
            }
          ]
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Level8",
      "name": "Level8",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.9150393103736286,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "MobileControls",
          "objects": [
            {
              "name": "JumpButton"
            },
            {
              "name": "Joystick"
            }
          ]
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "EndScreenBackground"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "RetryButton"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 3392,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "78dd0ffa-b22f-47a8-9b36-ef6a432b1d1e",
          "width": 128,
          "x": -128,
          "y": -928,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2272,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 17950,
          "x": 0,
          "y": -320,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 3392,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 45728,
          "y": -928,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 45984,
          "x": -128,
          "y": -928,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "014db1f5-0846-4cba-821e-57e29d368c14",
          "width": 256,
          "x": 64,
          "y": 608,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 3104,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "3f0ec037-2a70-4ea5-90eb-c1f8a7387a6c",
          "width": 45728,
          "x": 0,
          "y": -800,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e08c1888-868a-438d-bf83-a9affe5815db",
          "width": 608,
          "x": 0,
          "y": 704,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "cd613744-2c22-4df5-8de6-2f7cf8ff20fd",
          "width": 608,
          "x": 992,
          "y": 672,
          "zOrder": 110,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "HorizontalMovingPlatformLeft",
          "persistentUuid": "bf70d694-ecf6-41ec-8d13-bdbd31c45117",
          "width": 608,
          "x": 1184,
          "y": 416,
          "zOrder": 111,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "HorizontalMovingPlatformLeft",
          "persistentUuid": "24915b67-ba33-4a66-bc6e-c6480440647c",
          "width": 608,
          "x": 1664,
          "y": -96,
          "zOrder": 11,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "422bc42f-23b5-424f-9f87-fe840c70aa55",
          "width": 608,
          "x": 1376,
          "y": 160,
          "zOrder": 110,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "4968717a-d6e7-412d-a348-1df626f31af0",
          "width": 256,
          "x": 864,
          "y": 96,
          "zOrder": 112,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "cf759b29-97ce-44ea-b461-3387f2a87f9f",
          "width": 80,
          "x": 1928,
          "y": 224,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "586077f3-b291-40ed-b8ec-fa99f48db11f",
          "width": 80,
          "x": 1928,
          "y": 352,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "ed6e580b-2179-4588-887e-5233731076ec",
          "width": 80,
          "x": 1928,
          "y": 608,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "00980ee0-7e45-46b1-be2c-e261e98fbc19",
          "width": 80,
          "x": 1928,
          "y": 480,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "8c7073dd-c385-4f89-8cb9-fd3fd6872207",
          "width": 80,
          "x": 1928,
          "y": 736,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "69695ba4-a747-4595-9c67-a4fa3e489f28",
          "width": 80,
          "x": 1928,
          "y": 96,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "f10a984f-7ce0-440c-8c3f-061cacc08fc1",
          "width": 80,
          "x": 1928,
          "y": -32,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "ec42ba38-a990-42e0-909c-ebc33d89f934",
          "width": 192,
          "x": 1872,
          "y": -736,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "4e1a4979-d8aa-4793-a6c0-642c1d08afc5",
          "width": 192,
          "x": 1872,
          "y": 864,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "e538cffc-d51a-403b-a963-cb04a633111e",
          "width": 80,
          "x": 1928,
          "y": -160,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "594e0c9c-162e-4f3c-a1e4-4cb925012a83",
          "width": 80,
          "x": 1928,
          "y": -288,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "5d50262e-47bd-4f36-8c14-3f074ec50779",
          "width": 320,
          "x": 3488,
          "y": 448,
          "zOrder": 113,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "VerticalMovingPlatformUp",
          "persistentUuid": "f1b63700-3c16-45af-98d0-f2e47b73f0bc",
          "width": 320,
          "x": 3776,
          "y": 576,
          "zOrder": 114,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "VerticalMovingPlatformUp",
          "persistentUuid": "2567e96e-c87d-43ff-9f89-db41b83d8a1f",
          "width": 320,
          "x": 4352,
          "y": 416,
          "zOrder": 114,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "38802ab5-b3f9-47f8-b0ff-b65d462378f8",
          "width": 320,
          "x": 4640,
          "y": 128,
          "zOrder": 113,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "4289702f-8bf8-4a26-9716-04e89efd877e",
          "width": 320,
          "x": 4064,
          "y": 288,
          "zOrder": 113,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "VerticalMovingPlatformUp",
          "persistentUuid": "88166f0a-50f5-43ce-bff0-a16d14b95ffb",
          "width": 320,
          "x": 4928,
          "y": 288,
          "zOrder": 114,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "5b52d12f-2661-4474-8320-9cd56a221f77",
          "width": 80,
          "x": 1928,
          "y": -416,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "HorizontalMovingPlatformLeft",
          "persistentUuid": "9680f6ad-4f16-44c7-b70b-fa87afa352b6",
          "width": 608,
          "x": 1952,
          "y": 160,
          "zOrder": 11,
          "numberProperties": [
            {
              "name": "animation",
              "value": 0
            }
          ],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "95e18afc-d48e-405b-b9da-974b5cf559fc",
          "width": 608,
          "x": 2144,
          "y": 416,
          "zOrder": 110,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "HorizontalMovingPlatformLeft",
          "persistentUuid": "250722ef-42bf-47d2-8f90-27103c9e39ff",
          "width": 608,
          "x": 2336,
          "y": 672,
          "zOrder": 111,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "5bcd0397-c1c6-4fc8-8f90-1c454c4e7b93",
          "width": 608,
          "x": 1664,
          "y": -96,
          "zOrder": 11,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "7d7de3e9-f7ca-4208-acaa-b8efd38877b1",
          "width": 80,
          "x": 1928,
          "y": -544,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "a97e3c2b-34dd-4883-a9da-e51b544f48b0",
          "width": 320,
          "x": 5216,
          "y": 0,
          "zOrder": 113,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "VerticalMovingPlatformUp",
          "persistentUuid": "9c88f151-83cf-41e7-ad63-05f96b8a2754",
          "width": 320,
          "x": 5504,
          "y": 160,
          "zOrder": 114,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "b5edf9cb-ac73-4307-bcd8-73b828a87eee",
          "width": 224,
          "x": 5280,
          "y": 192,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "1b2d55a9-ac4f-4a3c-9c18-2f38aace2a26",
          "width": 224,
          "x": 4704,
          "y": 352,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "f6f8fb99-8a2f-43ba-a380-dd20ad944692",
          "width": 224,
          "x": 4128,
          "y": 480,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c3d36e62-a288-41f5-9113-41709f12c29b",
          "width": 576,
          "x": 6208,
          "y": -128,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "e4649d52-2992-4eb2-b6b1-94e737bcaac8",
          "width": 341,
          "x": 6315,
          "y": -384,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1ac6831a-4b2b-4a5f-a686-4691ba34ac07",
          "width": 576,
          "x": 6784,
          "y": -32,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "02bcbfc6-9e67-4ebc-87e8-ae6e083e0b90",
          "width": 576,
          "x": 7360,
          "y": 64,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "90aeb841-d307-4d50-abe2-45482010b962",
          "width": 576,
          "x": 7696,
          "y": 400,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2e573730-2ddc-4a43-9433-27105d33c634",
          "width": 768,
          "x": 9376,
          "y": 448,
          "zOrder": 12,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 208,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "68c5b938-8ef7-475c-bb23-a2a5c4d5f9c0",
          "width": 416,
          "x": 11040,
          "y": 480,
          "zOrder": 123,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "SpinningRotatingPlatformClockwise",
          "persistentUuid": "16bf0ba8-7170-4d24-9d97-93c0d9e54e39",
          "width": 512,
          "x": 13664,
          "y": 352,
          "zOrder": 127,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "4e480de3-e585-4042-ad92-ab684b650390",
          "width": 256,
          "x": 11904,
          "y": 448,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "896f44df-3493-4b05-9fb0-81aa18ec446b",
          "width": 256,
          "x": 11904,
          "y": 448,
          "zOrder": 119,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fceacaf7-3c73-4f66-b997-a25c3af12197",
          "width": 512,
          "x": 14720,
          "y": 1664,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "6b6c2058-b1c0-46bd-8bfb-85dcf548d1df",
          "width": 256,
          "x": 15296,
          "y": 1376,
          "zOrder": 112,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 336,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "c398cec1-342e-4da2-a2bf-cad57e61195d",
          "width": 672,
          "x": 16128,
          "y": 1344,
          "zOrder": 128,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "bae0b2fb-aae8-4567-9c3e-b45ed9e8543c",
          "width": 640,
          "x": 12384,
          "y": 512,
          "zOrder": 123,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "6b48a844-cce8-4762-85b6-03cd3e9688bc",
          "width": 171,
          "x": 18944,
          "y": 645,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "99480649-4421-4ba4-a009-c376b756f1fe",
          "width": 171,
          "x": 18944,
          "y": 165,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 4,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "78b98de9-4118-410e-b89f-f38b05de249b",
          "width": 176,
          "x": 18928,
          "y": 165,
          "zOrder": 93,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "c38498ae-2715-4a15-a3ce-4d02ede5f81c",
          "width": 341,
          "x": 12523,
          "y": 288,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "1ebb8ebd-f761-4d73-9066-af57dd16e216",
          "width": 256,
          "x": 16384,
          "y": 952,
          "zOrder": 112,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 336,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "10af8aa5-54f6-47e5-b88e-3654e9ca05be",
          "width": 672,
          "x": 17024,
          "y": 784,
          "zOrder": 128,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "0af2a1b1-e35e-4d73-a142-198ba0fcbd92",
          "width": 341,
          "x": 17163,
          "y": 544,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "9f1febad-332c-426c-9cdf-cc9be515aa44",
          "width": 160,
          "x": 40208,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "a67bc568-0599-4aab-ac5e-eb625494c21e",
          "width": 256,
          "x": 40192,
          "y": 448,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2.25
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "0a8a4de7-f6bf-4105-b373-262bdef9e364",
          "width": 256,
          "x": 40192,
          "y": 448,
          "zOrder": 13,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "33cc427c-3a32-4c84-a6a1-c7d0cc0e2c81",
          "width": 160,
          "x": 40400,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "d3f2d3ed-1e6c-4ea1-aa99-52bbae1192dd",
          "width": 160,
          "x": 40592,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "73af08ca-8318-422a-9aff-4df2a5ea8e76",
          "width": 160,
          "x": 40784,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "9a672692-9e64-4169-9cf7-2be77112b4a9",
          "width": 160,
          "x": 40976,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "f687badc-6289-46e5-8db1-c8894931275e",
          "width": 192,
          "x": 40448,
          "y": 480,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "26810f5c-50c8-4124-aee0-5b35748e6a0b",
          "width": 192,
          "x": 40896,
          "y": 480,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "b8d7eeff-0859-4965-9836-f7564b8eb3e0",
          "width": 80,
          "x": 40664,
          "y": 512,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "c5cb1ce1-9981-4a54-b5f5-85a38b500b21",
          "width": 80,
          "x": 40792,
          "y": 512,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 4,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "f8f92ad1-c4a7-42a4-95ec-4b6a382b0a1f",
          "width": 1152,
          "x": 40192,
          "y": 736,
          "zOrder": 93,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "821a03e2-4f34-4e0e-87c8-37c592ae0830",
          "width": 160,
          "x": 41168,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "2208f3f6-aa28-4892-8174-cfab69e04264",
          "width": 192,
          "x": 40000,
          "y": 480,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "43359aa2-f4de-41b8-9e75-9a760ce68c12",
          "width": 192,
          "x": 40000,
          "y": 160,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "0f567f04-db00-4d6d-a372-cd82b26ad29c",
          "width": 80,
          "x": 40056,
          "y": 352,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "0e976a79-0d27-4ab9-9dc0-b3f1d4ff9d60",
          "width": 80,
          "x": 41400,
          "y": 352,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "5cb61587-54f3-4e40-976e-2a638e3785dc",
          "width": 192,
          "x": 41344,
          "y": 160,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "27d43b18-1c63-4736-8733-ba46a477446f",
          "width": 192,
          "x": 41344,
          "y": 480,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "1a12e478-24b0-42f6-8a11-58d3a309152b",
          "width": 80,
          "x": 40216,
          "y": 192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "e24595ac-fc64-401d-a5e2-f67456d42b7f",
          "width": 80,
          "x": 40344,
          "y": 192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "938ef38e-8861-4107-9e03-2b98e62b6e45",
          "width": 80,
          "x": 40472,
          "y": 192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "1effdba4-be29-46c9-9f8c-dafaa3293393",
          "width": 80,
          "x": 40600,
          "y": 192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "2208b37d-2ba1-46a5-aaab-b987b9737457",
          "width": 80,
          "x": 40984,
          "y": 192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "f893aa52-ca8a-4aba-b573-217240e7b4e1",
          "width": 80,
          "x": 41112,
          "y": 192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "3aac57e8-a073-4152-8afc-f104ab51b1a2",
          "width": 80,
          "x": 40856,
          "y": 192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "d46f8714-41ff-4e83-be95-95da9a75e9be",
          "width": 80,
          "x": 40728,
          "y": 192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "b5a028b4-00db-49ab-897f-8453c38bab3c",
          "width": 80,
          "x": 41240,
          "y": 192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "d8da3a4c-4a62-425a-90db-e38eab1be860",
          "width": 160,
          "x": 41168,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "5c15290f-0df2-4c7f-b9e8-dd9567062f81",
          "width": 160,
          "x": 40208,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "a2ec326e-7ffb-4483-bc49-47558da6f88b",
          "width": 160,
          "x": 40400,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "d007b096-94e2-405d-a88e-acb8729e0070",
          "width": 160,
          "x": 40592,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "32e37575-1f44-487b-8656-ab8c86bf2e30",
          "width": 160,
          "x": 40784,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "11894ac1-1f62-48c0-8ef3-478888ea8c17",
          "width": 160,
          "x": 40976,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "11f6d74e-b319-4a19-ae58-627004a37f06",
          "width": 352,
          "x": 18848,
          "y": -104,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "12ac6fb9-c10f-41f2-a682-86329ac437b1",
          "width": 256,
          "x": 18896,
          "y": -59,
          "zOrder": 133,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "828a4bd3-85fc-4db8-b394-a5f147ab5cde",
          "width": 224,
          "x": 19648,
          "y": 352,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "2424410c-797a-4df2-a476-696ee3b0ead0",
          "width": 448,
          "x": 20064,
          "y": 512,
          "zOrder": 134,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "658c7e67-3d05-41d8-8b47-cd33e37e2a19",
          "width": 160,
          "x": 42208,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "4cb264a1-e761-407e-9307-85c8542db634",
          "width": 160,
          "x": 42400,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "7ad87f5e-db23-4eef-a759-1cc9ce83d74c",
          "width": 160,
          "x": 42592,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "e4e9b9d1-1168-4556-9df0-87e7228e6f6f",
          "width": 160,
          "x": 42784,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "79f1f5cf-b36b-4485-a0e9-abb024dddff8",
          "width": 160,
          "x": 42976,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 4,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "a3452091-faff-4c59-a068-64355bea3c63",
          "width": 1152,
          "x": 42208,
          "y": 736,
          "zOrder": 93,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "e7b1fcf0-0a4b-4b7b-88a2-2d5b7b2d8e9c",
          "width": 160,
          "x": 43168,
          "y": 736,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "04f1fa0e-06bd-4b60-96b0-97a8e76053ae",
          "width": 160,
          "x": 43168,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "b04d6167-9809-4ba1-ab5e-29a211b66a7b",
          "width": 160,
          "x": 42208,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "5332cb60-122a-4111-8553-237583c5fef6",
          "width": 160,
          "x": 42400,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "288df93a-ca26-416d-adc6-f74ebe971b60",
          "width": 160,
          "x": 42592,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "ee9fe803-4e70-40bd-9bca-5ea4baa23ce8",
          "width": 160,
          "x": 42784,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "42a0b8ec-f872-4a60-9030-9be2b98bd504",
          "width": 160,
          "x": 42976,
          "y": 1102,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "84361642-a000-4f1f-9b24-d514fa8b3b40",
          "width": 320,
          "x": 42152,
          "y": 1738,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "5d1c44a0-c530-4ba6-9c10-ae9674644aa5",
          "width": 256,
          "x": 43120,
          "y": 1568,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "38925c1c-6dfa-4d3c-83d8-6c278fdac685",
          "width": 256,
          "x": 42352,
          "y": 1568,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "655c5af7-c11b-4a89-8328-cd3c7118de7b",
          "width": 256,
          "x": 42544,
          "y": 1568,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "784ece56-39b9-403b-85c4-b74d555e23c3",
          "width": 320,
          "x": 42456,
          "y": 1738,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fecb91f2-6626-4c2f-86a2-5dffbcc5c2f4",
          "width": 320,
          "x": 43064,
          "y": 1738,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fdf346cc-f500-49b0-977e-ed6c989214d2",
          "width": 320,
          "x": 42760,
          "y": 1738,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e07b55ac-9851-4e98-9730-4c7048fc707c",
          "width": 336,
          "x": 36288,
          "y": -160,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "0bfc80e9-a4dc-486e-a5f1-8c8728270d80",
          "width": 256,
          "x": 21344,
          "y": 512,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fa03096e-f750-46d5-a7b8-fca0becd4050",
          "width": 608,
          "x": 22048,
          "y": 832,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "91863160-f813-4a90-a1c1-667fa649db5d",
          "width": 341,
          "x": 22176,
          "y": 576,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "74ffc612-70ae-4587-9381-7c9583388aa9",
          "width": 192,
          "x": 40448,
          "y": 1680,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "b9b09db0-4740-474f-9036-84e5bb4133f2",
          "width": 192,
          "x": 40896,
          "y": 1680,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "a4c3c15e-fd0f-4325-833f-80573302b736",
          "width": 80,
          "x": 40664,
          "y": 1712,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "95a61cd0-cac9-44f5-b49e-99685c25faa3",
          "width": 80,
          "x": 40792,
          "y": 1712,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "4fc7e6e3-43ff-4bd5-a3f2-5dac68e2d825",
          "width": 192,
          "x": 40000,
          "y": 1680,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "c57f33b2-a6ae-4daf-929a-7a9ee8daaba1",
          "width": 192,
          "x": 40000,
          "y": 2000,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "00395cbd-3348-41fb-bf55-f81e81008cd9",
          "width": 80,
          "x": 40056,
          "y": 1872,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "379084eb-b72a-4f2e-9775-295d037114de",
          "width": 80,
          "x": 41400,
          "y": 1872,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "6cb9758b-7480-426d-8f5c-8c577b981492",
          "width": 192,
          "x": 41344,
          "y": 2000,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "6062b389-9d7b-4a5a-b15a-9293f9a0ebe2",
          "width": 192,
          "x": 41344,
          "y": 1680,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "4140e52c-6120-456c-9221-591bcd02346a",
          "width": 80,
          "x": 40216,
          "y": 2032,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "9837feba-e7d8-4ea6-a42f-b5d1e89570d7",
          "width": 80,
          "x": 40344,
          "y": 2032,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "eefd8bd6-9488-4d8e-8c10-8ecd051c37f4",
          "width": 80,
          "x": 40472,
          "y": 2032,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "dcc25a47-f269-49ae-8683-38125cc61768",
          "width": 80,
          "x": 40600,
          "y": 2032,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "224229c6-b136-4a92-ae6b-ce0a7a7aee3c",
          "width": 80,
          "x": 40984,
          "y": 2032,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "904d4c37-9b8e-4dbb-8c85-a376a27033f9",
          "width": 80,
          "x": 41112,
          "y": 2032,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "1f8899f7-c984-44ef-bc90-e79a28007ef9",
          "width": 80,
          "x": 40856,
          "y": 2032,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "e10ef350-9709-4e88-833d-438dbdf656a4",
          "width": 80,
          "x": 40728,
          "y": 2032,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "18c90809-9f7a-42ec-85e2-3304fa8a12af",
          "width": 80,
          "x": 41240,
          "y": 2032,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "0ee876e5-8aa5-468e-853f-19a7dc447102",
          "width": 256,
          "x": 41088,
          "y": 1648,
          "zOrder": 13,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "5ca856c4-0aef-43bc-8f51-e582be8a96d2",
          "width": 256,
          "x": 41088,
          "y": 1648,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2.25
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "b29f0b9a-8231-4691-aac5-5c2ccf40490f",
          "width": 256,
          "x": 18112,
          "y": 704,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "6cfb3146-1ba1-4a49-9449-cff016c5d109",
          "width": 256,
          "x": 39072,
          "y": 1152,
          "zOrder": 112,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "dafc30b6-c329-43ce-a32f-511b278e20ac",
          "width": 224,
          "x": 41664,
          "y": 1152,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 496,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "d43c915a-b014-44b9-9118-e88f35efbaa1",
          "width": 992,
          "x": 45088,
          "y": 1296,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "1ab6404e-86f4-452f-9d59-2fde73d979a6",
          "width": 408,
          "x": 45320,
          "y": 800,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "a21b263c-5453-464c-9776-d610b1931973",
          "width": 256,
          "x": 45376,
          "y": 576,
          "zOrder": 74,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 224,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "8c79a8bc-3843-4130-915f-2932da95c146",
          "width": 448,
          "x": 44064,
          "y": 1248,
          "zOrder": 142,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "d1a591e5-d6c2-4c37-9b0e-bff58c09c7d5",
          "width": 45984,
          "x": -128,
          "y": 2336,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "1a78b49f-d0d1-4acd-86fc-dad5513b04c3",
          "width": 192,
          "x": 4256,
          "y": -128,
          "zOrder": 118,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "a02c8777-25cb-41af-ad51-98eb13f5fe98",
          "width": 256,
          "x": 8864,
          "y": 480,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "3ca7c143-8e84-4115-a8d7-579407828d4d",
          "width": 192,
          "x": 11896,
          "y": 1088,
          "zOrder": 123,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "3fcdfc54-6ba6-4804-be30-2c8029d18349",
          "width": 192,
          "x": 12016,
          "y": 1504,
          "zOrder": 123,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "88a2247d-7217-4071-b834-a24620f9ae87",
          "width": 192,
          "x": 13118,
          "y": 1888,
          "zOrder": 123,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 270,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "7ae07871-d5bb-46f9-90ec-a8a7448b25bd",
          "width": 192,
          "x": 14019,
          "y": 1968,
          "zOrder": 123,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 352,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "822349ea-8776-408e-8682-d733084ae9fd",
          "width": 632,
          "x": 11702,
          "y": 1920,
          "zOrder": 123,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "6724b948-cfe6-4e40-b98c-b7cdfcbad49f",
          "width": 192,
          "x": 12384,
          "y": 928,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "ad1e76a6-7b1b-4978-8d88-0c2d8c3940e8",
          "width": 512,
          "x": 12224,
          "y": 768,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "29952cff-ffe1-407a-8c38-b2ec1badd99d",
          "width": 512,
          "x": 12640,
          "y": 768,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "b214f93d-99ff-45bf-97f4-92598b07d646",
          "width": 192,
          "x": 12800,
          "y": 928,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "12246c4c-7cdc-4e5b-87b9-83749e134a6c",
          "width": 80,
          "x": 12616,
          "y": 960,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanentSingle",
          "persistentUuid": "619bc82a-81c7-49b8-b2da-170caad2739d",
          "width": 80,
          "x": 12744,
          "y": 960,
          "zOrder": 147,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "9d8e3d24-0f4d-4792-9800-1061ac390fb9",
          "width": 640,
          "x": 12384,
          "y": 1248,
          "zOrder": 148,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "4ef66227-aada-41c5-a94e-a12fa7f045c9",
          "width": 341,
          "x": 11830,
          "y": 1696,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "01a324c9-96f4-4904-aed6-deb3a4b3c07c",
          "width": 341,
          "x": 28128,
          "y": 576,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "3b850945-cabf-4b1e-a52b-fee132919bf3",
          "width": 512,
          "x": 29248,
          "y": 1152,
          "zOrder": 123,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 80,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "dabbfeee-6d7f-4d0c-8bd3-752d2fef49d3",
          "width": 320,
          "x": 30232,
          "y": 1048,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 80,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "8b8163f1-adef-4307-ba3f-72917f306548",
          "width": 320,
          "x": 30432,
          "y": 928,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "115ccfcf-4aa8-4456-9872-c767f5f36deb",
          "width": 256,
          "x": 29632,
          "y": 384,
          "zOrder": 1010,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "cc3b5691-0bab-4874-a44e-41de7e64465b",
          "width": 256,
          "x": 29824,
          "y": -64,
          "zOrder": 1010,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "d788eded-1242-457c-92ae-1766d2f5c288",
          "width": 192,
          "x": 30160,
          "y": 992,
          "zOrder": 1011,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "SpinningRotatingPlatformClockwise",
          "persistentUuid": "29edc845-961f-4c1b-919c-cf3b816daf5a",
          "width": 448,
          "x": 31840,
          "y": 544,
          "zOrder": 1012,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "13599d4b-8895-4308-b046-eda508ff41f6",
          "width": 192,
          "x": 31968,
          "y": 1824,
          "zOrder": 1011,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 1.5
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            },
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3.5
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "33ec6184-382b-4050-88cb-01a486ed27da",
          "width": 192,
          "x": 32896,
          "y": 1144,
          "zOrder": 1011,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 1.5
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            },
            {
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2
            }
          ]
        },
        {
          "angle": -90,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "7de48984-d9f9-45d1-a154-bb5bac81466f",
          "width": 192,
          "x": 31168,
          "y": 1144,
          "zOrder": 1011,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 1.5
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            },
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 80,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a2283e43-3b2e-437a-8f8a-66a74cb82ec4",
          "width": 384,
          "x": 31872,
          "y": 2016,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 80,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "667061d6-8c42-492d-869e-5e29548f05a3",
          "width": 320,
          "x": 32968,
          "y": 1192,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 80,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "213ad7fd-5f7a-415b-afc4-57231c2351a1",
          "width": 320,
          "x": 30968,
          "y": 1192,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "aeae4e2e-d4d8-43aa-94ca-8c43da127e76",
          "width": 192,
          "x": 32320,
          "y": 1952,
          "zOrder": 1013,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "0be8a44d-3f0a-4f1a-bac7-0fb6e9c64f84",
          "width": 512,
          "x": 32160,
          "y": 1792,
          "zOrder": 1012,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "ced00831-a965-40ba-8183-88c7015ed87c",
          "width": 256,
          "x": 33200,
          "y": 1911,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "9985fdd0-2624-47f5-b759-3bcd4b2c0d5f",
          "width": 192,
          "x": 32960,
          "y": 1952,
          "zOrder": 1013,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "2b266867-2792-47a2-9451-70c2ac4b9b14",
          "width": 512,
          "x": 32800,
          "y": 1792,
          "zOrder": 1012,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "99ff5fd5-17f9-41e0-b0f4-eb2d60eb40b8",
          "width": 80,
          "x": 32568,
          "y": 1984,
          "zOrder": 1014,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "8b956cd3-c925-4b1b-83b2-d5d8414e6127",
          "width": 80,
          "x": 32696,
          "y": 1984,
          "zOrder": 1014,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b1feb75a-c4b7-42b4-9ecc-9fd69dbeb37a",
          "width": 80,
          "x": 32824,
          "y": 1984,
          "zOrder": 1014,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "7c365262-646d-41e9-9fb8-17481ae0cd85",
          "width": 192,
          "x": 33216,
          "y": 1120,
          "zOrder": 1013,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "2fb03d34-47e0-4c3a-837a-e07420f21f31",
          "width": 192,
          "x": 33856,
          "y": 1120,
          "zOrder": 1013,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "5537d9a6-0658-4b66-98dd-932ec91d59e2",
          "width": 80,
          "x": 33464,
          "y": 1152,
          "zOrder": 1014,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0a1983c7-a934-4b7f-8d9b-9bc38adab2a0",
          "width": 80,
          "x": 33592,
          "y": 1152,
          "zOrder": 1014,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "7e893e45-f85f-44fc-aabd-552173687610",
          "width": 80,
          "x": 33720,
          "y": 1152,
          "zOrder": 1014,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "ab3c0424-579d-4b97-9169-207c402d3cc8",
          "width": 512,
          "x": 33696,
          "y": 960,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "a6c3dd01-5b6d-4b69-a843-65f8a2c6123d",
          "width": 512,
          "x": 33056,
          "y": 960,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "3c9455d0-7dd8-4d89-aa15-648cd682398f",
          "width": 256,
          "x": 32352,
          "y": 1728,
          "zOrder": 1010,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "25db37ae-61f4-45f6-90b8-4af3349c0a61",
          "width": 256,
          "x": 29344,
          "y": -64,
          "zOrder": 144,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "cee174c0-78f6-4823-9146-5bb9b2c64ca3",
          "width": 256,
          "x": 29344,
          "y": -64,
          "zOrder": 143,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "9e5ca84b-5b2d-4f0e-af11-e349669b9efd",
          "width": 288,
          "x": 34064,
          "y": 1820,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "248e6808-24d4-47d9-95b7-20a4d4b7b531",
          "width": 288,
          "x": 34256,
          "y": 1627,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "04b8b3cb-62e3-4352-b1d6-d86a1603426e",
          "width": 288,
          "x": 34640,
          "y": 1244,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "6b8af12a-5cb1-4273-88f6-d3b4d6fefe52",
          "width": 288,
          "x": 34832,
          "y": 1051,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d918182e-9ec8-4c0e-898a-96dbf2523916",
          "width": 288,
          "x": 34064,
          "y": 1243,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "5b5aa4b6-e329-4d48-b38e-a101395547de",
          "width": 288,
          "x": 33872,
          "y": 1435,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "2d262a69-522a-4053-a0b8-676531132a28",
          "width": 288,
          "x": 34448,
          "y": 860,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c7495ade-5c02-4427-a49d-41bf53b96325",
          "width": 288,
          "x": 34640,
          "y": 667,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c3b41022-35b4-4d2a-b37e-0ffdc000b979",
          "width": 256,
          "x": 33456,
          "y": 1911,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "873bc59d-d937-4c20-807f-82c030c8a579",
          "width": 288,
          "x": 34256,
          "y": 1052,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "50780fc9-d4fd-4848-8235-2d448a381ff6",
          "width": 341,
          "x": 33536,
          "y": 1664,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c427be16-c06a-44bb-a0a6-2f814465903a",
          "width": 288,
          "x": 35216,
          "y": 668,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "eed8f848-e713-4b65-a9b0-75ed4c1f7c0d",
          "width": 288,
          "x": 35408,
          "y": 475,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1ac96def-b0f5-4eac-a056-6b4a1d6c08da",
          "width": 288,
          "x": 35216,
          "y": 91,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "4d525f47-eebf-4348-9a44-8f6413f22738",
          "width": 288,
          "x": 35024,
          "y": 283,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "da1c4e16-7fe5-4bc0-9a59-8f358438a787",
          "width": 288,
          "x": 34832,
          "y": 475,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 135,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "56b812c9-9f83-4254-99cf-0edb453826b3",
          "width": 192,
          "x": 35032,
          "y": 760,
          "zOrder": 1017,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 0.75
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1750
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            }
          ]
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3c3acaf5-c319-47bd-8fa6-013099ca312d",
          "width": 288,
          "x": 35072,
          "y": 908,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": -45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fd4a1b65-e9ba-4838-b0aa-09d62a5d03f6",
          "width": 288,
          "x": 35408,
          "y": 476,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "ccfe92cd-3cb8-45a5-8447-ea975592b6d9",
          "width": 288,
          "x": 37520,
          "y": 508,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "4e3dffc6-90a3-4ba0-bc0f-1949846382cc",
          "width": 288,
          "x": 37712,
          "y": 699,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "2c7a16dd-8a9e-4e66-89ad-aae6307cd9b9",
          "width": 288,
          "x": 37904,
          "y": 892,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "27c1f228-ccb1-4d76-931e-b9bae08f1650",
          "width": 288,
          "x": 38048,
          "y": 1132,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "56b47372-9784-4eac-90bb-75ad561bd451",
          "width": 288,
          "x": 37328,
          "y": 316,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "de1c37b3-083d-4a55-858e-9f44ac8a8f59",
          "width": 288,
          "x": 37136,
          "y": 123,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "34be792e-58d0-48a3-bfec-08c335375a69",
          "width": 288,
          "x": 36944,
          "y": -69,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "20d6d0f1-e189-48e8-a626-d219082108cb",
          "width": 288,
          "x": 37136,
          "y": -452,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c705e1fe-9f5a-4e8d-a553-2084cbfe051c",
          "width": 288,
          "x": 37328,
          "y": -260,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d5622c35-dea7-41f4-8d6d-511d8da78448",
          "width": 288,
          "x": 37520,
          "y": -68,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f9785907-418c-44c2-99de-8d2cdb22df3e",
          "width": 288,
          "x": 37712,
          "y": 124,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "5da3b960-d750-4b67-b517-cda25e6c75a0",
          "width": 288,
          "x": 37904,
          "y": 316,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "65332f1c-adf0-4373-81e1-3941649c2e07",
          "width": 288,
          "x": 38096,
          "y": 508,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 45,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "149c2fc8-4c24-430a-8236-c25abc7d4af9",
          "width": 288,
          "x": 38288,
          "y": 700,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e85a583a-a8b5-4909-8f80-bc3df2179712",
          "width": 704,
          "x": 38336,
          "y": 1184,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "eaf40f92-2580-46ed-ba0d-a2046d07bf52",
          "width": 341,
          "x": 38507,
          "y": 928,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 225,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "79e839c7-f225-4f80-aa82-79e691724626",
          "width": 192,
          "x": 38184,
          "y": 984,
          "zOrder": 1017,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 0.75
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 1750
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            }
          ]
        },
        {
          "angle": -110,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "ShockwaveDemon_Base",
          "persistentUuid": "f820fd4b-7c95-4b23-9197-1575e6483778",
          "width": 192,
          "x": 9563,
          "y": 469,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FixedAngle",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "ShockwavePower",
              "type": "number",
              "value": 800
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "b923dc13-2506-4e3b-a9ab-842a2b05c771",
          "width": 336,
          "x": 36624,
          "y": -160,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 73,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "0b453a9c-6b77-4b01-8972-fde585b1510a",
          "width": 256,
          "x": 33712,
          "y": 1911,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "8ad30bf9-bdc6-40d6-9ea6-2a768e12be1c",
          "width": 256,
          "x": 42160,
          "y": 1568,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3.25
            }
          ]
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "a2063bdf-cc9a-4c07-b310-2fc27c379837",
          "width": 256,
          "x": 42736,
          "y": 1568,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3.25
            }
          ]
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "a9badbd5-5816-4f95-b486-00dcc73113a9",
          "width": 256,
          "x": 42928,
          "y": 1568,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3.25
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "440a8103-04c7-4922-9ea7-117caef012c9",
          "width": 256,
          "x": 41088,
          "y": 448,
          "zOrder": 13,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "6c4ae49a-95a6-4792-8350-97af163bc15b",
          "width": 256,
          "x": 41088,
          "y": 448,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2.25
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "f7a4d92b-4b56-4dd4-b4f3-30db4c6b6837",
          "width": 256,
          "x": 40192,
          "y": 1648,
          "zOrder": 13,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "9f27ab8f-bdee-48b5-8e55-619c599aab2b",
          "width": 256,
          "x": 40192,
          "y": 1648,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 2.25
            },
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": true
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 200,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "9c40be99-7986-4725-8ab5-0e7e70436ad9",
          "width": 736,
          "x": 27936,
          "y": 824,
          "zOrder": 109,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "d3b101be-6173-47a2-a0de-6bf6a79345e8",
          "width": 32,
          "x": 24448,
          "y": 384,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "26279ef6-68f4-43c9-8566-9c42d3118624",
          "width": 32,
          "x": 24896,
          "y": 512,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "25654ea2-2ccc-4468-8348-aa2b0a59dc5f",
          "width": 256,
          "x": 25280,
          "y": -288,
          "zOrder": 132,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "1ec55816-f0cc-4fe7-8e2f-34250d664bfd",
          "width": 256,
          "x": 25280,
          "y": -288,
          "zOrder": 133,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5.5
            },
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 144,
          "layer": "",
          "name": "SpinningPlatformCounterclockwise",
          "persistentUuid": "16fe441c-a4f9-4783-9d03-a9d4f74df7fd",
          "width": 288,
          "x": 26048,
          "y": 640,
          "zOrder": 136,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "04cb732d-de65-42ca-832a-1ae9af1accc7",
          "width": 32,
          "x": 27232,
          "y": 1440,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "8296f3e0-31cd-4e90-8774-90addbe61d07",
          "width": 32,
          "x": 27744,
          "y": 1184,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "bb2b046d-26a1-443a-915e-ac18c8b5e192",
          "width": 256,
          "x": 32480,
          "y": 1760,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "74c3d8c0-00eb-4934-bd4d-7f24da9c0a15",
          "width": 192,
          "x": 26368,
          "y": 1280,
          "zOrder": 1020,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "9b74bded-40ee-4b73-bc90-3283562a858c",
          "width": 192,
          "x": 26368,
          "y": 1856,
          "zOrder": 1020,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "6e98dde9-e12a-429d-b9f6-3914efc69cc1",
          "width": 80,
          "x": 26424,
          "y": 1472,
          "zOrder": 1021,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "115bdacd-7192-4a78-a12a-937c78f2ce7d",
          "width": 80,
          "x": 26424,
          "y": 1600,
          "zOrder": 1021,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "ca837ebc-988c-4ba1-ad82-f74371f7a4b0",
          "width": 80,
          "x": 26424,
          "y": 1728,
          "zOrder": 1021,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d5cb44f8-ac87-4527-badd-f630ab9928be",
          "width": 336,
          "x": 36624,
          "y": -160,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "44f1df08-c561-4093-9eb5-287ca84c3afa",
          "width": 336,
          "x": 36288,
          "y": -160,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "830f9afd-ebb1-46d6-8cd1-9e4772e8ede3",
          "width": 32,
          "x": 23200,
          "y": 704,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "9f8494cd-3daa-4c90-b81a-eba92b6f3a93",
          "width": 32,
          "x": 22880,
          "y": 352,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "11e11ab1-7002-481f-b8c0-b8f673e71452",
          "width": 32,
          "x": 23936,
          "y": 256,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2401587b-041b-445a-abde-d1272e23e545",
          "width": 32,
          "x": 23360,
          "y": 192,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "Assets\\Images\\Levels\\8\\Background\\Background.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "folderName": "NewFolder"
          },
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level8\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "type": "BuiltinCommonInstructions::Standard",
          "conditions": [
            {
              "type": {
                "value": "DepartScene"
              },
              "parameters": [
                ""
              ]
            }
          ],
          "actions": [
            {
              "type": {
                "value": "AnimatableCapability::AnimatableBehavior::SetName"
              },
              "parameters": [
                "Memory",
                "Animation",
                "=",
                "\"TangentHell\""
              ]
            },
            {
              "type": {
                "value": "ModVarObjet"
              },
              "parameters": [
                "Player",
                "LifeForce",
                "=",
                "8"
              ]
            }
          ]
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Level7",
      "name": "Level7",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 1.4557357853572885,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "MobileControls",
          "objects": [
            {
              "name": "JumpButton"
            },
            {
              "name": "Joystick"
            }
          ]
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "EndScreenBackground"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "RetryButton"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 3296,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "78dd0ffa-b22f-47a8-9b36-ef6a432b1d1e",
          "width": 128,
          "x": -128,
          "y": -1056,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2272,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 17950,
          "x": 0,
          "y": -320,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 3296,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 38272,
          "y": -1056,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 38528,
          "x": -128,
          "y": -1056,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "00f86cf3-18b0-4d71-9ce8-952dfc4e6b5c",
          "width": 38528,
          "x": -128,
          "y": 2112,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "014db1f5-0846-4cba-821e-57e29d368c14",
          "width": 256,
          "x": 64,
          "y": -64,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "ec1b505e-4a50-4898-85b5-19e0cdb4b458",
          "width": 1088,
          "x": 37344,
          "y": 160,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "fa79662d-16c7-4c21-a43d-0a204befff36",
          "width": 408,
          "x": 37864,
          "y": -352,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "58196f81-947d-479b-8722-7a47ea0e93a4",
          "width": 256,
          "x": 37920,
          "y": -576,
          "zOrder": 74,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 3040,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "3f0ec037-2a70-4ea5-90eb-c1f8a7387a6c",
          "width": 38272,
          "x": 0,
          "y": -928,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "82f6604d-d5a3-4584-bf5d-3fb293ff91aa",
          "width": 192,
          "x": 2072,
          "y": 192,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "bec917f8-1b5c-48f4-a650-d99dfbce285e",
          "width": 80,
          "x": 2129,
          "y": -448,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "ab4ca05b-5fa3-45f2-89f9-bd6292973350",
          "width": 80,
          "x": 2129,
          "y": -320,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "e876eebe-937d-49e0-af37-9a7164db6dd9",
          "width": 80,
          "x": 2129,
          "y": -64,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "f8a06d78-3166-47c9-8a49-ed7f06a2248d",
          "width": 80,
          "x": 2129,
          "y": -192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "d65d7a8e-d3bd-4aeb-8090-e2ef06d9008c",
          "width": 80,
          "x": 2129,
          "y": 64,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "e08c1888-868a-438d-bf83-a9affe5815db",
          "width": 608,
          "x": 0,
          "y": 32,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f899b706-4c05-46ee-9945-a8da9c16f7dc",
          "width": 608,
          "x": 1216,
          "y": 32,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "87018c72-d2ae-4ae3-9c4a-096ed7cb4b07",
          "width": 80,
          "x": 2288,
          "y": 224,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "851a2d14-8e76-418b-933d-354cc16ad351",
          "width": 80,
          "x": 2416,
          "y": 224,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "cdb8ef24-3042-4d10-bf23-60b96390e20a",
          "width": 80,
          "x": 2672,
          "y": 224,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "cfc2cfff-84f7-4ab2-950e-2448ce3e5370",
          "width": 80,
          "x": 2544,
          "y": 224,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "dfb2b7ff-418d-4476-965b-6825a1357823",
          "width": 80,
          "x": 2800,
          "y": 224,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "87f11bc5-3efc-4fd1-a545-f256987818a8",
          "width": 192,
          "x": 2904,
          "y": -640,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "977abecd-1a62-4c64-989b-494c97a165d0",
          "width": 80,
          "x": 2288,
          "y": -608,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c0487def-fe8b-4851-a049-f268b1dc8dbe",
          "width": 80,
          "x": 2416,
          "y": -608,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a466c3ce-f6a8-4f2f-81e9-3e6142294c48",
          "width": 80,
          "x": 2672,
          "y": -608,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "93e1d6a5-1836-4016-b64b-f5eac029f210",
          "width": 80,
          "x": 2544,
          "y": -608,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "e8766c93-b1b7-4b3e-8111-47996ad70ae4",
          "width": 80,
          "x": 2800,
          "y": -608,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "cbee167c-eaf4-42cd-83ec-a003a491bc8d",
          "width": 512,
          "x": 2744,
          "y": -800,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a418f968-954c-4ff8-a247-e7f9e7b4aac4",
          "width": 80,
          "x": 2960,
          "y": -448,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a64000ba-9ee9-4ac7-ab78-8d357259d765",
          "width": 80,
          "x": 2960,
          "y": -320,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3f184bc7-7583-4f27-936d-eb3e4bfc0c81",
          "width": 80,
          "x": 2960,
          "y": -192,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3aa3823a-7689-4136-b227-a63a8ac0bc45",
          "width": 80,
          "x": 2960,
          "y": -64,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "5ab6aaff-d10e-4eb1-bfe2-ed21ac1e5035",
          "width": 80,
          "x": 2960,
          "y": 64,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f8a9166e-4233-41f6-9425-ef7c69501802",
          "width": 480,
          "x": 2344,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 176,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "9d170a01-8cc4-4e5a-b0f6-cf9040c82524",
          "width": 352,
          "x": 4795,
          "y": 32,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "bd38b9ff-38b0-4eca-b5a7-3af45b6ab938",
          "width": 608,
          "x": 6304,
          "y": 544,
          "zOrder": 89,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 480,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "785a0cf8-b5ea-410c-9d96-dd216f90a615",
          "width": 960,
          "x": 7328,
          "y": 544,
          "zOrder": 90,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "fcb9ae97-f243-41d2-b258-ac6650dfda0b",
          "width": 341,
          "x": 7403,
          "y": 160,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "SpinningPlatformClockwise",
          "persistentUuid": "7267fcc8-b094-47e0-b8b7-ac6587b94ef6",
          "width": 576,
          "x": 5024,
          "y": 544,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "932c7e0e-2128-414a-9467-c08d39872ca5",
          "width": 171,
          "x": 8597,
          "y": 320,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 4,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "6243a533-81e0-47a0-be1c-048b7c7955a9",
          "width": 160,
          "x": 8608,
          "y": 320,
          "zOrder": 93,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "276e98f4-ae22-4a21-954b-c6e8a2d711fd",
          "width": 224,
          "x": 9216,
          "y": 640,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "d903019d-7c41-4929-bc2f-e498deb54a00",
          "width": 256,
          "x": 9408,
          "y": 640,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "b51f0066-0d49-4a21-9cf0-79dbb4d4da0f",
          "width": 192,
          "x": 10432,
          "y": 0,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "7f423aac-42a7-40ae-ac98-6028c73775d0",
          "width": 512,
          "x": 10272,
          "y": -160,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "d15c5df6-3735-44e9-896c-19c1fceefe08",
          "width": 192,
          "x": 11392,
          "y": 0,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "25e53358-8bda-4a9b-b641-dca3fbeaab20",
          "width": 512,
          "x": 11232,
          "y": -160,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "ae833958-6f75-466b-903b-0ee31b2fb7eb",
          "width": 80,
          "x": 10648,
          "y": 32,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "4bee4326-b233-4118-82d0-7c005f5863d8",
          "width": 80,
          "x": 10776,
          "y": 32,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "f220557d-778f-4b52-904a-f2d7c3ef980b",
          "width": 80,
          "x": 10904,
          "y": 32,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "dad60cd3-f328-4afa-b8aa-e6d15b89893a",
          "width": 80,
          "x": 11032,
          "y": 32,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "95b9345e-35e0-4557-9427-b8c2f5757bce",
          "width": 80,
          "x": 11160,
          "y": 32,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c40c954f-49ac-42ba-bb55-5df61737da7e",
          "width": 80,
          "x": 11288,
          "y": 32,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "64ca416b-179e-4397-b46d-65c2ef107974",
          "width": 128,
          "x": 12448,
          "y": 288,
          "zOrder": 96,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "472008f3-6d01-4871-85cc-11be72ccdf3d",
          "width": 128,
          "x": 12000,
          "y": 96,
          "zOrder": 96,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "6f1f754d-a0de-4664-b2ea-ed4e1080c679",
          "width": 512,
          "x": 11232,
          "y": -160,
          "zOrder": 96,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "cdac6500-32cf-4821-86da-33662b8d9fed",
          "width": 341,
          "x": 11307,
          "y": -416,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "34856d54-ce72-42cc-b159-296a20e73d02",
          "width": 80,
          "x": 12696,
          "y": -352,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "5abbb8de-3bab-4cc2-80b4-5a751ae454cf",
          "width": 80,
          "x": 12696,
          "y": -224,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "e0ed8fca-622b-4692-a7d3-4bc524c2d048",
          "width": 80,
          "x": 12696,
          "y": 32,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "fc3af844-61cd-463e-a1e2-426b5b35169d",
          "width": 80,
          "x": 12696,
          "y": -96,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "4278a343-5188-4a20-8d81-b7da4b76307c",
          "width": 80,
          "x": 12696,
          "y": 160,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "5d60c484-aeb7-4538-ad27-6aa80ff3c29e",
          "width": 192,
          "x": 12640,
          "y": 288,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "036e66bf-b1d7-4d04-9408-cbe1bdf8090c",
          "width": 192,
          "x": 12640,
          "y": -800,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "4e4220cc-293e-412b-9625-76c84d13db90",
          "width": 80,
          "x": 12696,
          "y": -480,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 176,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "b45cf40e-d794-403c-895d-1c642094b3fb",
          "width": 352,
          "x": 12160,
          "y": -160,
          "zOrder": 97,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "e239893b-1bf6-4df2-929f-4fb1a07b78e1",
          "width": 224,
          "x": 10848,
          "y": -384,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "7e36bf4c-370d-4b96-bdee-0e3c1c197d3e",
          "width": 224,
          "x": 10848,
          "y": -192,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "eb423c5b-3dd6-4966-9e70-be29b288573d",
          "width": 576,
          "x": 13135,
          "y": 160,
          "zOrder": 98,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "7d436182-98a1-46ae-9134-ea43af436dde",
          "width": 198,
          "x": 12096,
          "y": 576,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "11e48972-96c8-4a6e-ae22-316ac1aacffb",
          "width": 171,
          "x": 8597,
          "y": 810,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "57eb53c3-bdf7-4d60-8615-d501f27803c9",
          "width": 320,
          "x": 10144,
          "y": 896,
          "zOrder": 99,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "a0724908-3562-4b57-a70c-aa9457c07804",
          "width": 192,
          "x": 2072,
          "y": -640,
          "zOrder": 100,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "9c3e4b74-bb75-4e70-8d09-eb593a4b9ec9",
          "width": 192,
          "x": 2904,
          "y": 192,
          "zOrder": 100,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "bdd4aadb-a9e6-43b1-8f5b-5d140805ad86",
          "width": 512,
          "x": 1912,
          "y": -800,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "6e8d1265-674c-4680-853c-6c485df499ba",
          "width": 512,
          "x": 2744,
          "y": 32,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "50621dd9-2ca1-4175-ac2e-2dcd57940dc2",
          "width": 341,
          "x": 13242,
          "y": -96,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 176,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "bc5e4806-f10f-4b37-aaac-cfbbf6eb58a1",
          "width": 352,
          "x": 5696,
          "y": 144,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "c75cac6a-e90d-4ad6-9a5b-cb422950e2a6",
          "width": 80,
          "x": 12696,
          "y": -608,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2f11693a-5c75-4805-87c4-5c9c2322d8ee",
          "width": 64,
          "x": 8640,
          "y": 1920,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "264d31de-74a8-444c-b7e6-545c82e9cc82",
          "width": 192,
          "x": 13856,
          "y": 128,
          "zOrder": 102,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "f309025f-832d-4a4c-8ede-e76fd13943b6",
          "width": 192,
          "x": 14336,
          "y": 192,
          "zOrder": 103,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "8148d83d-6a66-4415-bd1f-c2bc45dfaa92",
          "width": 384,
          "x": 14080,
          "y": 836,
          "zOrder": 105,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "d30bf0c3-bd97-415a-b030-0f602466fa39",
          "width": 192,
          "x": 14087,
          "y": -768,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "71c5a2bb-e83c-46ad-97d1-44372d4ea6fa",
          "width": 512,
          "x": 13927,
          "y": -928,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "9ba05ce7-af3c-4674-b5e2-49f94175d6fa",
          "width": 80,
          "x": 14144,
          "y": -576,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "970ec5f3-d409-4323-af9b-63d1b8c1bedf",
          "width": 80,
          "x": 14144,
          "y": -448,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "103c22f8-4bd9-4576-9ee5-77ecc4ac7961",
          "width": 80,
          "x": 14144,
          "y": -192,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "4c1d2c20-8809-4a38-a9e0-352cfa1c392a",
          "width": 80,
          "x": 14144,
          "y": -320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "f34729fa-75dc-4ae9-a14f-1fee676e8dae",
          "width": 80,
          "x": 14144,
          "y": 64,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "1f5c3341-af22-4d46-b7e8-7ac4414b360d",
          "width": 80,
          "x": 14144,
          "y": -64,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "67358fbd-7516-47db-9f5d-d23b5f8d60c8",
          "width": 512,
          "x": 13927,
          "y": 32,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "70fa2a89-60d7-41f8-982b-e6e9173346e0",
          "width": 192,
          "x": 14087,
          "y": 192,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 4,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "c28ad4d6-8561-4ac0-8d0f-3c0d80ecea3c",
          "width": 192,
          "x": 14720,
          "y": 96,
          "zOrder": 93,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 577,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "971d49a5-e5bf-4d86-8a02-003a3d2843fe",
          "width": 192,
          "x": 14720,
          "y": 95,
          "zOrder": 10,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 272,
          "layer": "",
          "name": "SpinningRotatingPlatformCounterclockwise",
          "persistentUuid": "46077628-a1d6-4e29-86cc-9203cb7ff739",
          "width": 544,
          "x": 15392,
          "y": 1240,
          "zOrder": 107,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 272,
          "layer": "",
          "name": "SpinningRotatingPlatformClockwise",
          "persistentUuid": "bbddd66d-653e-4cba-8e7c-4ee624239d0a",
          "width": 544,
          "x": 15392,
          "y": 40,
          "zOrder": 10,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "3e550694-f472-4e4d-bd49-a3390d5d8074",
          "width": 448,
          "x": 16512,
          "y": 768,
          "zOrder": 105,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 224,
          "layer": "",
          "name": "FlippingPlatform2",
          "persistentUuid": "5eca9b72-ec23-48b1-84d9-0602f30a954d",
          "width": 448,
          "x": 17376,
          "y": 768,
          "zOrder": 108,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "c337ae2d-8429-4b9a-8b8b-e86ea0646a24",
          "width": 448,
          "x": 18240,
          "y": 768,
          "zOrder": 105,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 168,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3543d841-5584-4d30-b888-dfa898201537",
          "width": 672,
          "x": 19104,
          "y": 760,
          "zOrder": 109,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "d48596a1-349d-4947-a7ec-9688ebf045a1",
          "width": 341,
          "x": 19264,
          "y": 480,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "27ad128c-32c1-4517-9734-c589e53a695a",
          "width": 341,
          "x": 30880,
          "y": 528,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "49130203-eafe-4c71-bda2-524f602cbf78",
          "width": 256,
          "x": 25984,
          "y": 736,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "7a1277c5-7bb5-43b4-b947-ca1d3af37784",
          "width": 256,
          "x": 26144,
          "y": 736,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "f4b10c1b-96f5-4dcd-96be-f8e98be997e1",
          "width": 256,
          "x": 26304,
          "y": 736,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "57558d98-19a9-41be-8975-390377f7995b",
          "width": 256,
          "x": 26464,
          "y": 736,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "9d4cc7d2-f586-4502-91b3-f3e9d40b8a03",
          "width": 256,
          "x": 26624,
          "y": 736,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "42e6ef76-cd85-4bed-a521-421b2ab9321b",
          "width": 256,
          "x": 27451,
          "y": 736,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "8b2bf275-e2e1-40af-8edb-f2659d58958f",
          "width": 0,
          "x": 28192,
          "y": 928,
          "zOrder": 119,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "60cb2756-9127-48a1-8831-a4d963235956",
          "width": 256,
          "x": 28544,
          "y": 800,
          "zOrder": 120,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "3144e198-25f1-4a13-b86c-16941affb41b",
          "width": 384,
          "x": 29361,
          "y": 1088,
          "zOrder": 121,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "cc035f54-383e-47c4-acac-d6f4681f6f8e",
          "width": 192,
          "x": 31392,
          "y": 880,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "8c069009-3645-426f-90c0-1aa4d2a75d3b",
          "width": 512,
          "x": 31232,
          "y": 728,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "60c448de-d286-4b45-bee1-7b49afdfdcc4",
          "width": 192,
          "x": 31392,
          "y": 416,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "48cde209-49b6-4365-9cec-ab8c21dab46a",
          "width": 512,
          "x": 31232,
          "y": 256,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "89e261a7-eb33-4e88-b9bd-9e73b7628c0b",
          "width": 384,
          "x": 31616,
          "y": 768,
          "zOrder": 122,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "4d41cdb1-20ee-47ae-b819-70638fab7f37",
          "width": 192,
          "x": 32224,
          "y": 416,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "43fa370f-0b50-42fb-b09c-85be10c267db",
          "width": 512,
          "x": 32064,
          "y": 256,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1e74488e-f895-45a6-a6ed-c83ca64ea949",
          "width": 288,
          "x": 30752,
          "y": 780,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "94b6a68b-e4f3-43d0-b8b3-8c0e854dcc10",
          "width": 288,
          "x": 31040,
          "y": 780,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "bac3d361-4bbd-4ffd-bd29-a4974a3588b2",
          "width": 288,
          "x": 31328,
          "y": 780,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "41903627-b288-4f3d-8294-0e167f3598f7",
          "width": 192,
          "x": 32768,
          "y": 888,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "53c46262-853e-4232-803a-09cd170f1ebc",
          "width": 512,
          "x": 32608,
          "y": 728,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "e6e67734-76db-48d1-bd61-cd42c5f6d609",
          "width": 80,
          "x": 31624,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "6fd1360d-8902-442f-8aeb-b31cdb84ae47",
          "width": 80,
          "x": 31752,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "8944778d-435c-414e-9c9f-71314136994e",
          "width": 80,
          "x": 32008,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "4172fb74-326b-4cb0-91d0-37e423077005",
          "width": 80,
          "x": 31880,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0fda4f9b-2ada-4811-b4c3-f1a5aa72bea0",
          "width": 80,
          "x": 32520,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3422ef5b-7945-4498-9875-29f0307b717f",
          "width": 80,
          "x": 32392,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "71b80b8c-10f4-40a5-906a-918e91ed9adc",
          "width": 80,
          "x": 32264,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "60c8fac6-f066-4271-9b7c-674ef11adaa0",
          "width": 80,
          "x": 32136,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0c46a301-fc94-42c9-9555-c1fab432ef31",
          "width": 80,
          "x": 32648,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b7f7f7d4-600b-4607-8219-940db160cbec",
          "width": 80,
          "x": 31608,
          "y": 448,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "36658f87-52bb-4429-99d1-7bbfb501efb5",
          "width": 80,
          "x": 31736,
          "y": 448,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "4c07249c-4800-4d72-a86d-c3b5c6f7880b",
          "width": 80,
          "x": 31864,
          "y": 448,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c9fc602e-ffd8-4f58-8e16-069f9646a2ee",
          "width": 80,
          "x": 31992,
          "y": 448,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "688d7274-ef1f-4d78-95bf-eeba8d792678",
          "width": 80,
          "x": 32120,
          "y": 448,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "ba6eae4c-fe30-431f-be67-3c3d902a8901",
          "width": 192,
          "x": 32224,
          "y": -176,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "f4f03167-b58d-43e7-a3d4-09ce51421d66",
          "width": 512,
          "x": 32064,
          "y": -336,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 172,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "520ff56e-78e2-4e05-824b-398b63b5f09e",
          "width": 172,
          "x": 32500,
          "y": 168,
          "zOrder": 125,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a91cd73b-de07-4ee3-9ce9-2ece089bfc5e",
          "width": 80,
          "x": 32280,
          "y": 280,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "6931c4f2-9126-4659-b4b6-d68e41c32da6",
          "width": 80,
          "x": 32280,
          "y": 152,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "6ec62170-6e98-4ea7-a785-461cddafebb2",
          "width": 192,
          "x": 32768,
          "y": 288,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "3fe96db2-f7d5-4229-84ff-46c3d35e28d9",
          "width": 512,
          "x": 32608,
          "y": 128,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "02c241c1-e2b7-4206-bcd5-6670d8940dcd",
          "width": 256,
          "x": 32736,
          "y": 180,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "bb16d3df-1477-47a2-90d0-9986b85f2dc6",
          "width": 384,
          "x": 33856,
          "y": 168,
          "zOrder": 122,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "6d0aee74-b6de-4c2d-bd2a-66a05f9544f4",
          "width": 80,
          "x": 32280,
          "y": 24,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "449fb99b-ad43-4a12-afc4-851ce80ff7c9",
          "width": 80,
          "x": 32824,
          "y": 744,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c4fc4ea5-3db7-40a7-8494-02faaa1fa727",
          "width": 80,
          "x": 32824,
          "y": 616,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "304827d3-f74f-4a50-ba27-9e4af9ef6d42",
          "width": 80,
          "x": 32824,
          "y": 488,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "HorizontalMovingPlatformLeft",
          "persistentUuid": "1d6d0c45-7e62-460c-91ab-27560739047c",
          "width": 384,
          "x": 33492,
          "y": 168,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 172,
          "layer": "",
          "name": "VerticalMovingPlatformUp",
          "persistentUuid": "f49ff3d3-e4b0-44ad-9715-acb9ea3962fe",
          "width": 172,
          "x": 35060,
          "y": 768,
          "zOrder": 127,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "6b0cfd13-45aa-4665-b0e0-232b5b965171",
          "width": 192,
          "x": 34784,
          "y": 288,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "53fb5468-a949-42e1-a072-9fb42aa3bb08",
          "width": 512,
          "x": 34624,
          "y": 128,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "45418a26-b97f-4aa7-b034-0f7dda78308e",
          "width": 192,
          "x": 35328,
          "y": -176,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "9c12f473-342a-4ce8-af7e-e60d0108f76e",
          "width": 512,
          "x": 35168,
          "y": -336,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "7f45e8ed-ad59-4670-b747-31d54c8c1124",
          "width": 80,
          "x": 32456,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "87291111-dced-4086-a9b8-d5f127ed85b6",
          "width": 80,
          "x": 32584,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "ad3f4780-294c-4ed5-9521-a0dc6b4cdebf",
          "width": 80,
          "x": 32712,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "14bb1ff9-c1d8-4d37-b191-81e6e82f1ec6",
          "width": 80,
          "x": 32840,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "54046ac0-2bfc-4776-a0b6-ef7794786035",
          "width": 80,
          "x": 32968,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "5b793fb9-864a-4c12-9162-f3701bf901d3",
          "width": 80,
          "x": 33096,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "59005b45-955c-4f55-96d9-5a4130272116",
          "width": 80,
          "x": 33224,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "6cab1d3e-fe6a-486a-a87c-db11756a5be2",
          "width": 80,
          "x": 33352,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "8e57b6f3-2e01-4121-8a7f-6e562d958bc0",
          "width": 80,
          "x": 33480,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "6b017f1d-1d32-416a-a944-dba5b99796a7",
          "width": 80,
          "x": 33608,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "739f76a7-14e5-4a69-8f99-f42cf961f83a",
          "width": 80,
          "x": 33736,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "bcd7a90e-1bca-4b7e-b404-98602b925c34",
          "width": 80,
          "x": 33864,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "8ca1be9f-8994-4958-8bf5-475a67eb4d90",
          "width": 80,
          "x": 33992,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "95899f72-b0da-41bb-a58d-fbb13c210879",
          "width": 80,
          "x": 34120,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "df5afc27-2208-4cd6-91ed-3b54ced98e1f",
          "width": 80,
          "x": 34248,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "daaa85c2-9162-47c9-99b9-35391d3ee77a",
          "width": 80,
          "x": 34376,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "9ddfdce9-85d6-4c60-8aad-9230f72f9992",
          "width": 80,
          "x": 33128,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "99e46b8b-c5b2-4723-bbf7-c6894aacf8f6",
          "width": 80,
          "x": 33256,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "ce37ea4b-5cc9-45a3-a033-8fa69905e5b8",
          "width": 80,
          "x": 33384,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "ae0b05bf-7e48-4e6f-be8d-205527b5bae6",
          "width": 80,
          "x": 33512,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "d8db12e1-cd93-4c71-977d-efce3212ee94",
          "width": 80,
          "x": 33640,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a2c239ba-58b6-4c73-be24-89313a222217",
          "width": 80,
          "x": 33768,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "deaac59a-14de-431d-afa1-7443215c89a5",
          "width": 80,
          "x": 33896,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "36d969a4-6dd1-4a86-958e-51affc9a82eb",
          "width": 80,
          "x": 34024,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "cab2aa41-6b67-4af9-b4eb-8159d088d138",
          "width": 80,
          "x": 34152,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "51ae6438-cedb-4ed5-8656-5719cdf9c15f",
          "width": 80,
          "x": 33000,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "f13d300a-52e8-4d56-92ad-f9fce8de8240",
          "width": 80,
          "x": 34280,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "69f4c44f-de00-4f3d-b096-22fb73418f75",
          "width": 80,
          "x": 34888,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b2eb6a77-8fe8-4092-9ded-e84b9d9bbfe6",
          "width": 80,
          "x": 34760,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "44b50aa7-9d91-491f-9feb-d76b395cebef",
          "width": 80,
          "x": 34632,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3d1945a0-4592-4efa-89fa-b6ce2f9f240c",
          "width": 80,
          "x": 34504,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "6daffc3c-b116-4369-9e6a-39bec486332e",
          "width": 256,
          "x": 34752,
          "y": 180,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "01803e4a-558b-4e0a-bf90-6d065e1e8422",
          "width": 80,
          "x": 34408,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "34d7f896-29f7-4f8a-9827-13eab39a9665",
          "width": 80,
          "x": 34536,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "25fcba59-bd78-42bd-ac7d-4c013db75dfe",
          "width": 80,
          "x": 34664,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "83fd15c4-6318-43fb-8d43-7374e6189e8f",
          "width": 80,
          "x": 35016,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "2a844d25-605a-4c5b-b201-63f14cd68ffc",
          "width": 80,
          "x": 35144,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanentSingle",
          "persistentUuid": "bd9e1733-0650-431c-a123-704f4dbaef1c",
          "width": 80,
          "x": 35272,
          "y": -144,
          "zOrder": 128,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "b9872216-ae7a-4a36-9a1f-a7a16fbddc65",
          "width": 192,
          "x": 35328,
          "y": 888,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "348c52f8-667f-43fe-af84-f42666225861",
          "width": 512,
          "x": 35168,
          "y": 728,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c3d225db-511b-41b1-a745-9dd926412341",
          "width": 80,
          "x": 33528,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3efe68e3-3c12-4fe9-bc4f-0e753493c438",
          "width": 80,
          "x": 33656,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b28c5a18-3fdb-4cc0-a649-c7b319c05709",
          "width": 80,
          "x": 33784,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "db980401-c318-4b3e-8be6-7cefa3a7c8f3",
          "width": 80,
          "x": 33912,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3bb749ef-73a4-48b3-bfc4-9dfd65253009",
          "width": 80,
          "x": 34040,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0704b894-74de-4e44-a967-b040f5de12a6",
          "width": 80,
          "x": 34168,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "21b5227a-85eb-427f-a6f9-7b3be208b992",
          "width": 80,
          "x": 34296,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b5f7d563-87d7-460d-9e39-d7df72a40e43",
          "width": 80,
          "x": 34424,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "0b57f3cd-207a-465c-893c-6f33a2c61c3c",
          "width": 80,
          "x": 34936,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "327ee4c7-f175-4fca-b33a-07e25cc29f00",
          "width": 80,
          "x": 34808,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "4756b73d-54a4-41d5-93d3-277dd10da6b3",
          "width": 80,
          "x": 34680,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "cb29ba57-87b5-4d01-b6b8-e83681b35fb9",
          "width": 80,
          "x": 34552,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b975f785-31ae-4bad-a5ef-662bceee4645",
          "width": 80,
          "x": 35064,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "e907f5fa-9c01-414a-afaf-a7c8e92e762f",
          "width": 80,
          "x": 35192,
          "y": 920,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 172,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "d05495d1-1598-413c-bbc1-35eaad7f269e",
          "width": 172,
          "x": 33044,
          "y": 768,
          "zOrder": 125,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "25f66cac-5563-4b92-8e2e-4dfa8bc11a3b",
          "width": 256,
          "x": 33280,
          "y": 780,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "6255e76c-34d2-438a-9980-3ffe6f61ecc0",
          "width": 192,
          "x": 33312,
          "y": 888,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "6e37019a-1611-454d-8041-82bf62d7b9df",
          "width": 512,
          "x": 33152,
          "y": 728,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "59c8753f-567e-4268-9eb1-f9c233ea21a9",
          "width": 80,
          "x": 35384,
          "y": 100,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "debbb82f-359b-4671-a949-d756edc741db",
          "width": 80,
          "x": 35384,
          "y": 228,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "8171c00e-c9e1-4b1e-a250-078faf39c050",
          "width": 80,
          "x": 35384,
          "y": 356,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "8a7b450c-e597-4bc6-83ef-734f9db2a47e",
          "width": 80,
          "x": 35384,
          "y": 484,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "182712db-f074-49ad-b641-6473d63f6ad0",
          "width": 80,
          "x": 35384,
          "y": 612,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "28c3fc84-150e-467d-a473-854ef2ba9013",
          "width": 80,
          "x": 35384,
          "y": 740,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanentSingle",
          "persistentUuid": "7b21ce77-5822-4e01-b036-d2a14c846606",
          "width": 80,
          "x": 35384,
          "y": -28,
          "zOrder": 128,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "bc933762-9fa9-45f9-a69b-34f743162882",
          "width": 256,
          "x": 33280,
          "y": 1380,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "e9298120-412f-497b-9868-0e78d1da8dd5",
          "width": 512,
          "x": 32608,
          "y": 1328,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "d626674c-9a9c-4159-a2cc-036ad08801f4",
          "width": 192,
          "x": 32768,
          "y": 1488,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3b6572ad-a3f1-4577-a198-140abd8e0cb1",
          "width": 80,
          "x": 32824,
          "y": 1092,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "f33a6c32-8b5b-4158-81f5-33b086bb65ef",
          "width": 80,
          "x": 32824,
          "y": 1220,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "cbcb507f-b0f6-4050-9fc2-08cb882e6a65",
          "width": 80,
          "x": 32824,
          "y": 1348,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "6e4fffcd-2aec-47f7-8f60-64e97e8bdb53",
          "width": 256,
          "x": 35296,
          "y": 1380,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "dc04a1bd-2ba6-47cf-83ac-dca23a056894",
          "width": 512,
          "x": 35808,
          "y": 1328,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "dd6bdd88-b3f8-49ca-ab9f-0e51a239b76e",
          "width": 192,
          "x": 35968,
          "y": 1488,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "30d99425-121e-4267-a46c-5305d457d0d3",
          "width": 80,
          "x": 33000,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "b670049a-275e-4a05-8627-0f755d808283",
          "width": 80,
          "x": 34696,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "bdd4ea2f-3f16-4ce6-ac72-2ac04f1e826f",
          "width": 80,
          "x": 34568,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "1304179d-569d-483a-8b75-965712b2a13c",
          "width": 80,
          "x": 34440,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "12dde5cd-dfe9-4b2c-a74e-957c677863a2",
          "width": 80,
          "x": 34312,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "7ed2748e-a731-4c1e-ad47-a365c8824de6",
          "width": 80,
          "x": 34184,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "25bc0379-b1dd-49b0-ad01-8afb23098c1f",
          "width": 80,
          "x": 34056,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "65ac65b5-b320-4569-b78c-2d0d3ce38ad9",
          "width": 80,
          "x": 33800,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "15994841-6dea-4bae-bcf2-906606140da8",
          "width": 80,
          "x": 33928,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "94bb4045-ff4f-4f69-9c8c-f32db51621d8",
          "width": 80,
          "x": 33672,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "88ad83f2-aeae-4c89-8423-17dc79dba25f",
          "width": 80,
          "x": 33544,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "d2909d2e-aba1-4197-857b-357253e3422d",
          "width": 80,
          "x": 33128,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "e00e6d87-700f-4937-8dae-ec7f5aaaa72a",
          "width": 80,
          "x": 35208,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "abc230f1-9bc1-4c72-a651-2852e4e2e4e6",
          "width": 80,
          "x": 35080,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "1ce2fa96-9302-4c40-b92d-6af5e761fe19",
          "width": 80,
          "x": 34952,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3f1947b6-8af0-4028-be91-05bc8c18f2b6",
          "width": 80,
          "x": 34824,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a7706b98-d7b8-47fc-83da-ed6ff00b69e1",
          "width": 80,
          "x": 35576,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "7c1d93b0-a8bb-4018-8df3-bf90fa78edec",
          "width": 80,
          "x": 35704,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 172,
          "layer": "",
          "name": "VerticalMovingPlatformUp",
          "persistentUuid": "9ae90d59-0f6d-46fa-b284-ce6f6c36922f",
          "width": 172,
          "x": 35604,
          "y": 1368,
          "zOrder": 127,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 172,
          "layer": "",
          "name": "VerticalMovingPlatformUp",
          "persistentUuid": "16028bba-1a11-4cab-9004-bd8860b2259c",
          "width": 172,
          "x": 35604,
          "y": 768,
          "zOrder": 127,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "7d241701-a0ca-4383-9e2a-b29b01aa7368",
          "width": 192,
          "x": 35968,
          "y": 288,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "0df6350b-389b-490b-829a-5773c1e656bd",
          "width": 512,
          "x": 35808,
          "y": 128,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "38b580c9-b55d-42a0-a490-bec424451ddd",
          "width": 80,
          "x": 36024,
          "y": 696,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "02735caa-8a9f-466d-89e1-691fe5cbee5c",
          "width": 80,
          "x": 36024,
          "y": 824,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "7fcce354-6b85-4f61-b381-9a736d8ca37b",
          "width": 80,
          "x": 36024,
          "y": 952,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "1039c138-81cc-4eba-b37d-da64fdf89e91",
          "width": 80,
          "x": 36024,
          "y": 1080,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "5ed707b6-8f41-440a-b23f-57d9afe8cc5c",
          "width": 80,
          "x": 36024,
          "y": 1208,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "805607d5-9740-4720-9cca-67619847ccc4",
          "width": 80,
          "x": 36024,
          "y": 1336,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "cda60a70-9c17-41b0-9f9c-c906e043c3dc",
          "width": 80,
          "x": 36024,
          "y": 568,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanentSingle",
          "persistentUuid": "9c927b4a-ce70-4315-82fd-fbb4b868edb5",
          "width": 80,
          "x": 36024,
          "y": 440,
          "zOrder": 128,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "0230c46c-6026-4a33-9317-11af3230c675",
          "width": 192,
          "x": 37120,
          "y": 288,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "539b9cb7-6f79-4ff2-a94a-21d6c1d69dfc",
          "width": 384,
          "x": 36192,
          "y": 168,
          "zOrder": 122,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "8ff6c0b7-5462-4cc1-a107-e095f629cbbd",
          "width": 256,
          "x": 35936,
          "y": 180,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "baf88af3-5799-4561-99f1-7c4fab5fe14a",
          "width": 192,
          "x": 37120,
          "y": -176,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "f2c614ec-7fa0-41af-8120-64eabc8bbb31",
          "width": 80,
          "x": 35576,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3fb69b2b-3145-43ab-9d47-2782cea85fda",
          "width": 80,
          "x": 35704,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "860c7340-2fad-4c5b-94b1-52fb59622622",
          "width": 80,
          "x": 35832,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "c3454c34-8c4f-47d7-a180-7578537f94f3",
          "width": 80,
          "x": 35960,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "a430553a-f430-4327-b74e-55633576f8a2",
          "width": 80,
          "x": 36088,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "e6980061-b149-41b7-8890-5e95d8d65149",
          "width": 80,
          "x": 36216,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "5d92b57f-8a6e-4fba-97a1-eb70ab91d998",
          "width": 80,
          "x": 36344,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "20de24ba-78b6-4daf-aadb-55a856ebc69b",
          "width": 80,
          "x": 36856,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "1ab38094-5eab-4627-a828-b8d209eb8526",
          "width": 80,
          "x": 36728,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "3c8cb383-c217-40fb-b377-ef345caf6f51",
          "width": 80,
          "x": 36600,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "fc472973-4827-4b74-9b1e-9ca6b60b8241",
          "width": 80,
          "x": 36472,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "d0f9d944-1259-4d54-b6c8-56d3c9016eaf",
          "width": 80,
          "x": 36216,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "488c3a99-d865-451d-b36e-ef4e19ad5ed0",
          "width": 80,
          "x": 36344,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "937806d1-9067-4037-acbf-36befc6f183a",
          "width": 80,
          "x": 36472,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "83fc9086-1dd2-4530-b17d-bc38bd9208a5",
          "width": 80,
          "x": 36600,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "4c18dba5-d9fa-4323-af64-e8e99269d664",
          "width": 80,
          "x": 36728,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "375e46d1-3311-46de-ae72-5fb32c1930c7",
          "width": 80,
          "x": 36856,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "d481a7e3-2d07-44c4-8748-25c92bf5d529",
          "width": 80,
          "x": 36984,
          "y": 320,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "5968c7a8-e6f2-4f88-9a0f-a8a5318f3556",
          "width": 256,
          "x": 32992,
          "y": 912,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "HorizontalMovingPlatformLeft",
          "persistentUuid": "0427af97-aee1-4516-b17f-b222f7538e8b",
          "width": 384,
          "x": 34912,
          "y": 768,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "104c56ab-efe5-4509-9f19-e93b084bc4a3",
          "width": 384,
          "x": 33536,
          "y": 768,
          "zOrder": 122,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "fdd1cb0a-b5c5-4ebb-a035-a390abe8c959",
          "width": 216,
          "x": 35832,
          "y": 788,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "9ca4b410-6116-42ab-a705-f2b26e435910",
          "width": 80,
          "x": 35832,
          "y": 1520,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanent",
          "persistentUuid": "f1783a0b-1fa7-46a4-a3c9-9197023a7cfc",
          "width": 80,
          "x": 36984,
          "y": -144,
          "zOrder": 106,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 64,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "04e4403b-3024-4860-862b-fee5ed5aadc3",
          "width": 256,
          "x": 37088,
          "y": 180,
          "zOrder": 124,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "629e66e9-5cd7-468b-bead-a2ff6e32d93d",
          "width": 384,
          "x": 33536,
          "y": 1368,
          "zOrder": 122,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "HorizontalMovingPlatformLeft",
          "persistentUuid": "12177cb1-0424-4afd-b50e-c8c27e022647",
          "width": 384,
          "x": 34912,
          "y": 1368,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "15bca4c9-bbe4-4511-b654-3d2705f17729",
          "width": 224,
          "x": 34720,
          "y": 1776,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "ce7dacfe-a94c-4fbd-841e-bf68df9bc1d5",
          "width": 256,
          "x": 33016,
          "y": 1664,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "5a95ad21-4880-47a2-a54f-2000811a8c0d",
          "width": 341,
          "x": 7883,
          "y": 160,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 200,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "55b1cea2-dd56-4fec-8e7e-258838f08e9b",
          "width": 736,
          "x": 25024,
          "y": 760,
          "zOrder": 109,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "785339ba-adb9-4886-8a3f-d60b60fe4db0",
          "width": 341,
          "x": 25227,
          "y": 512,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "4b3043e5-93e3-4c01-a555-7fd728aea243",
          "width": 256,
          "x": 35936,
          "y": -320,
          "zOrder": 132,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "bef1b06d-8873-485e-bce7-a62249ae07a7",
          "width": 256,
          "x": 36704,
          "y": -352,
          "zOrder": 132,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "8a0e20bc-549a-4c2a-91c1-80014252feed",
          "width": 256,
          "x": 36704,
          "y": -352,
          "zOrder": 133,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "623bd615-f236-4907-a8dd-7c36e31ee76d",
          "width": 256,
          "x": 35936,
          "y": -320,
          "zOrder": 133,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "33e51be1-5774-4806-9244-fa78cb8f80bd",
          "width": 192,
          "x": 33312,
          "y": 1488,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "92fe6bbb-3fe7-470f-8617-206ac524106b",
          "width": 512,
          "x": 33152,
          "y": 1328,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 90,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_BeamPermanentSingle",
          "persistentUuid": "bc40ee3d-a9f0-47fe-bddd-c9e4b34aa136",
          "width": 80,
          "x": 33256,
          "y": 1520,
          "zOrder": 145,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "c449d633-5a40-42a0-b6fb-87986daec751",
          "width": 512,
          "x": 35168,
          "y": 1328,
          "zOrder": 8,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "34b81892-21d5-4619-9e4d-f6c57a2b3bd2",
          "width": 192,
          "x": 35328,
          "y": 1488,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "02a424a9-49c7-4de3-9cd6-9970ec58ea46",
          "width": 256,
          "x": 37648,
          "y": -32,
          "zOrder": 133,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 1.5
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "7e9e0ced-4587-42d2-82f2-ccca358e4d8e",
          "width": 256,
          "x": 37648,
          "y": -32,
          "zOrder": 132,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "0ac87114-2394-4106-833e-b0c15b4232c7",
          "width": 341,
          "x": 35264,
          "y": 1120,
          "zOrder": 14,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "5593f1da-9504-4f47-8bda-9bf00687a167",
          "width": 512,
          "x": 36960,
          "y": 128,
          "zOrder": 147,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "9ea02462-d687-4a67-8983-2afe29a358eb",
          "width": 512,
          "x": 36960,
          "y": -336,
          "zOrder": 147,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 512,
          "layer": "",
          "name": "LaserRing",
          "persistentUuid": "804c5ba1-a48d-455a-8a84-c3c9f6de1b4e",
          "width": 512,
          "x": 36960,
          "y": 128,
          "zOrder": 147,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "8b7abb28-50c7-45ec-9277-c05d023dd8f4",
          "width": 32,
          "x": 31296,
          "y": 384,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2c4b677e-2de8-42fd-870e-182a34e928ef",
          "width": 32,
          "x": 31936,
          "y": 384,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "18adaa18-3e1d-4ec2-a9a0-fd9e646802bc",
          "width": 32,
          "x": 31968,
          "y": 32,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "eb46b07a-5798-4769-a004-121fd3033970",
          "width": 32,
          "x": 32000,
          "y": -320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "8e39f608-3dd1-4782-864e-2dd6b20e1a87",
          "width": 32,
          "x": 32800,
          "y": -320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "50bb2602-4d23-484b-aa77-f1b58cfde4ce",
          "width": 32,
          "x": 33600,
          "y": -320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "902e60b8-0843-4350-b90e-f0a52c614f2e",
          "width": 32,
          "x": 34400,
          "y": -320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "dd948e51-4a23-4a65-b7a7-119394397efb",
          "width": 32,
          "x": 35200,
          "y": -320,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "c65f6560-17ce-45a4-b629-fe11d810105b",
          "width": 192,
          "x": 4352,
          "y": 192,
          "zOrder": 103,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "6531a370-2c12-4182-aedf-be415437fc48",
          "width": 192,
          "x": 14336,
          "y": -64,
          "zOrder": 103,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "6d8a5772-6bf3-4d50-96ca-8a7ebf210bf1",
          "width": 256,
          "x": 35808,
          "y": -416,
          "zOrder": 133,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "fed951e2-e4a7-4cc3-b4aa-990143e173e5",
          "width": 256,
          "x": 35808,
          "y": -416,
          "zOrder": 132,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "881ee039-400b-47d8-88ba-53ef88c66180",
          "width": 640,
          "x": 20288,
          "y": 16,
          "zOrder": 138,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "bfd70373-ed51-40f5-8bb8-e55aa94ce8c8",
          "width": 192,
          "x": 21664,
          "y": -320,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "1228d85e-667c-401c-ba77-afb2984a55c4",
          "width": 192,
          "x": 21856,
          "y": -320,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "8927e387-c225-4d31-92d5-ddf51da95b14",
          "width": 192,
          "x": 22048,
          "y": -320,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "44976f0d-1c94-4347-b476-7ec18dd02afb",
          "width": 192,
          "x": 22240,
          "y": -320,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "46b4b430-9c1d-47c2-af35-7accf26a3bed",
          "width": 192,
          "x": 22432,
          "y": -320,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "9df20307-b242-412b-ba24-72318e170e22",
          "width": 192,
          "x": 21664,
          "y": 32,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "e467b356-059b-498c-a3f7-b45b023151fb",
          "width": 192,
          "x": 21856,
          "y": 32,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "38efa5ad-f2f8-40e1-a144-2740ecd7e0bf",
          "width": 192,
          "x": 22048,
          "y": 32,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "9e734adf-6557-47dd-80c5-9650058ceb83",
          "width": 192,
          "x": 22240,
          "y": 32,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "fbcf43cd-b074-469c-9c89-80a050c11dc7",
          "width": 192,
          "x": 22432,
          "y": 32,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "c1f175ae-2ead-4e94-aca5-93c8d65c3334",
          "width": 192,
          "x": 22624,
          "y": -320,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "03c41163-ebc6-4900-b426-3750922e9cad",
          "width": 192,
          "x": 22624,
          "y": 32,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 50,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "133384ac-8901-4d9f-affc-1eadb79ac7ea",
          "width": 224,
          "x": 23008,
          "y": 64,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "f34012d1-522a-49fd-ae88-919fb21839cb",
          "width": 192,
          "x": 22816,
          "y": 32,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "3bbd71fd-e98f-4568-82d8-67511d73da7c",
          "width": 192,
          "x": 22816,
          "y": -320,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 50,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "67e8072c-5276-4dea-b4c7-5c73feaa4400",
          "width": 224,
          "x": 21408,
          "y": 32,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2b891930-7628-44df-bd04-32b9bd044c80",
          "width": 192,
          "x": 19872,
          "y": 384,
          "zOrder": 141,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "8d04ed42-37dd-47ff-833f-0fe95739085c",
          "width": 256,
          "x": 22080,
          "y": 192,
          "zOrder": 143,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "c184c851-3edb-4f59-89b7-e902d6443c76",
          "width": 256,
          "x": 22080,
          "y": 192,
          "zOrder": 144,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 4
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 50,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "379fc8ed-11ed-4bc3-a57b-4b8f67630b12",
          "width": 224,
          "x": 23584,
          "y": 448,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "0cad0927-7c7a-44ed-b693-262cf691a6e1",
          "width": 256,
          "x": 22336,
          "y": 192,
          "zOrder": 144,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "ProjectileLifetime",
              "type": "number",
              "value": 4
            },
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "7f04211b-84f3-42e5-b45d-dfe276c734f5",
          "width": 256,
          "x": 22336,
          "y": 192,
          "zOrder": 143,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 50,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "12bb6409-7137-44ac-9ce9-5ec4de8d8d0b",
          "width": 224,
          "x": 24256,
          "y": 654,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "1a0a0151-fa39-4c91-b543-fac7830ad6b2",
          "width": 192,
          "x": 792,
          "y": 192,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "LaserDemon_Base",
          "persistentUuid": "c821e997-c500-4135-97aa-02b0b6c9dcdd",
          "width": 192,
          "x": 792,
          "y": -640,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "9f92a497-336e-43b6-a7a8-7e08291b6f0a",
          "width": 80,
          "x": 848,
          "y": -448,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "155a1166-05d5-422a-a23c-577addcde242",
          "width": 80,
          "x": 848,
          "y": -320,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "aaac862a-9b62-4115-bf03-f4d0a5bbbe5d",
          "width": 80,
          "x": 848,
          "y": -192,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "b9e3bf91-8b47-42b7-a2e0-c3e48b8ae231",
          "width": 80,
          "x": 848,
          "y": -64,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "LaserDemon_Beam",
          "persistentUuid": "9fea9667-2a6d-4653-b7ce-e4f79de3651f",
          "width": 80,
          "x": 848,
          "y": 64,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 0
            },
            {
              "folded": true,
              "name": "OnOffTime",
              "type": "number",
              "value": 2.5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "VerticalMovingPlatformUp",
          "persistentUuid": "d77f003c-4140-4f7d-9a75-5fa1afab8096",
          "width": 320,
          "x": 10688,
          "y": 736,
          "zOrder": 95,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "9f7cf05d-d10c-4598-997b-7ac88734a991",
          "width": 320,
          "x": 11008,
          "y": 136,
          "zOrder": 94,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 176,
          "layer": "",
          "name": "HorizontalMovingPlatformLeft",
          "persistentUuid": "aa4115ee-6b7e-4b69-93bf-c26e8a95bf8a",
          "width": 352,
          "x": 11860,
          "y": 640,
          "zOrder": 148,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "HorizontalMovingPlatformLeft",
          "persistentUuid": "a64a6277-30de-4677-8c0d-cad2217bd9a4",
          "width": 512,
          "x": 3328,
          "y": 586,
          "zOrder": 83,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "dded2192-d8a6-40d9-9e7b-f5403beeaf99",
          "width": 512,
          "x": 3808,
          "y": 586,
          "zOrder": 84,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "fb391171-1a37-4283-b376-db90a5c3b664",
          "width": 32,
          "x": 35408,
          "y": 1152,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "a6dbd77e-0e51-444f-9040-8cce5f74f494",
          "width": 32,
          "x": 35552,
          "y": 1216,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "225e2869-deaa-4aa1-9225-f8784def1167",
          "width": 32,
          "x": 35552,
          "y": 1248,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "c80d49c5-6f9a-499c-861d-04f079164d77",
          "width": 32,
          "x": 35264,
          "y": 1216,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "0f1d2707-af3c-4423-bf9b-a6b0800b9b03",
          "width": 32,
          "x": 35264,
          "y": 1184,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2d6eadc6-08b7-4076-82ee-4648ede9a93d",
          "width": 32,
          "x": 31024,
          "y": 560,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "030875a0-d868-4ff4-896d-e13f078b5ded",
          "width": 32,
          "x": 31168,
          "y": 624,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "6ddc9c70-c564-485b-a92a-b3889250b10c",
          "width": 32,
          "x": 31168,
          "y": 656,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "cba3c244-2626-4616-b655-c3eefd7217d1",
          "width": 32,
          "x": 35264,
          "y": 1248,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "ebc03240-3b22-40b7-af42-33ecc3b4c5ef",
          "width": 32,
          "x": 35552,
          "y": 1184,
          "zOrder": 131,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "Assets\\Images\\Levels\\7\\Background\\Background.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level7\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "type": "BuiltinCommonInstructions::Standard",
          "conditions": [
            {
              "type": {
                "value": "DepartScene"
              },
              "parameters": [
                ""
              ]
            }
          ],
          "actions": [
            {
              "type": {
                "value": "AnimatableCapability::AnimatableBehavior::SetName"
              },
              "parameters": [
                "Memory",
                "Animation",
                "=",
                "\"BlockWorld\""
              ]
            },
            {
              "type": {
                "value": "ModVarObjet"
              },
              "parameters": [
                "Player",
                "LifeForce",
                "=",
                "7"
              ]
            }
          ]
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": true,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Level6",
      "name": "Level6",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.15778935461153623,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "MobileControls",
          "objects": [
            {
              "name": "JumpButton"
            },
            {
              "name": "Joystick"
            }
          ]
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "EndScreenBackground"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "RetryButton"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2784,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "78dd0ffa-b22f-47a8-9b36-ef6a432b1d1e",
          "width": 128,
          "x": -128,
          "y": -512,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2272,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 17950,
          "x": 0,
          "y": -320,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2880,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 27488,
          "y": -608,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 27744,
          "x": -128,
          "y": -608,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "00f86cf3-18b0-4d71-9ce8-952dfc4e6b5c",
          "width": 27744,
          "x": -128,
          "y": 2144,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "014db1f5-0846-4cba-821e-57e29d368c14",
          "width": 269,
          "x": 67,
          "y": 288,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "c9cf2013-115e-4120-8602-4d606e8a0ad9",
          "width": 640,
          "x": 0,
          "y": 384,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "a9d7e701-37a0-4b26-84b4-6e34c353f46a",
          "width": 224,
          "x": 6304,
          "y": 913,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "2786e4b7-4185-408d-8545-af543b61d412",
          "width": 341,
          "x": 8352,
          "y": 1296,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 496,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "ec1b505e-4a50-4898-85b5-19e0cdb4b458",
          "width": 992,
          "x": 26816,
          "y": 1680,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "fa79662d-16c7-4c21-a43d-0a204befff36",
          "width": 408,
          "x": 27080,
          "y": 1184,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "60df3831-50f3-49f8-befe-9e7a197e3841",
          "width": 512,
          "x": 1248,
          "y": 401,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "f00d89b9-d2c5-44aa-9c7c-aa236c59190b",
          "width": 256,
          "x": 2080,
          "y": 433,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "563c3db9-2ec4-4399-8611-611fd05f02c9",
          "width": 256,
          "x": 2720,
          "y": 785,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "817c6b2d-0c06-4e14-b42f-b6c056eb3e63",
          "width": 256,
          "x": 5856,
          "y": 1073,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "360e3c60-2c36-426f-bd95-89e643a6e139",
          "width": 256,
          "x": 3968,
          "y": 1073,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "29813e34-b552-4e1e-bfcb-a0cafca06133",
          "width": 256,
          "x": 4608,
          "y": 1009,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "7ffc2ba4-e964-41b9-9c12-5e5c7a331388",
          "width": 928,
          "x": 4307,
          "y": 24,
          "zOrder": 87,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "c393bb0f-5bca-4b31-b2bd-116cd8631079",
          "width": 256,
          "x": 4625,
          "y": 358,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "96fbc148-506f-4e94-a8ec-aa5d0d623a4b",
          "width": 512,
          "x": 6624,
          "y": 1184,
          "zOrder": 89,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 496,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "ffab7bc6-3388-4ad6-b309-c59d1062aa5d",
          "width": 992,
          "x": 8032,
          "y": 1520,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "66f65114-26cf-4571-9c34-cbdff07fd2d2",
          "width": 256,
          "x": 5280,
          "y": 1201,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 577,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "200ae5a9-b3be-4841-b43e-1b0f31b87c81",
          "width": 192,
          "x": 8768,
          "y": 975,
          "zOrder": 107,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 576,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "59d34e22-4b59-4a50-89e7-0ac8098adf4b",
          "width": 192,
          "x": 7861,
          "y": 151,
          "zOrder": 125,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "079abc42-f28b-4459-a004-7deb7a428bd1",
          "width": 384,
          "x": 8320,
          "y": -32,
          "zOrder": 89,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "22e882fc-327f-4133-a1d2-f5830cc94796",
          "width": 224,
          "x": 10960,
          "y": 288,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 624,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "16c7f170-a082-4685-a9f4-cfd676895926",
          "width": 1248,
          "x": 10784,
          "y": 464,
          "zOrder": 129,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 464,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "e551e2ab-0808-4a49-98ab-fb5209cc70fd",
          "width": 864,
          "x": 12790,
          "y": 608,
          "zOrder": 129,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2464,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "3f0ec037-2a70-4ea5-90eb-c1f8a7387a6c",
          "width": 27296,
          "x": 0,
          "y": -480,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 278,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2b0143dd-26b8-44a0-b71c-f4d0442f7784",
          "width": 544,
          "x": 7840,
          "y": 682,
          "zOrder": 132,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 171,
          "customSize": true,
          "depth": 1,
          "height": 297,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "d415bf08-a38b-4a5b-b22a-32bc7510c4cf",
          "width": 763,
          "x": 5171,
          "y": 153,
          "zOrder": 87,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 349,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "81a0bd4f-6f99-44e1-aaba-d3ea40d0626c",
          "width": 256,
          "x": 5304,
          "y": 433,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "7f7c6349-adf4-4919-a21d-b0bea7f4b4da",
          "width": 256,
          "x": 12064,
          "y": 448,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 160,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "bb4e2ee7-2c2c-44e8-a15d-f08b48cf1c25",
          "width": 160,
          "x": 12256,
          "y": 384,
          "zOrder": 135,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 160,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "1e63636e-5304-4716-bd62-c3d10cad7a68",
          "width": 320,
          "x": 12000,
          "y": 896,
          "zOrder": 136,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "27e0283f-f166-45b8-bb5f-c1652d882814",
          "width": 256,
          "x": 12544,
          "y": 1610,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "01558151-f557-4b25-96b7-ce6c7c145998",
          "width": 256,
          "x": 12544,
          "y": 1514,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "5cdd6839-60db-4497-8243-1c2a9f5815bc",
          "width": 224,
          "x": 13088,
          "y": 1572,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "7bf0f5bc-27d3-4892-b9c3-b0578f06f3d7",
          "width": 256,
          "x": 13568,
          "y": 1535,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "173bd697-be47-4841-841e-8a7bf04ba184",
          "width": 256,
          "x": 13568,
          "y": 1631,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "532c614b-5cb9-4e77-9a2e-592944d43a30",
          "width": 256,
          "x": 13568,
          "y": 1727,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 449,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "59bc2c8e-5842-47d9-903a-f287ed532a9c",
          "width": 960,
          "x": 15040,
          "y": 1632,
          "zOrder": 137,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "68ee7d42-f400-407d-9870-8b2f82a27db9",
          "width": 341,
          "x": 15168,
          "y": 1120,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "2d4b9cd9-2b14-40a9-b6b6-417d11e895c3",
          "width": 256,
          "x": 7360,
          "y": 896,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "de29adae-f13a-40d3-a3ea-49bd4de6557c",
          "width": 224,
          "x": 14063,
          "y": 1599,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "ac92b6cd-e0c8-4ba5-b2ec-bd00173529b0",
          "width": 256,
          "x": 12544,
          "y": 1439,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 202,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "779a3d80-edaa-4033-aa15-d4dee8747b8b",
          "width": 928,
          "x": 12762,
          "y": -480,
          "zOrder": 87,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 23,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "67c9be0d-d8b2-4ee0-8586-62219e448eaf",
          "width": 256,
          "x": 12731,
          "y": -274,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "84b51e65-6b03-4dd4-8a1b-f6ba8f91140e",
          "width": 576,
          "x": 13728,
          "y": 736,
          "zOrder": 138,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "FlippingPlatform2",
          "persistentUuid": "18372c5c-43db-49b9-afd3-2eba68b511b6",
          "width": 576,
          "x": 14368,
          "y": 800,
          "zOrder": 139,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "65b1132d-13ac-4cb7-9401-324d528ca963",
          "width": 256,
          "x": 14528,
          "y": 1632,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "624221c9-e608-4ec2-8afd-0217a4e088eb",
          "width": 224,
          "x": 14976,
          "y": 960,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "4e5faeb8-57ff-4afc-9473-d99e796cdbca",
          "width": 341,
          "x": 7787,
          "y": -128,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "fac4e629-bbfc-42b3-bf96-3d6a5bfcc6a5",
          "width": 224,
          "x": 13024,
          "y": 442,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 20,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "ec6c0776-3ea2-4553-a183-e4a1db7d72f7",
          "width": 256,
          "x": 13274,
          "y": -53,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 3.25
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "42d9736a-987f-441e-8639-795e07ce29ba",
          "width": 224,
          "x": 15264,
          "y": 960,
          "zOrder": 126,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "5a24071e-a2c9-44e5-b87f-066306f04ac5",
          "width": 256,
          "x": 3328,
          "y": 1120,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "2c8037cf-7996-4ca0-9269-1d27c9a2bd41",
          "width": 192,
          "x": 9248,
          "y": 864,
          "zOrder": 149,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "9cdca051-c56b-44c4-aa60-0bb12e7c9fd9",
          "width": 192,
          "x": 10016,
          "y": 832,
          "zOrder": 149,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "SpinningRotatingPlatformClockwise",
          "persistentUuid": "ac7ea314-c88a-4306-bea2-4dd540a3fb80",
          "width": 640,
          "x": 9568,
          "y": 224,
          "zOrder": 150,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "ebcb06d5-5145-41b2-862f-dd7d0e0538ec",
          "width": 928,
          "x": 3264,
          "y": 32,
          "zOrder": 87,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "abb61335-7a7a-4562-96e6-d6060d2a4961",
          "width": 256,
          "x": 3328,
          "y": 368,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "ca7788c8-925e-48a7-aa9a-f07b05d5755c",
          "width": 256,
          "x": 3904,
          "y": 368,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "d0a5c08b-374c-4ee7-ab0a-329dd5b93bdc",
          "width": 341,
          "x": 11403,
          "y": 192,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "c22bf403-6dee-4c56-80d7-27b1fed1f35f",
          "width": 256,
          "x": 16448,
          "y": 1344,
          "zOrder": 151,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 416,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "69a6330a-bcbc-4380-862c-d9c1261e164d",
          "width": 832,
          "x": 17056,
          "y": 928,
          "zOrder": 153,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "045518d0-0a57-47f4-ae13-0ec320108264",
          "width": 256,
          "x": 17184,
          "y": 288,
          "zOrder": 154,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "4900193e-8d49-4e90-b131-984fc8a10076",
          "width": 256,
          "x": 17184,
          "y": 288,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 416,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "16c11bd0-da76-4cb3-a1d3-950edfc840f8",
          "width": 832,
          "x": 18432,
          "y": 928,
          "zOrder": 153,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "db112449-3a74-400c-acf0-269fd44abad5",
          "width": 256,
          "x": 18816,
          "y": 704,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "05f638ab-4a7c-499d-99b9-c544ffb6f617",
          "width": 256,
          "x": 19552,
          "y": 928,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "308dd27e-be28-4efe-9d8a-43af368f1198",
          "width": 256,
          "x": 19552,
          "y": 928,
          "zOrder": 154,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "a09e1912-683f-44ad-9aac-3fff8c850db1",
          "width": 576,
          "x": 20032,
          "y": 1120,
          "zOrder": 138,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "cc61fa8b-a40d-472d-b9ab-fcc021751f91",
          "width": 576,
          "x": 20832,
          "y": 1120,
          "zOrder": 138,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "bbdf517c-dbef-46e2-b00d-14691af3d547",
          "width": 256,
          "x": 21088,
          "y": 416,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "4f6a01f3-486b-41a3-82bd-f3c699e913b5",
          "width": 256,
          "x": 21088,
          "y": 416,
          "zOrder": 154,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 432,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "2c0981de-cd73-4577-b805-ae0ddbbeb922",
          "width": 864,
          "x": 21664,
          "y": 1084,
          "zOrder": 156,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "ef87ee52-912b-4859-b7e9-e332c0b73aed",
          "width": 341,
          "x": 21963,
          "y": 844,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 768,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "00b46c36-7a29-4dd2-87da-307a3f640d6c",
          "width": 224,
          "x": 21696,
          "y": 364,
          "zOrder": 157,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "a2aa24b8-481c-4506-b1f3-a681481f299a",
          "width": 224,
          "x": 21696,
          "y": 364,
          "zOrder": 158,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "aeb35ff1-c3d6-40c2-95d3-1250c6495ede",
          "width": 256,
          "x": 22566,
          "y": 717,
          "zOrder": 159,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "3b22c700-b405-4c48-b87b-ece0ea85ba6e",
          "width": 256,
          "x": 22908,
          "y": 350,
          "zOrder": 159,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "a5af8de3-e191-4f9f-a253-06dfb177c6a3",
          "width": 256,
          "x": 23250,
          "y": -17,
          "zOrder": 159,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "c86eb56d-f1cb-4af1-b8a9-f12adebe928b",
          "width": 256,
          "x": 23592,
          "y": 350,
          "zOrder": 159,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "8a0f0ae1-9ff2-49f3-82f5-2e7f9b25146a",
          "width": 256,
          "x": 23934,
          "y": 760,
          "zOrder": 159,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Eye",
          "persistentUuid": "38673cdc-a1be-4abb-9650-fd22a7469077",
          "width": 256,
          "x": 24352,
          "y": 64,
          "zOrder": 155,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "TurretDemon_Base",
          "persistentUuid": "9cf2f9e0-f07b-4c97-b704-a9c0802982bd",
          "width": 256,
          "x": 24352,
          "y": 64,
          "zOrder": 154,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "32fd8d41-ae8a-469d-af9a-7cb0d8fbc456",
          "width": 192,
          "x": 23280,
          "y": 608,
          "zOrder": 149,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "d7bc5948-dc8a-44e8-a67a-830591308a7a",
          "width": 256,
          "x": 23584,
          "y": 256,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "db807721-79bf-4705-a7ad-5db84dd58cb0",
          "width": 256,
          "x": 24276,
          "y": 1084,
          "zOrder": 159,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2624,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "a6ba0e08-78a6-4a8a-8f40-5c814a1c5bdc",
          "width": 27488,
          "x": 0,
          "y": -480,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "df6cda2c-eb3d-4157-b816-a4802aa35b90",
          "width": 512,
          "x": 24864,
          "y": 1248,
          "zOrder": 160,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 240,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "a1442d8b-bc55-409f-bd90-78a120781455",
          "width": 480,
          "x": 26528,
          "y": 1456,
          "zOrder": 161,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 240,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "0b4716c1-212e-477a-b2b8-ed9d379bebf3",
          "width": 480,
          "x": 26528,
          "y": 1184,
          "zOrder": 161,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 240,
          "layer": "",
          "name": "FlippingPlatform2",
          "persistentUuid": "be0ad0ff-3014-4927-b91c-28b66ccba494",
          "width": 480,
          "x": 26528,
          "y": 912,
          "zOrder": 162,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "1fe751be-1c4b-4b2e-9e23-56d3a875fad6",
          "width": 256,
          "x": 27136,
          "y": 960,
          "zOrder": 74,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "ced4be3a-c018-4f6c-b9cd-51bcce8b0a77",
          "width": 192,
          "x": 8768,
          "y": 975,
          "zOrder": 158,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 64,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "d3aca09c-15be-4d7e-90f2-ba2d07119b06",
          "width": 192,
          "x": 7872,
          "y": 151,
          "zOrder": 158,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "817601d6-ba2c-4880-9702-9d18162b0dec",
          "width": 192,
          "x": 9600,
          "y": -138,
          "zOrder": 149,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "260675d0-3a83-4002-b843-aab0f574dee9",
          "width": 256,
          "x": 3616,
          "y": 368,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3.25
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "3df686bd-a0b9-4f5e-aa2f-91dc62283f7e",
          "width": 256,
          "x": 4320,
          "y": 358,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3.25
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "6433e0d4-a763-4de1-b5e8-81db3a50d2fb",
          "width": 256,
          "x": 4928,
          "y": 358,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3.25
            }
          ]
        },
        {
          "angle": 349,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "d1f9cd3a-22d0-4396-8dd7-6f9aa5b4e9c9",
          "width": 256,
          "x": 5592,
          "y": 369,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3.25
            }
          ]
        },
        {
          "angle": 19,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "86c98b43-004a-4f1e-bb0b-c63791491f12",
          "width": 256,
          "x": 12997,
          "y": -164,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3.25
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "09fcb571-eb1b-4cf4-8ba4-fc63927c9e11",
          "width": 192,
          "x": 9920,
          "y": -128,
          "zOrder": 149,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 3
            }
          ]
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "AssetDev/Backgrounds/WhimsicalTree/WhimsicalTree.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level6\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "type": "BuiltinCommonInstructions::Standard",
          "conditions": [
            {
              "type": {
                "value": "DepartScene"
              },
              "parameters": [
                ""
              ]
            }
          ],
          "actions": [
            {
              "type": {
                "value": "AnimatableCapability::AnimatableBehavior::SetName"
              },
              "parameters": [
                "Memory",
                "Animation",
                "=",
                "\"WhimsicalTree\""
              ]
            },
            {
              "type": {
                "value": "ModVarObjet"
              },
              "parameters": [
                "Player",
                "LifeForce",
                "=",
                "6"
              ]
            }
          ]
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "MusicController",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "PlaySound"
                  },
                  "parameters": [
                    "",
                    "Assets/Sounds/Levels/6/AmbientLoop.ogg",
                    "yes",
                    "GlobalVariable(Volume_Music) - 13",
                    ""
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "CompareTimer"
                  },
                  "parameters": [
                    "RandomSFXIndex",
                    "\"RandomNoiseTimer\"",
                    ">",
                    "Variable(TimeBeforeNextRandomSFX)"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "RandomSFXIndex",
                    "=",
                    "RandomInRange(1, 3)"
                  ]
                },
                {
                  "type": {
                    "value": "ResetTimer"
                  },
                  "parameters": [
                    "",
                    "\"RandomNoiseTimer\""
                  ]
                },
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "TimeBeforeNextRandomSFX",
                    "=",
                    "RandomFloatInRange(30,240)"
                  ]
                }
              ],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "1"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance1.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "2"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance2.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "3"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance3.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Level5",
      "name": "Level5",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.0897895346716662,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "MobileControls",
          "objects": [
            {
              "name": "JumpButton"
            },
            {
              "name": "Joystick"
            }
          ]
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "EndScreenBackground"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "RetryButton"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2464,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "78dd0ffa-b22f-47a8-9b36-ef6a432b1d1e",
          "width": 128,
          "x": -128,
          "y": -512,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2208,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 26430,
          "x": 2,
          "y": -384,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2464,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 26432,
          "y": -512,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 26688,
          "x": -128,
          "y": -512,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "00f86cf3-18b0-4d71-9ce8-952dfc4e6b5c",
          "width": 26688,
          "x": -128,
          "y": 1824,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "014db1f5-0846-4cba-821e-57e29d368c14",
          "width": 256,
          "x": 32,
          "y": 736,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "fa0301b8-9f12-4cf9-ad30-2d274d448e13",
          "width": 341,
          "x": 13323,
          "y": 704,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 496,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "ec1b505e-4a50-4898-85b5-19e0cdb4b458",
          "width": 992,
          "x": 25792,
          "y": 544,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "fa79662d-16c7-4c21-a43d-0a204befff36",
          "width": 408,
          "x": 26024,
          "y": 32,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "3c6b702b-6ec5-451b-a065-713215ddec5e",
          "width": 736,
          "x": 3936,
          "y": 576,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "43a3e4bd-d210-4fc2-905a-0bd7d20c0547",
          "width": 736,
          "x": 10368,
          "y": 544,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "84344788-8847-4b12-8782-f9d5ac66dd87",
          "width": 256,
          "x": 26080,
          "y": -192,
          "zOrder": 84,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "94d6dac9-87ab-4f9a-adac-055242cadffe",
          "width": 768,
          "x": 6080,
          "y": 704,
          "zOrder": 87,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 4,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "1692b244-0336-4129-ab2e-3d6b32d1763c",
          "width": 288,
          "x": 9320,
          "y": -241,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "5e6b44c3-8064-4ba8-b5c2-e34489aaf5a6",
          "width": 341,
          "x": 6208,
          "y": 448,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "36214317-ff6c-4325-ab9e-4fd776f5dcac",
          "width": 256,
          "x": 15264,
          "y": 1056,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 28,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "0b961244-2f6d-4d5a-8fb5-d4c877379540",
          "width": 736,
          "x": 9013,
          "y": -489,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "b8554ecf-ecf5-4e88-b9c2-b28f3553ea46",
          "width": 256,
          "x": 9856,
          "y": 512,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "3e28268d-5dab-4696-9f76-0438a1c372de",
          "width": 256,
          "x": 20096,
          "y": 960,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 4,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "e48990d7-084c-480e-bf25-ee2b7ed944e3",
          "width": 288,
          "x": 10214,
          "y": -214,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "36ac8509-8be4-4c6d-91cc-02633b235659",
          "width": 992,
          "x": 10176,
          "y": -544,
          "zOrder": 87,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 4,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "39321aae-72b3-43de-9ea6-5fdb50a6c60c",
          "width": 288,
          "x": 10550,
          "y": -214,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 4,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "cdd2ca9d-9c3a-4a16-a6a8-10e443f1424e",
          "width": 288,
          "x": 10898,
          "y": -214,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 160,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "8675d6a8-1464-45c1-935d-c26b8a914949",
          "width": 320,
          "x": 8640,
          "y": 480,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "c6a8618d-f05b-4be4-9113-299e446bd6bc",
          "width": 256,
          "x": 4800,
          "y": 672,
          "zOrder": 89,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 351,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "882cb2f0-a23f-4392-88b7-e2b9cf6a9104",
          "width": 736,
          "x": 13208,
          "y": 921,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "203aed95-670c-40bf-be3c-fe7db0fbea7d",
          "width": 736,
          "x": 0,
          "y": 832,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "cd4956ed-4aca-41ba-87d2-0c58ec676f98",
          "width": 512,
          "x": 2336,
          "y": 768,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "c5e704cf-3134-4e86-befe-ef06e9bb26a5",
          "width": 512,
          "x": 3136,
          "y": 672,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 176,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "3d8dd335-707d-4f95-bf40-96238abcbc5c",
          "width": 352,
          "x": 9248,
          "y": 320,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "9e340baa-f615-49fb-8285-0fc6f0e9017d",
          "width": 256,
          "x": 14400,
          "y": 1184,
          "zOrder": 94,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "f0fa328d-8310-4fd7-b604-5d0ad9719920",
          "width": 256,
          "x": 15824,
          "y": 928,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 176,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "6a3a2551-2856-4296-86e3-26b41f3a7034",
          "width": 352,
          "x": 14272,
          "y": 559,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 176,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "62ea50c6-b803-4fe3-949a-dee562c2ae6c",
          "width": 352,
          "x": 15104,
          "y": 319,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 176,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "5d678992-748c-461a-b254-6fa4cf421cdc",
          "width": 352,
          "x": 16000,
          "y": 191,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "3e3f7e79-c2df-4386-b81f-f7871c8c31ad",
          "width": 256,
          "x": 16384,
          "y": 800,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "985a3847-c0b2-41c3-84a9-3bba4340353c",
          "width": 256,
          "x": 5600,
          "y": 736,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "2a3331a3-6c00-4534-a7cd-85895cd1f269",
          "width": 192,
          "x": 8192,
          "y": 32,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "2e31d66a-9931-4112-b0b0-8a964ab622bc",
          "width": 192,
          "x": 7616,
          "y": 32,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "24778ae9-159d-468d-9afd-ce23a60f300d",
          "width": 192,
          "x": 7040,
          "y": 32,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "a0d891c7-df95-45b4-b540-bc43c76062cf",
          "width": 608,
          "x": 3584,
          "y": 864,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 13,
          "customSize": true,
          "depth": 1,
          "height": 471,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "509df565-aa7d-4849-9387-57e6eb93ae0d",
          "width": 942,
          "x": 11337,
          "y": -444,
          "zOrder": 97,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 358,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "435a7d07-7e76-48b2-9f7a-8683ad00b944",
          "width": 288,
          "x": 11779,
          "y": -187,
          "zOrder": 98,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 352,
          "layer": "",
          "name": "FlippingPlatform",
          "persistentUuid": "cd5c5917-7479-4547-849b-cebd769219fd",
          "width": 704,
          "x": 16816,
          "y": 672,
          "zOrder": 100,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 416,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "a7984ea7-0a6b-434d-9a63-8e4df8953f5e",
          "width": 416,
          "x": 17728,
          "y": 608,
          "zOrder": 101,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a991d34d-e00c-40cf-91da-40d1d31406a0",
          "width": 544,
          "x": 18464,
          "y": 1472,
          "zOrder": 102,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "65e8baf1-395e-4949-9dd4-a75c0f3de7b7",
          "width": 341,
          "x": 18560,
          "y": 1184,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "d30b6d8c-00d9-47f0-9c77-40d024022e5e",
          "width": 96,
          "x": 19520,
          "y": 1312,
          "zOrder": 103,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "adab3235-58ab-42bd-ad8f-cbff7cc0ef9d",
          "width": 192,
          "x": 22210,
          "y": 1140,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 288,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "e781e771-7fd6-458a-890b-4d9e0238d6df",
          "width": 288,
          "x": 23104,
          "y": 704,
          "zOrder": 105,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 896,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "4d8b2529-54c7-4a13-a307-dc2716b36987",
          "width": 1888,
          "x": 23520,
          "y": 512,
          "zOrder": 90,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "69d416aa-d1e3-4813-ad2b-565ce3d7eba4",
          "width": 1024,
          "x": 23936,
          "y": -384,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 24,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "4a5cea9e-a2c2-4a44-bdb2-59c0526d8397",
          "width": 288,
          "x": 24068,
          "y": -145,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "caa651a3-c44c-4067-92c2-f4873cd68db6",
          "width": 256,
          "x": 23808,
          "y": 394,
          "zOrder": 107,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "4e26fa48-bd7f-45f6-9700-857670b439f2",
          "width": 256,
          "x": 24336,
          "y": 394,
          "zOrder": 107,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "58d9021c-c525-4a33-810b-93e44f513c57",
          "width": 256,
          "x": 24864,
          "y": 394,
          "zOrder": 107,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 342,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalactiteDemon_Base",
          "persistentUuid": "6526d641-d9c1-47b4-acc0-2e52f58875e5",
          "width": 288,
          "x": 24590,
          "y": -189,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "8a5f3b16-8252-46f1-9402-c295f705a066",
          "width": 96,
          "x": 20160,
          "y": 1190,
          "zOrder": 103,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "6dc852a7-7608-46b9-9154-e6ee017734c8",
          "width": 96,
          "x": 20736,
          "y": 1040,
          "zOrder": 103,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 48,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "0c3d1c2c-ab70-480e-9486-0f42fff8a5a4",
          "width": 96,
          "x": 21280,
          "y": 800,
          "zOrder": 103,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "34309eb7-e2f5-4b38-ac04-9238a00d8b54",
          "width": 256,
          "x": 3712,
          "y": 719,
          "zOrder": 108,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 160,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "b9dae8e5-902d-461a-8f26-6b07e3281bc4",
          "width": 320,
          "x": 7968,
          "y": 608,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 160,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "da882543-1dfb-41f8-b7e1-9926235c8d74",
          "width": 320,
          "x": 7264,
          "y": 640,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 608,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "9f6039fe-1f0d-48e0-b5f2-789a1f11dc12",
          "width": 192,
          "x": 6592,
          "y": 128,
          "zOrder": 109,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 32,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "a599ec62-1a70-4501-b55d-2475753ab85a",
          "width": 192,
          "x": 6592,
          "y": 128,
          "zOrder": 110,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "SpinningPlatformClockwise",
          "persistentUuid": "88d1e068-8310-4628-8f4f-1f2b1a57d1c5",
          "width": 512,
          "x": 22048,
          "y": 544,
          "zOrder": 114,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "fa384864-5ff1-4ae8-b138-eb6bc0fdf301",
          "width": 224,
          "x": 14080,
          "y": 1216,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 336,
          "layer": "",
          "name": "SpinningPlatformCounterclockwise",
          "persistentUuid": "19008cb5-2b20-49be-9efe-99f1859d6b8e",
          "width": 672,
          "x": 11808,
          "y": 352,
          "zOrder": 115,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StalagmiteDemon_Base",
          "persistentUuid": "dc5afe05-a95b-4977-ad9c-a32ff2c59dea",
          "width": 256,
          "x": 1280,
          "y": 682,
          "zOrder": 108,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 5
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 272,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "4f6e1493-c824-4ef3-93eb-5218e01908b0",
          "width": 544,
          "x": 992,
          "y": 832,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "61e136b9-066d-4b95-9bc7-2fe85ecd3146",
          "width": 384,
          "x": 1632,
          "y": 800,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "AssetDev/Backgrounds/School/School.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level5\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "type": "BuiltinCommonInstructions::Standard",
          "conditions": [
            {
              "type": {
                "value": "DepartScene"
              },
              "parameters": [
                ""
              ]
            }
          ],
          "actions": [
            {
              "type": {
                "value": "AnimatableCapability::AnimatableBehavior::SetName"
              },
              "parameters": [
                "Memory",
                "Animation",
                "=",
                "\"School\""
              ]
            },
            {
              "type": {
                "value": "ModVarObjet"
              },
              "parameters": [
                "Player",
                "LifeForce",
                "=",
                "5"
              ]
            }
          ]
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Level4",
      "name": "Level4",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.1293181116650651,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "MobileControls",
          "objects": [
            {
              "name": "JumpButton"
            },
            {
              "name": "Joystick"
            }
          ]
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "EndScreenBackground"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "RetryButton"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2592,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "78dd0ffa-b22f-47a8-9b36-ef6a432b1d1e",
          "width": 128,
          "x": -128,
          "y": -480,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2336,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 25182,
          "x": 2,
          "y": -352,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2592,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 25184,
          "y": -480,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 25440,
          "x": -128,
          "y": -480,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "00f86cf3-18b0-4d71-9ce8-952dfc4e6b5c",
          "width": 25440,
          "x": -128,
          "y": 1984,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 55,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "d5587925-e2c2-4577-b9aa-fd05909a8cd7",
          "width": 203,
          "x": 4949,
          "y": 288,
          "zOrder": 51,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "014db1f5-0846-4cba-821e-57e29d368c14",
          "width": 269,
          "x": 67,
          "y": 560,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "c9cf2013-115e-4120-8602-4d606e8a0ad9",
          "width": 640,
          "x": 0,
          "y": 656,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 496,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "42e278f5-2af7-415d-bb8f-564f22f2b6e9",
          "width": 992,
          "x": 2752,
          "y": 1296,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 286,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "2b9c6b21-8b60-467c-a2bd-e2e2c928c4cb",
          "width": 572,
          "x": 1730,
          "y": 688,
          "zOrder": 67,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "c1e3952c-66b5-4b85-bc5d-9f9e07232fa3",
          "width": 192,
          "x": 2752,
          "y": 704,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "469891b2-36ce-44eb-83bd-116ceb01586d",
          "width": 192,
          "x": 3264,
          "y": 608,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "3c03af59-87a3-43d4-9497-191630201107",
          "width": 192,
          "x": 3712,
          "y": 448,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 577,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "f4d2584e-ccb5-49c9-a4f2-fc7227857ba0",
          "width": 192,
          "x": 4960,
          "y": 863,
          "zOrder": 68,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "08c3575e-ee7f-49a8-b5d6-eb5d582e39ea",
          "width": 0,
          "x": 4192,
          "y": 1408,
          "zOrder": 69,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "a9d7e701-37a0-4b26-84b4-6e34c353f46a",
          "width": 224,
          "x": 3456,
          "y": 1120,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "186fefca-00c0-4bb0-a00b-080050921ff3",
          "width": 256,
          "x": 5728,
          "y": 320,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "41df1d4f-19c8-45f8-b4a9-ce90fcbe94e9",
          "width": 256,
          "x": 7578,
          "y": 192,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "e1121329-48c4-4b4c-8f86-6edb031e4894",
          "width": 256,
          "x": 8572,
          "y": 480,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "2786e4b7-4185-408d-8545-af543b61d412",
          "width": 341,
          "x": 4896,
          "y": -32,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "50a825dd-9186-4b2d-8262-d4a6f24f766b",
          "width": 192,
          "x": 5632,
          "y": 1312,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "cea536cb-8577-415c-b64e-519da2e66fdf",
          "width": 192,
          "x": 6252,
          "y": 1184,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "d1e8bd95-9226-4a8e-997f-76b6674fdfb4",
          "width": 192,
          "x": 6856,
          "y": 1056,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "a46ecc12-a2ac-4a7a-a2dc-787537690cdd",
          "width": 192,
          "x": 7512,
          "y": 1056,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "5a2cf3a0-c98e-4fb8-a092-d22c386e7770",
          "width": 192,
          "x": 8184,
          "y": 1216,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "a0e51e1e-fe2a-4209-ac0a-17a7079a01b7",
          "width": 192,
          "x": 4192,
          "y": 256,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "84b94cf5-550b-410e-a903-abd7418b1f49",
          "width": 192,
          "x": 4640,
          "y": 128,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "4dc27fb2-563b-46e1-8561-41bee4d2c4fd",
          "width": 224,
          "x": 2976,
          "y": 1120,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "da386e95-0272-429d-a368-7e59b348c3da",
          "width": 256,
          "x": 9536,
          "y": 832,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 577,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "e63bbf1d-c24e-48cf-9a1d-71b8bbc8b2d9",
          "width": 192,
          "x": 4960,
          "y": 288,
          "zOrder": 68,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "4dfff24c-42dc-4df9-aef6-dc38f762b36a",
          "width": 192,
          "x": 8888,
          "y": 1408,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 168,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d44d69e7-ae32-4f73-a2ec-8a6a3d2e5270",
          "width": 864,
          "x": 10112,
          "y": 1624,
          "zOrder": 69,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "7ddd4481-dfa5-45e1-a722-6b8adf8619e7",
          "width": 736,
          "x": 11200,
          "y": 1232,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 347,
          "customSize": true,
          "depth": 1,
          "height": 391,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "54d17d41-17d5-4443-9b7e-ad9d2f5c62a0",
          "width": 780,
          "x": 12005,
          "y": 945,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "2a245eeb-ac32-4381-bc5d-cd88cffd45b7",
          "width": 224,
          "x": 11520,
          "y": 1120,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "5d0f786c-a8ae-4777-b9d7-3d9896f6e3aa",
          "width": 224,
          "x": 13120,
          "y": 1088,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "6e223543-e8fd-4ab0-9726-baf8fb76fd07",
          "width": 192,
          "x": 14528,
          "y": 1312,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "250408d2-78cf-43e3-a4bb-1d252cb760e4",
          "width": 256,
          "x": 13120,
          "y": 608,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "59b78ba0-5eb2-4b24-b955-0a75f78a192a",
          "width": 256,
          "x": 13948,
          "y": 352,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2551410a-95c6-40ba-b885-eaf2421f107c",
          "width": 256,
          "x": 14888,
          "y": 352,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "a2b7d856-f34a-43e9-b567-e2cd22d8f1e4",
          "width": 256,
          "x": 15888,
          "y": 512,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "e347c14b-3aed-4f9f-a78c-fa95b0071cc0",
          "width": 256,
          "x": 1024,
          "y": 480,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "fa0301b8-9f12-4cf9-ad30-2d274d448e13",
          "width": 341,
          "x": 10400,
          "y": 1120,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 496,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "ec1b505e-4a50-4898-85b5-19e0cdb4b458",
          "width": 992,
          "x": 24448,
          "y": 432,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "fa79662d-16c7-4c21-a43d-0a204befff36",
          "width": 408,
          "x": 24776,
          "y": -64,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "58196f81-947d-479b-8722-7a47ea0e93a4",
          "width": 256,
          "x": 24832,
          "y": -288,
          "zOrder": 74,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "7568b2e3-3f6c-4ac1-8371-73f187cccc79",
          "width": 256,
          "x": 6595,
          "y": 160,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "b271a0ef-c7b0-4b8f-9b67-b36deac09667",
          "width": 192,
          "x": 15072,
          "y": 1312,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 121,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "3a47c88a-1170-4d1d-a4de-95fd82e0b825",
          "width": 576,
          "x": 17248,
          "y": 519,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 121,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "463ad988-8a62-4d54-a22c-058a0f514c45",
          "width": 576,
          "x": 17824,
          "y": 519,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 121,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "429ba08d-bd00-41a1-a6ca-908623c01b5b",
          "width": 576,
          "x": 17248,
          "y": 1095,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 121,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c677f8af-dc6e-4af9-9763-ee02f2e91657",
          "width": 576,
          "x": 17824,
          "y": 1095,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 121,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c5ae06d6-8ff6-4553-af54-1c221060f962",
          "width": 576,
          "x": 18400,
          "y": 1095,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "bdca8cae-ffc9-41c7-8d0e-11898811ea86",
          "width": 341,
          "x": 17360,
          "y": 224,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "03616b37-dcad-4e26-bce7-20279c2177a2",
          "width": 341,
          "x": 18443,
          "y": 800,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 270,
          "customSize": true,
          "depth": 1,
          "height": 125,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "32a07abc-08d7-49c1-accb-3d9517eb6035",
          "width": 448,
          "x": 19612,
          "y": 1543,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 270,
          "customSize": true,
          "depth": 1,
          "height": 125,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "b3dde7bd-a2f4-4c02-9f8b-9172b6a890c0",
          "width": 448,
          "x": 20409,
          "y": 1543,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 270,
          "customSize": true,
          "depth": 1,
          "height": 125,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "60e0f483-e815-4be2-85ea-00dd9a4823d5",
          "width": 448,
          "x": 21206,
          "y": 1543,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 270,
          "customSize": true,
          "depth": 1,
          "height": 125,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "252781d7-298c-47bd-9aab-f054d63087fd",
          "width": 448,
          "x": 22013,
          "y": 1543,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "56e55bc4-df62-4109-b5fe-346e21ebbc8a",
          "width": 256,
          "x": 22052,
          "y": 416,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "793f32c8-6be5-4585-92bb-3eb3fde6b0aa",
          "width": 224,
          "x": 18880,
          "y": 320,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "986cae93-65c3-44b5-8b90-04148312b81d",
          "width": 256,
          "x": 19040,
          "y": 320,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "ba3ee5d8-fea6-4256-881d-82ea9b82e501",
          "width": 544,
          "x": 19840,
          "y": 256,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "7232a73b-137f-4a7b-962d-2e1e7ba59c08",
          "width": 256,
          "x": 21056,
          "y": 416,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "27983c07-2c95-445e-9347-705358eba66f",
          "width": 224,
          "x": 19040,
          "y": 320,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "SpinningPlatformClockwise",
          "persistentUuid": "7b5549e0-e031-4bc5-8c70-3442e3cdf5d7",
          "width": 736,
          "x": 23040,
          "y": 160,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "4f1ce603-b4a2-42d9-bd6d-e1e509f5b5a9",
          "width": 341,
          "x": 4416,
          "y": 1152,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 121,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c7038bbb-4cde-4da2-b9bb-9337381a6186",
          "width": 576,
          "x": 16672,
          "y": 519,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "f020ab4c-a21b-4901-a4d2-b8ee1585647a",
          "width": 192,
          "x": 9568,
          "y": 1536,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "6b98c757-1156-4240-abc6-8abffa9ba934",
          "width": 192,
          "x": 16224,
          "y": 1120,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "0cf2dac5-a68d-4ddf-a177-6bbbb62e11d0",
          "width": 192,
          "x": 15680,
          "y": 1248,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "af74a467-d4b3-4518-b93e-c98b6a28fa78",
          "width": 192,
          "x": 13760,
          "y": 1280,
          "zOrder": 102,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "CanShootOffscreen",
              "type": "boolean",
              "value": false
            },
            {
              "folded": true,
              "name": "FireFrequencyTime",
              "type": "number",
              "value": 4
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "1dd84913-99fd-4d7f-8269-a1595158168a",
          "width": 192,
          "x": 16736,
          "y": 1056,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "a069290c-0c48-4ea1-8103-d1856c47e854",
          "width": 224,
          "x": 17376,
          "y": 912,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "AssetDev/Backgrounds/Ocean/Ocean.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level4\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "type": "BuiltinCommonInstructions::Standard",
          "conditions": [
            {
              "type": {
                "value": "DepartScene"
              },
              "parameters": [
                ""
              ]
            }
          ],
          "actions": [
            {
              "type": {
                "value": "AnimatableCapability::AnimatableBehavior::SetName"
              },
              "parameters": [
                "Memory",
                "Animation",
                "=",
                "\"Ocean\""
              ]
            },
            {
              "type": {
                "value": "ModVarObjet"
              },
              "parameters": [
                "Player",
                "LifeForce",
                "=",
                "4"
              ]
            }
          ]
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "MusicController",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "PlaySound"
                  },
                  "parameters": [
                    "",
                    "Assets/Sounds/Levels/5/AmbientLoop.ogg",
                    "yes",
                    "GlobalVariable(Volume_Music) - 16",
                    ""
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "CompareTimer"
                  },
                  "parameters": [
                    "RandomSFXIndex",
                    "\"RandomNoiseTimer\"",
                    ">",
                    "Variable(TimeBeforeNextRandomSFX)"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "RandomSFXIndex",
                    "=",
                    "RandomInRange(1, 3)"
                  ]
                },
                {
                  "type": {
                    "value": "ResetTimer"
                  },
                  "parameters": [
                    "",
                    "\"RandomNoiseTimer\""
                  ]
                },
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "TimeBeforeNextRandomSFX",
                    "=",
                    "RandomFloatInRange(30,240)"
                  ]
                }
              ],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "1"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance1.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "2"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance2.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "3"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance3.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Level3",
      "name": "Level3",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.1210189105998629,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "MobileControls",
          "objects": [
            {
              "name": "JumpButton"
            },
            {
              "name": "Joystick"
            }
          ]
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "EndScreenBackground"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "RetryButton"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2048,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 27392,
          "x": 0,
          "y": -288,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2304,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 27392,
          "y": -416,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 27520,
          "x": 0,
          "y": -416,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "00f86cf3-18b0-4d71-9ce8-952dfc4e6b5c",
          "width": 27520,
          "x": 0,
          "y": 1760,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "014db1f5-0846-4cba-821e-57e29d368c14",
          "width": 256,
          "x": 160,
          "y": 864,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "c9cf2013-115e-4120-8602-4d606e8a0ad9",
          "width": 608,
          "x": 128,
          "y": 960,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "fa0301b8-9f12-4cf9-ad30-2d274d448e13",
          "width": 341,
          "x": 16811,
          "y": 768,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 496,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "ec1b505e-4a50-4898-85b5-19e0cdb4b458",
          "width": 992,
          "x": 26496,
          "y": 1136,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "fa79662d-16c7-4c21-a43d-0a204befff36",
          "width": 408,
          "x": 26984,
          "y": 640,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "3c6b702b-6ec5-451b-a065-713215ddec5e",
          "width": 736,
          "x": 3744,
          "y": 672,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "43a3e4bd-d210-4fc2-905a-0bd7d20c0547",
          "width": 736,
          "x": 11936,
          "y": 960,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 160,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "85a18617-414d-45f0-a124-14642efd44da",
          "width": 320,
          "x": 9280,
          "y": 960,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 352,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "5306322c-8319-45d8-9b40-d2757a88ee7d",
          "width": 704,
          "x": 10528,
          "y": 896,
          "zOrder": 79,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 352,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "6f771993-a5a0-43c8-a8a5-2b7e7e4b65ab",
          "width": 704,
          "x": 12960,
          "y": 992,
          "zOrder": 79,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "84344788-8847-4b12-8782-f9d5ac66dd87",
          "width": 256,
          "x": 27040,
          "y": 416,
          "zOrder": 84,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "7b8c1603-9854-4e8b-844b-9772155a6b5e",
          "width": 608,
          "x": 928,
          "y": 704,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "a7dc999b-d74a-4e98-bd7b-171d85bf270e",
          "width": 608,
          "x": 1696,
          "y": 448,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 136,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "6291f631-2a0b-403d-a8e2-6dede9a76b6d",
          "width": 544,
          "x": 6240,
          "y": 920,
          "zOrder": 86,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "5e6b44c3-8064-4ba8-b5c2-e34489aaf5a6",
          "width": 341,
          "x": 6336,
          "y": 672,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "36214317-ff6c-4325-ab9e-4fd776f5dcac",
          "width": 256,
          "x": 5440,
          "y": 672,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "7267fd59-17de-4a86-ae06-e6f2c249f23e",
          "width": 448,
          "x": 7136,
          "y": 810,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "62232ff5-cf63-4fbb-846b-cd07883a7705",
          "width": 384,
          "x": 8544,
          "y": 864,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "8675d6a8-1464-45c1-935d-c26b8a914949",
          "width": 448,
          "x": 9888,
          "y": 768,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 18,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "882cb2f0-a23f-4392-88b7-e2b9cf6a9104",
          "width": 736,
          "x": 14279,
          "y": 920,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 354,
          "customSize": true,
          "depth": 1,
          "height": 177,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "eefce13e-0231-4e57-86e7-cba4b4fa7325",
          "width": 354,
          "x": 17654,
          "y": 1085,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "3bbcd468-a052-48db-b25b-0622513132de",
          "width": 256,
          "x": 18176,
          "y": 704,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "79e52e0b-b378-4aa4-8dc4-8466bf981c8e",
          "width": 256,
          "x": 2560,
          "y": 384,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "a8c87da3-79f9-4ea6-8f08-8fed174629b0",
          "width": 192,
          "x": 12864,
          "y": 827,
          "zOrder": 92,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "41fc5b2c-c1bc-42ca-9285-3f761a1ed253",
          "width": 192,
          "x": 11872,
          "y": 768,
          "zOrder": 92,
          "numberProperties": [
            {
              "name": "animation",
              "value": 0
            }
          ],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 37,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "63d8400f-0be8-4d2a-a1b6-d17eeae90e3c",
          "width": 736,
          "x": 15018,
          "y": 803,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 50,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "390efc0f-0b3b-4450-baf9-cea0f7e1ed2e",
          "width": 736,
          "x": 15692,
          "y": 822,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "81d6661a-4692-4d10-8359-2ed0a52bf49f",
          "width": 256,
          "x": 3104,
          "y": 576,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "d4a807ab-c4d5-41b4-8f6c-7f0ec7bfd0a1",
          "width": 736,
          "x": 16622,
          "y": 983,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "bc9ec261-eced-4481-a955-2aae5624f7f5",
          "width": 256,
          "x": 18622,
          "y": 475,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "588ad7a9-3bb1-4bef-9430-2a23f3464e89",
          "width": 256,
          "x": 19456,
          "y": 96,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "a7ec6f5a-48bb-4eeb-aaa0-563d0684b22d",
          "width": 768,
          "x": 19008,
          "y": 320,
          "zOrder": 94,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "86960a76-cc6f-41af-92c5-ff013a06e5f0",
          "width": 768,
          "x": 19904,
          "y": 544,
          "zOrder": 94,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "26126611-258e-4577-bf4f-20db6f7a964b",
          "width": 256,
          "x": 19648,
          "y": 320,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 384,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "b593749e-822f-4426-8c5b-f7c90b6ba4d4",
          "width": 768,
          "x": 21260,
          "y": 544,
          "zOrder": 94,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "8db77333-c26e-4eac-b5b0-e0574bec400e",
          "width": 341,
          "x": 20715,
          "y": 288,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "57dfe7ba-28cb-413c-b290-603cb0caae4d",
          "width": 192,
          "x": 21504,
          "y": 1152,
          "zOrder": 92,
          "numberProperties": [
            {
              "name": "animation",
              "value": 0
            }
          ],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "d68dba8a-3e1d-4b1b-bc7a-9b51e52ec349",
          "width": 608,
          "x": 21760,
          "y": 1200,
          "zOrder": 97,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "758c90ae-4a1c-49f2-8872-1fe4995b1614",
          "width": 256,
          "x": 22432,
          "y": 864,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 400,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "10442942-066c-4585-9abe-c6e0bbb071a9",
          "width": 800,
          "x": 22816,
          "y": 720,
          "zOrder": 99,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "eba7f98b-2acb-4ff1-b502-86bcef5d7683",
          "width": 256,
          "x": 24736,
          "y": 192,
          "zOrder": 91,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "d63d02e0-e6e3-4aa0-b303-57b95793cc12",
          "width": 384,
          "x": 24000,
          "y": 448,
          "zOrder": 99,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "a114b13f-fc3c-4b47-a261-a49271d60596",
          "width": 736,
          "x": 24928,
          "y": 752,
          "zOrder": 98,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "5683e362-126b-4041-89ac-1a4c4a62c9a8",
          "width": 704,
          "x": 20736,
          "y": 1280,
          "zOrder": 100,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "512b6603-20e6-4380-a559-2a7cee29a145",
          "width": 192,
          "x": 26016,
          "y": 640,
          "zOrder": 102,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 192,
          "layer": "",
          "name": "SpikeDemon_Base",
          "persistentUuid": "72ed653a-bc05-4cf8-afd4-3a6d8dcdf0da",
          "width": 192,
          "x": 7648,
          "y": 680,
          "zOrder": 103,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": [
            {
              "folded": true,
              "name": "FireOffsetTime",
              "type": "number",
              "value": 1
            }
          ]
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "a7507130-fb94-454d-b2ab-a9e10017486b",
          "width": 341,
          "x": 9920,
          "y": 512,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2304,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "92e44b1e-8ec3-4a11-aeee-92fe1c656975",
          "width": 128,
          "x": 0,
          "y": -416,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "158491b2-9ddd-4d08-a6f4-7e0cd7144932",
          "width": 256,
          "x": 4864,
          "y": 672,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "546733e4-525c-468f-b12f-4e64fd8ec536",
          "width": 256,
          "x": 6848,
          "y": 704,
          "zOrder": 104,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "ba4dee22-5735-47b2-a85e-eb0f5291b854",
          "width": 256,
          "x": 8128,
          "y": 736,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "AssetDev/Backgrounds/LivingRoom/LivingRoom.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level3\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "type": "BuiltinCommonInstructions::Standard",
          "conditions": [
            {
              "type": {
                "value": "DepartScene"
              },
              "parameters": [
                ""
              ]
            }
          ],
          "actions": [
            {
              "type": {
                "value": "AnimatableCapability::AnimatableBehavior::SetName"
              },
              "parameters": [
                "Memory",
                "Animation",
                "=",
                "\"LivingRoom\""
              ]
            },
            {
              "type": {
                "value": "ModVarObjet"
              },
              "parameters": [
                "Player",
                "LifeForce",
                "=",
                "3"
              ]
            }
          ]
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "MusicController",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "PlaySound"
                  },
                  "parameters": [
                    "",
                    "Assets/Sounds/Levels/3/AmbientLoop.ogg",
                    "yes",
                    "GlobalVariable(Volume_Music) + 17",
                    ""
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "CompareTimer"
                  },
                  "parameters": [
                    "RandomSFXIndex",
                    "\"RandomNoiseTimer\"",
                    ">",
                    "Variable(TimeBeforeNextRandomSFX)"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "RandomSFXIndex",
                    "=",
                    "RandomInRange(1, 3)"
                  ]
                },
                {
                  "type": {
                    "value": "ResetTimer"
                  },
                  "parameters": [
                    "",
                    "\"RandomNoiseTimer\""
                  ]
                },
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "TimeBeforeNextRandomSFX",
                    "=",
                    "RandomFloatInRange(30,240)"
                  ]
                }
              ],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "1"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance1.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "2"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance2.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "3"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance3.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Level2",
      "name": "Level2",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.2126695039591079,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "MobileControls",
          "objects": [
            {
              "name": "JumpButton"
            },
            {
              "name": "Joystick"
            }
          ]
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "EndScreenBackground"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "RetryButton"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2720,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "78dd0ffa-b22f-47a8-9b36-ef6a432b1d1e",
          "width": 128,
          "x": -128,
          "y": -768,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2464,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 21504,
          "x": 0,
          "y": -640,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2721,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 21504,
          "y": -768,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 21760,
          "x": -128,
          "y": -768,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "00f86cf3-18b0-4d71-9ce8-952dfc4e6b5c",
          "width": 21760,
          "x": -128,
          "y": 1824,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "014db1f5-0846-4cba-821e-57e29d368c14",
          "width": 256,
          "x": 32,
          "y": 704,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "c9cf2013-115e-4120-8602-4d606e8a0ad9",
          "width": 608,
          "x": 0,
          "y": 768,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "2786e4b7-4185-408d-8545-af543b61d412",
          "width": 341,
          "x": 5387,
          "y": 128,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "fa0301b8-9f12-4cf9-ad30-2d274d448e13",
          "width": 341,
          "x": 9728,
          "y": 624,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 496,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "ec1b505e-4a50-4898-85b5-19e0cdb4b458",
          "width": 992,
          "x": 20864,
          "y": 1169,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "fa79662d-16c7-4c21-a43d-0a204befff36",
          "width": 408,
          "x": 21096,
          "y": 673,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "fc72f1f8-76cd-4828-b4ef-4cb594249934",
          "width": 608,
          "x": 1216,
          "y": 1056,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "3c6b702b-6ec5-451b-a065-713215ddec5e",
          "width": 736,
          "x": 3328,
          "y": 1120,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "29f1957a-43ab-4bcd-8266-cb5dcf3a7e18",
          "width": 256,
          "x": 2144,
          "y": 832,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "995df265-eb7b-4433-9233-ba55b3559cfa",
          "width": 256,
          "x": 2779,
          "y": 832,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 512,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "4248b20d-521a-4933-a54b-dea3289988d3",
          "width": 512,
          "x": 4320,
          "y": 480,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "05cc6c5a-2379-4707-9127-b64bab2dd632",
          "width": 736,
          "x": 5184,
          "y": 352,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "a1c05625-7ed1-4809-94dc-e3328d47a30f",
          "width": 736,
          "x": 6688,
          "y": 352,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "10faa9a4-4f08-4f81-af80-1d43d16dff37",
          "width": 256,
          "x": 7648,
          "y": 448,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "2e5158d2-7bb1-4edc-82a6-5ac4ba7f092e",
          "width": 736,
          "x": 8032,
          "y": 656,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "a2b46c9f-20eb-44b7-b9b0-ad753c4d120c",
          "width": 256,
          "x": 8384,
          "y": 456,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "43a3e4bd-d210-4fc2-905a-0bd7d20c0547",
          "width": 736,
          "x": 9536,
          "y": 880,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 296,
          "customSize": true,
          "depth": 1,
          "height": 336,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "85a18617-414d-45f0-a124-14642efd44da",
          "width": 672,
          "x": 10618,
          "y": 880,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 336,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "8ddb28cc-c924-428d-a53e-28a9829839a7",
          "width": 704,
          "x": 11584,
          "y": 928,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 35,
          "customSize": true,
          "depth": 1,
          "height": 352,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "5306322c-8319-45d8-9b40-d2757a88ee7d",
          "width": 704,
          "x": 12576,
          "y": 982,
          "zOrder": 79,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 352,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "6f771993-a5a0-43c8-a8a5-2b7e7e4b65ab",
          "width": 704,
          "x": 13440,
          "y": 1088,
          "zOrder": 79,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 144,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f66e4bcd-6134-4903-8965-66984cea8801",
          "width": 576,
          "x": 14906,
          "y": 1088,
          "zOrder": 80,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "4926eacf-8c3f-49fe-903e-f2e2c756ea5a",
          "width": 341,
          "x": 15098,
          "y": 832,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 144,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "98dd8ef6-fb4e-4154-8834-b257196b5ada",
          "width": 576,
          "x": 15482,
          "y": 1088,
          "zOrder": 80,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 576,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "e562f9c8-4368-4033-ba40-79db173af8c9",
          "width": 171,
          "x": 15887,
          "y": 521,
          "zOrder": 81,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "ca2b4263-6c7e-454e-ae4f-8cad1b9ddee5",
          "width": 256,
          "x": 16544,
          "y": 640,
          "zOrder": 83,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "84344788-8847-4b12-8782-f9d5ac66dd87",
          "width": 256,
          "x": 21152,
          "y": 449,
          "zOrder": 84,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 55,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "91dd22b1-08ca-4a63-bbbc-9cb593f7908f",
          "width": 203,
          "x": 15872,
          "y": 521,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 448,
          "layer": "",
          "name": "VerticalMovingPlatformDown",
          "persistentUuid": "15469d73-f99f-4aaa-b596-48fbc6ae5be6",
          "width": 448,
          "x": 17120,
          "y": 224,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 448,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "42b824f2-25a0-4d8c-9858-c3d437127d45",
          "width": 896,
          "x": 17856,
          "y": -64,
          "zOrder": 85,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "bbcece8f-95a8-42c2-91c9-5fdb5635b1bb",
          "width": 256,
          "x": 19616,
          "y": -63,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "09cffed5-b514-4508-b327-a4af2f74b564",
          "width": 256,
          "x": 19616,
          "y": 289,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "c46e9be5-333f-4217-b2f5-288de3b82b3f",
          "width": 256,
          "x": 19616,
          "y": 641,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 342,
          "customSize": true,
          "depth": 1,
          "height": 291,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "54830b74-75ef-4d4b-aab0-ec008a46b1af",
          "width": 581,
          "x": 19999,
          "y": 1611,
          "zOrder": 86,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "624e83d0-5f75-4f6d-ae97-129eb6ba5b73",
          "width": 256,
          "x": 19616,
          "y": 1537,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 270,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d3b46346-3062-4800-8034-791533172c1a",
          "width": 383,
          "x": 19761,
          "y": 657,
          "zOrder": 87,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "a9489fa5-ac4d-4310-b901-fb2d027f7876",
          "width": 256,
          "x": 8064,
          "y": 456,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "8ac20a81-ff3d-4e29-91bc-dea520ae132d",
          "width": 256,
          "x": 18880,
          "y": -96,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "HorizontalDemon",
          "persistentUuid": "f30c4680-7e1f-4fec-a7fd-508c791a0557",
          "width": 256,
          "x": 5760,
          "y": 384,
          "zOrder": 88,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "e443fa19-e090-4fd3-a108-afe9a2d699e5",
          "width": 256,
          "x": 9088,
          "y": 736,
          "zOrder": 77,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 270,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "cf21c18d-644a-43b1-95f5-73a0ce1462a5",
          "width": 383,
          "x": 19761,
          "y": -496,
          "zOrder": 87,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 270,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "0c174d04-9e01-4b9a-a55d-605efc09a215",
          "width": 383,
          "x": 19761,
          "y": -112,
          "zOrder": 87,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 270,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "7f40bd27-1d89-4825-ac3a-6318598d3c0c",
          "width": 383,
          "x": 19761,
          "y": 273,
          "zOrder": 87,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2720,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "3ae7a15f-786f-400d-a7c9-229710f9cf83",
          "width": 128,
          "x": -128,
          "y": -768,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "AssetDev/Backgrounds/Beach/Beach.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level2\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "type": "BuiltinCommonInstructions::Standard",
          "conditions": [
            {
              "type": {
                "value": "DepartScene"
              },
              "parameters": [
                ""
              ]
            }
          ],
          "actions": [
            {
              "type": {
                "value": "AnimatableCapability::AnimatableBehavior::SetName"
              },
              "parameters": [
                "Memory",
                "Animation",
                "=",
                "\"Beach\""
              ]
            },
            {
              "type": {
                "value": "ModVarObjet"
              },
              "parameters": [
                "Player",
                "LifeForce",
                "=",
                "2"
              ]
            }
          ]
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "MusicController",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "PlaySound"
                  },
                  "parameters": [
                    "",
                    "Assets/Sounds/Levels/2/AmbientLoop.ogg",
                    "yes",
                    "GlobalVariable(Volume_Music) + 9",
                    ""
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "CompareTimer"
                  },
                  "parameters": [
                    "RandomSFXIndex",
                    "\"RandomNoiseTimer\"",
                    ">",
                    "Variable(TimeBeforeNextRandomSFX)"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "RandomSFXIndex",
                    "=",
                    "RandomInRange(1, 3)"
                  ]
                },
                {
                  "type": {
                    "value": "ResetTimer"
                  },
                  "parameters": [
                    "",
                    "\"RandomNoiseTimer\""
                  ]
                },
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "TimeBeforeNextRandomSFX",
                    "=",
                    "RandomFloatInRange(30,240)"
                  ]
                }
              ],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "1"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance1.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "2"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance2.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "3"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance3.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Level1",
      "name": "Level1",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.2963028262480733,
        "windowMask": false
      },
      "objectsGroups": [],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 594,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "5e31f97d-bdfa-44ce-b525-f6bb1b99bdb5",
          "width": 198,
          "x": 4485,
          "y": 388,
          "zOrder": 2,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 536,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "dac6a253-9929-4369-b079-5ea42e96d4da",
          "width": 1069,
          "x": 14624,
          "y": 904,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 55,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "7483dc27-84ed-436f-9611-ea3d03ec6df8",
          "width": 203,
          "x": 4474,
          "y": 385,
          "zOrder": 51,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 335,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "897ece0a-9bc4-470b-9d60-5bdc29242124",
          "width": 671,
          "x": 4084,
          "y": 945,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 314,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "43cdcc5b-382d-4dab-9fae-ef4c4bf99117",
          "width": 626,
          "x": 4928,
          "y": 192,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 251,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "8139f892-065e-4b90-b332-09bf661fc701",
          "width": 293,
          "x": 4123,
          "y": 709,
          "zOrder": 31,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "1989e88d-b9a1-4d50-bf0e-59255f899d23",
          "width": 198,
          "x": 4122,
          "y": 186,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2208,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 15582,
          "x": 2,
          "y": -448,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "7efbc01f-ebde-481a-8ed2-824eb6c891f2",
          "width": 408,
          "x": 15176,
          "y": 416,
          "zOrder": 4,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "42c34c63-828b-40a8-8f49-304f669da314",
          "width": 198,
          "x": 6176,
          "y": 320,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 335,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "962ff6d4-5507-46f2-b60a-2a65303e2c57",
          "width": 671,
          "x": 6024,
          "y": 1323,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 153,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "862ce475-2f9e-4719-a10f-a0cd5aab48b5",
          "width": 723,
          "x": 4989,
          "y": 1130,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 594,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "c70816af-3596-4793-933a-4b4629098a5f",
          "width": 198,
          "x": 2473,
          "y": 140,
          "zOrder": 2,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 314,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "7073d2f2-8aaa-4db1-a340-429d4a21124f",
          "width": 626,
          "x": 2976,
          "y": -26,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 536,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "f9bc60f6-a8ea-44a7-b530-992970210081",
          "width": 1069,
          "x": 1939,
          "y": 704,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "347cf196-e760-4479-ba1c-5cd8004cb489",
          "width": 198,
          "x": 3258,
          "y": 800,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "35708fe6-fb1b-44d0-a223-83de0bfef088",
          "width": 198,
          "x": 5849,
          "y": 852,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 360,
          "customSize": true,
          "depth": 3,
          "height": 335,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "1b612f38-7a37-4710-8619-5bead77366e3",
          "width": 671,
          "x": 6593,
          "y": 544,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 335,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "14dc80fe-554a-458b-bc33-6b6b67b6e6d0",
          "width": 671,
          "x": 0,
          "y": 512,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 314,
          "layer": "",
          "name": "HorizontalMovingPlatformRight",
          "persistentUuid": "fe148d9c-05d4-4ecb-b069-e4252e88c357",
          "width": 626,
          "x": 864,
          "y": 678,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "5bf8d8e0-54d9-4978-a7cc-54bb2372f57b",
          "width": 198,
          "x": 6880,
          "y": 1216,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 360,
          "customSize": true,
          "depth": 3,
          "height": 335,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "762125d2-fa37-4d9c-b51f-0e00e16d14d9",
          "width": 671,
          "x": 8800,
          "y": 849,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 2,
          "customSize": true,
          "depth": 3,
          "height": 359,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "8d7c9281-bf76-46e7-b758-55f165368244",
          "width": 719,
          "x": 10955,
          "y": 364,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 358,
          "customSize": true,
          "depth": 3,
          "height": 251,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "5ce331fc-f916-4fc5-9af2-9d4825ca0e29",
          "width": 293,
          "x": 11159,
          "y": 133,
          "zOrder": 31,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 1,
          "customSize": true,
          "depth": 3,
          "height": 465,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "288ffc2b-7bc4-4bbc-8721-14a32217e079",
          "width": 928,
          "x": 11872,
          "y": 679,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "564fd499-3f13-448a-957d-7e7a684b7e57",
          "width": 198,
          "x": 13024,
          "y": 410,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 1,
          "customSize": true,
          "depth": 3,
          "height": 335,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "f137a9e9-39f1-4741-9673-4337fb217fc5",
          "width": 671,
          "x": 13448,
          "y": 753,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "c640bf34-614b-4ba7-9dbf-d8a1ab2d3187",
          "width": 198,
          "x": 14330,
          "y": 634,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "963ab632-bd4f-458c-91f7-5b5cad905fc5",
          "width": 198,
          "x": 1056,
          "y": 544,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "26145768-3345-4270-9923-15e4f61051ea",
          "width": 224,
          "x": 2048,
          "y": 544,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "681c33f7-d999-4bac-86e1-2fab9f0e3067",
          "width": 224,
          "x": 5376,
          "y": 928,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "eebc0ab8-4f42-4100-af78-bb54b9750f34",
          "width": 224,
          "x": 6272,
          "y": 1120,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "65b68895-36af-4a66-9592-53346944be37",
          "width": 224,
          "x": 11904,
          "y": 512,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "541962e3-ed19-4207-828e-1696cb266a36",
          "width": 224,
          "x": 14624,
          "y": 736,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "014db1f5-0846-4cba-821e-57e29d368c14",
          "width": 256,
          "x": 32,
          "y": 384,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "238216f9-1ebb-4d74-9aca-3d6e4ff3a1c4",
          "width": 198,
          "x": 7296,
          "y": 1088,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "24aede2c-9a45-4216-9929-fc5a2ab2ebdc",
          "width": 198,
          "x": 3706,
          "y": 800,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "1ddebb88-5d27-4a3e-a937-60e83f545547",
          "width": 256,
          "x": 15232,
          "y": 192,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 352,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "b0886630-4a51-4d14-80c1-82bfa11b86de",
          "width": 704,
          "x": 7712,
          "y": 896,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2464,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "db4a0f4f-07a7-4316-9ffe-4bd91c9bcd3c",
          "width": 128,
          "x": -128,
          "y": -576,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "e31924c8-1be8-4041-9f02-f3eb42fe511b",
          "width": 15840,
          "x": -128,
          "y": -576,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "a119cfe3-12b9-4749-8a41-259d5c2ab039",
          "width": 15840,
          "x": -128,
          "y": 1760,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2464,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "bae8e1a0-02da-4045-b75d-2d1d8c27160d",
          "width": 128,
          "x": 15584,
          "y": -576,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 55,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "83e5f654-da41-4104-b0bb-4d974ca949c2",
          "width": 203,
          "x": 2485,
          "y": 137,
          "zOrder": 67,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "fa3a7fbf-8971-4c4b-9da8-bc68e258922e",
          "width": 198,
          "x": 10122,
          "y": 544,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 224,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "896bf9b9-279c-4bec-afd1-e7b145acf954",
          "width": 224,
          "x": 9632,
          "y": 640,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "13dad468-26c0-45c3-88d7-d87795baff50",
          "width": 198,
          "x": 10650,
          "y": 416,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 198,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "3a95463f-3a6a-438d-96a5-2ae927fa4c75",
          "width": 198,
          "x": 13914,
          "y": 320,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "AssetDev/Backgrounds/Forest/Forest.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level1\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "type": "BuiltinCommonInstructions::Standard",
          "conditions": [
            {
              "type": {
                "value": "DepartScene"
              },
              "parameters": [
                ""
              ]
            }
          ],
          "actions": [
            {
              "type": {
                "value": "AnimatableCapability::AnimatableBehavior::SetName"
              },
              "parameters": [
                "Memory",
                "Animation",
                "=",
                "\"Forest\""
              ]
            },
            {
              "type": {
                "value": "ModVarObjet"
              },
              "parameters": [
                "Player",
                "LifeForce",
                "=",
                "1"
              ]
            }
          ]
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Tutorial",
      "name": "Tutorial",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.1862485874970881,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "UI_Sinage_Background"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "UI_Sinage_RetryButton"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 181,
          "layer": "",
          "name": "Player",
          "persistentUuid": "531d1c3f-aae2-413f-ba87-81f0b6673f1b",
          "width": 302,
          "x": 114,
          "y": 376,
          "zOrder": 999,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 170,
          "layer": "",
          "name": "DoorParticles",
          "persistentUuid": "fb84a04d-cfeb-4e71-a07c-cd64c5b91f23",
          "width": 170,
          "x": 15360,
          "y": -140,
          "zOrder": 2,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 536,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "dac6a253-9929-4369-b079-5ea42e96d4da",
          "width": 1069,
          "x": 12160,
          "y": 672,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2240,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 15584,
          "x": 0,
          "y": -736,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 544,
          "layer": "",
          "name": "Portal",
          "persistentUuid": "7efbc01f-ebde-481a-8ed2-824eb6c891f2",
          "width": 408,
          "x": 15176,
          "y": -512,
          "zOrder": 4,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2496,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 15584,
          "y": -864,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 15840,
          "x": -128,
          "y": -864,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "00f86cf3-18b0-4d71-9ce8-952dfc4e6b5c",
          "width": 15840,
          "x": -128,
          "y": 1504,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 248,
          "layer": "",
          "name": "FireDemon",
          "persistentUuid": "b5fae51a-ce9c-4072-94eb-f8ac70e2e241",
          "width": 248,
          "x": 9960,
          "y": 411,
          "zOrder": 41,
          "numberProperties": [
            {
              "name": "animation",
              "value": 0
            }
          ],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 203,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "4ca0d904-cb50-483c-a085-f550996efdd7",
          "width": 203,
          "x": 4597,
          "y": 608,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 129,
          "layer": "",
          "name": "Sinage_Arrow",
          "persistentUuid": "d3039e2c-6480-44d0-b0e5-635b59659ccb",
          "width": 256,
          "x": 800,
          "y": 319,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "Sinage_Jump",
          "persistentUuid": "1a01f568-215d-438f-8846-58079b84bf97",
          "width": 329,
          "x": 2007,
          "y": 288,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "a91e3bd5-bc02-4bb5-9ce7-ec7bd36cc5e1",
          "width": 384,
          "x": 0,
          "y": 576,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "f70d04f9-50fa-4c71-899c-d542cc5291d1",
          "width": 384,
          "x": 384,
          "y": 576,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "1f84a522-7e0d-48c6-9fb4-f7e62e841d1c",
          "width": 384,
          "x": 768,
          "y": 576,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d81909d4-3774-43fc-9e6b-5099d2f9d9a2",
          "width": 384,
          "x": 1536,
          "y": 576,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "04adc2c3-f005-4287-809e-173003eda12a",
          "width": 384,
          "x": 1152,
          "y": 576,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "cec28d59-aa03-48d8-8583-3288a457cd78",
          "width": 736,
          "x": 2368,
          "y": 544,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 368,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "2deb866c-f5f6-4881-a38d-7c2f40433263",
          "width": 736,
          "x": 8352,
          "y": 752,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 346,
          "customSize": true,
          "depth": 1,
          "height": 208,
          "layer": "",
          "name": "Sinage_Kill",
          "persistentUuid": "2f17a9a2-39d2-40d7-83c9-e22854b24105",
          "width": 416,
          "x": 4493,
          "y": 143,
          "zOrder": 67,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 288,
          "layer": "",
          "name": "Sinage_Checkpoint",
          "persistentUuid": "fdf6200c-b1c2-4432-9778-941bd68033cd",
          "width": 576,
          "x": 8436,
          "y": 156,
          "zOrder": 68,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 411,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "d5e281f6-d50c-498b-b56d-b188c79d5d4c",
          "width": 820,
          "x": 9352,
          "y": 608,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 259,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "66f7c1c1-fcde-432c-9827-d35258b53d76",
          "width": 303,
          "x": 8564,
          "y": 505,
          "zOrder": 31,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Sinage_DownArrow",
          "persistentUuid": "83986403-d185-424e-8af1-e579fea546b2",
          "width": 128,
          "x": 8672,
          "y": 348,
          "zOrder": 69,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 176,
          "layer": "",
          "name": "Sinage_Death",
          "persistentUuid": "1380d496-0dc9-4352-a7ff-e0ffa2a2c3e9",
          "width": 352,
          "x": 1984,
          "y": 720,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 192,
          "layer": "",
          "name": "Sinage_DownArrow",
          "persistentUuid": "90e31dec-4eee-4ba5-9e41-05e1045dfa4d",
          "width": 96,
          "x": 2112,
          "y": 864,
          "zOrder": 69,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 342,
          "customSize": true,
          "depth": 1,
          "height": 135,
          "layer": "",
          "name": "Sinage_Kill",
          "persistentUuid": "c732ee86-3bce-4140-9fca-e8ef049eb416",
          "width": 269,
          "x": 9733,
          "y": 230,
          "zOrder": 67,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 304,
          "layer": "",
          "name": "Sinage_Proceed",
          "persistentUuid": "5bca1094-cf13-40f8-96d0-fd2745d6c2cc",
          "width": 608,
          "x": 14560,
          "y": -656,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 308,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Sinage_DownArrow",
          "persistentUuid": "a85de47e-300c-4549-b701-ef7656971f33",
          "width": 128,
          "x": 14956,
          "y": -481,
          "zOrder": 69,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 96,
          "layer": "",
          "name": "Sinage_Space",
          "persistentUuid": "1725ed41-81e6-44cc-9f97-7a7c52cc4a44",
          "width": 192,
          "x": 544,
          "y": 320,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 96,
          "layer": "",
          "name": "Sinage_W",
          "persistentUuid": "7c1c088d-ec9a-41f0-a2b2-ed11eaef402e",
          "width": 96,
          "x": 320,
          "y": 224,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 96,
          "layer": "",
          "name": "Sinage_A",
          "persistentUuid": "f3858e2f-004b-4740-b4c7-739ad953482a",
          "width": 96,
          "x": 224,
          "y": 320,
          "zOrder": 74,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "Sinage_D",
          "persistentUuid": "4fc37a9a-1921-4c98-9195-a29dcb1d20d9",
          "width": 96,
          "x": 416,
          "y": 320,
          "zOrder": 75,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "Sinage_S",
          "persistentUuid": "d2c5e176-b4b0-47c8-8d41-908803612d1f",
          "width": 96,
          "x": 320,
          "y": 320,
          "zOrder": 76,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 8,
          "customSize": true,
          "depth": 1,
          "height": 160,
          "layer": "",
          "name": "Sinage_DownArrow",
          "persistentUuid": "cd308248-f7cd-4f20-9780-3f4d3e6781c7",
          "width": 80,
          "x": 4670,
          "y": 295,
          "zOrder": 69,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 326,
          "customSize": true,
          "depth": 1,
          "height": 146,
          "layer": "",
          "name": "Sinage_DownArrow",
          "persistentUuid": "86c88e63-c3bf-4de8-9009-29c21376112c",
          "width": 73,
          "x": 9923,
          "y": 328,
          "zOrder": 69,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 411,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "75f5f708-1018-4908-9672-a3a776aa26b5",
          "width": 820,
          "x": 3411,
          "y": 623,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 203,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "da3e77a5-a2c3-433e-b9b5-fdb03525b1d9",
          "width": 203,
          "x": 7061,
          "y": 661,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Memory",
          "persistentUuid": "688147b1-616d-402d-87ec-0577c99e893e",
          "width": 256,
          "x": 15232,
          "y": -736,
          "zOrder": 82,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 338,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "e879a3c4-0e28-496f-8b87-43260eba38f8",
          "width": 704,
          "x": 4992,
          "y": 640,
          "zOrder": 1000,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2496,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "3d3a5c22-d9a4-43b9-87a8-b64dbe205b30",
          "width": 128,
          "x": -128,
          "y": -864,
          "zOrder": 1001,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 346,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "Sinage_Jump",
          "persistentUuid": "11449fad-3430-48f0-a776-78dfb1520000",
          "width": 512,
          "x": 4439,
          "y": -58,
          "zOrder": 1002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 232,
          "layer": "",
          "name": "Sinage_Heal",
          "persistentUuid": "daf5b812-8533-4894-ac27-927369afec9d",
          "width": 928,
          "x": 6080,
          "y": 312,
          "zOrder": 1003,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 272,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "4ba80cfc-f730-46fd-a443-1c7b91474772",
          "width": 544,
          "x": 7360,
          "y": 768,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 180,
          "layer": "",
          "name": "Sinage_Hold",
          "persistentUuid": "01795a68-9a9a-4963-a010-a22227f3d661",
          "width": 576,
          "x": 11520,
          "y": 96,
          "zOrder": 1004,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "Sinage_Space",
          "persistentUuid": "296e4598-a05f-42ba-b99b-bcb05ecff6f2",
          "width": 256,
          "x": 11921,
          "y": 132,
          "zOrder": 1005,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 252,
          "layer": "",
          "name": "Sinage_LongerJump",
          "persistentUuid": "5338420d-a87c-49c6-99cd-c8c9902d149f",
          "width": 928,
          "x": 11488,
          "y": 212,
          "zOrder": 1006,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 416,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "7ecba84c-36e9-4572-82b2-5b6597a3bc59",
          "width": 832,
          "x": 10688,
          "y": 576,
          "zOrder": 1007,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 259,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "3e65406b-0fd7-4f4d-9006-7a3d9d267556",
          "width": 303,
          "x": 10929,
          "y": 349,
          "zOrder": 31,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 55,
          "layer": "",
          "name": "BoundaryJumpThrough",
          "persistentUuid": "be188643-046c-4f3d-8dc8-526863852bde",
          "width": 203,
          "x": 12930,
          "y": 142,
          "zOrder": 51,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 594,
          "layer": "",
          "name": "Ladder",
          "persistentUuid": "581dac5a-809b-4977-a17b-7435921099a7",
          "width": 198,
          "x": 12930,
          "y": 142,
          "zOrder": 2,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 203,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "56d0288c-adc1-49f7-b9b4-f57ec8132bc5",
          "width": 203,
          "x": 13557,
          "y": 43,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 536,
          "layer": "",
          "name": "StaticPlatform3",
          "persistentUuid": "12b18909-cb1e-4fee-9be3-38a0ccfbf272",
          "width": 1069,
          "x": 14739,
          "y": 0,
          "zOrder": 3,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "Sinage_W",
          "persistentUuid": "3f263c0d-18b4-4f24-b53e-91c1147a551a",
          "width": 128,
          "x": 12749,
          "y": 352,
          "zOrder": 73,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 338,
          "layer": "",
          "name": "StaticPlatform2",
          "persistentUuid": "ca17eab1-95ab-4662-b1c2-74f2aa203c0c",
          "width": 704,
          "x": 6016,
          "y": 640,
          "zOrder": 1000,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 3,
          "height": 203,
          "layer": "",
          "name": "FlyingDemon",
          "persistentUuid": "11197a93-144a-406a-b7f1-7e3447f47c19",
          "width": 203,
          "x": 14101,
          "y": 0,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 180,
          "layer": "",
          "name": "Sinage_Hold",
          "persistentUuid": "d24a820b-f5df-43d8-b6e3-f2def9cae525",
          "width": 576,
          "x": 13408,
          "y": -372,
          "zOrder": 1004,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "Sinage_Space",
          "persistentUuid": "f3c80f82-db0c-412c-b8a7-601771d9909d",
          "width": 256,
          "x": 13824,
          "y": -340,
          "zOrder": 1005,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "AssetDev/Backgrounds/Mountains/Mountains_1.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.75,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "BackgroundPlants"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyReleased"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Tutorial\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ModVarObjet"
                  },
                  "parameters": [
                    "Player",
                    "LifeForce",
                    "=",
                    "5"
                  ]
                },
                {
                  "type": {
                    "value": "ModVarObjet"
                  },
                  "parameters": [
                    "Player",
                    "Lives",
                    "=",
                    "4"
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "MusicController",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "PlaySound"
                  },
                  "parameters": [
                    "",
                    "Assets/Sounds/Levels/0/AmbientLoop.ogg",
                    "yes",
                    "GlobalVariable(Volume_Music) + 35",
                    ""
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "CompareTimer"
                  },
                  "parameters": [
                    "RandomSFXIndex",
                    "\"RandomNoiseTimer\"",
                    ">",
                    "Variable(TimeBeforeNextRandomSFX)"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "RandomSFXIndex",
                    "=",
                    "RandomInRange(1, 3)"
                  ]
                },
                {
                  "type": {
                    "value": "ResetTimer"
                  },
                  "parameters": [
                    "",
                    "\"RandomNoiseTimer\""
                  ]
                },
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "TimeBeforeNextRandomSFX",
                    "=",
                    "RandomFloatInRange(30,240)"
                  ]
                }
              ],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "1"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance1.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "2"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance2.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarScene"
                      },
                      "parameters": [
                        "RandomSFXIndex",
                        "=",
                        "3"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlaySound"
                      },
                      "parameters": [
                        "",
                        "Assets/Sounds/RandomSounds/RandomAmbiance3.wav",
                        "",
                        "GlobalVariable(Volume_SFX)",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Mindscape",
      "name": "Mindscape",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.18624858749708587,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "Platforms",
          "objects": [
            {
              "name": "StaticPlatform1"
            },
            {
              "name": "HorizontalMovingPlatformRight"
            },
            {
              "name": "StaticPlatform2"
            },
            {
              "name": "StaticPlatform3"
            }
          ]
        },
        {
          "name": "MobileControls",
          "objects": []
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "UI_Sinage_Background"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "UI_Sinage_RetryButton"
            }
          ]
        },
        {
          "name": "HelperObjects",
          "objects": [
            {
              "name": "LeftBoundary"
            },
            {
              "name": "RightBoundary"
            },
            {
              "name": "BoundaryJumpThrough"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2272,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "78dd0ffa-b22f-47a8-9b36-ef6a432b1d1e",
          "width": 128,
          "x": -128,
          "y": -384,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2146,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 10624,
          "x": 0,
          "y": -258,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2272,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 10624,
          "y": -384,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 10880,
          "x": -128,
          "y": -384,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "00f86cf3-18b0-4d71-9ce8-952dfc4e6b5c",
          "width": 10880,
          "x": -128,
          "y": 1440,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "b163a73d-5537-42d4-ae41-f7730fe33474",
          "width": 608,
          "x": 2432,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0fb1f571-ad8c-4699-8a75-4d26abccef98",
          "width": 582,
          "x": 2432,
          "y": 1301,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "6aac3982-ac94-4011-9c06-7b009202de0c",
          "width": 582,
          "x": 2432,
          "y": 1354,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e40798a1-92ae-4ae5-aa10-693a7366111e",
          "width": 582,
          "x": 2432,
          "y": 1459,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "00c03456-9cab-41c0-847a-f1b853379a44",
          "width": 582,
          "x": 2432,
          "y": 1407,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "78147bbe-8882-4792-bd98-0c10e6e0104b",
          "width": 582,
          "x": 2432,
          "y": 1512,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "4693ae8c-3321-465f-9442-fe3033ce17d2",
          "width": 582,
          "x": 2432,
          "y": 1565,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "efce10b0-e186-4576-a336-eea8e9ce1be4",
          "width": 582,
          "x": 2432,
          "y": 1671,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0dc23a85-ed6d-4042-b715-302cad98c16c",
          "width": 582,
          "x": 2432,
          "y": 1618,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "05436d04-ce0b-48a2-94e8-9da14bd884ce",
          "width": 582,
          "x": 2432,
          "y": 1777,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "2d97a9f1-d06e-4490-a5ec-0ef031191caa",
          "width": 582,
          "x": 2432,
          "y": 1830,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "9dde81b7-ef3c-409d-8a82-7a58f50e5d7f",
          "width": 582,
          "x": 2432,
          "y": 1935,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "d12c5fd6-eef4-41a7-ad9e-c5987b6e5ec0",
          "width": 582,
          "x": 2432,
          "y": 1882,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "b5a86ee9-a9b7-407e-91bc-e1c5813eb67a",
          "width": 582,
          "x": 2432,
          "y": 1988,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "49519b49-716c-4df8-beb8-caeeb4283537",
          "width": 582,
          "x": 2432,
          "y": 2041,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "9275da9a-2af9-4865-8769-d22ebb263731",
          "width": 582,
          "x": 2432,
          "y": 2147,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "5aba0275-93ef-4f65-8e5b-194748cc2dd0",
          "width": 582,
          "x": 2432,
          "y": 2094,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "5d9280d6-ec80-4d26-b789-28104a9eb7c7",
          "width": 582,
          "x": 2432,
          "y": 2200,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0b41652f-92cd-4e2a-8226-5a70548b0930",
          "width": 582,
          "x": 2432,
          "y": 2253,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "71f8441b-35ee-4dc0-895f-52e2dbfa3b24",
          "width": 582,
          "x": 2432,
          "y": 2305,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "d43fcce4-9f88-4fb9-bc85-a2b80e711008",
          "width": 582,
          "x": 2432,
          "y": 1724,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "f4a0c3bd-da28-44cf-baba-446b2c2a7874",
          "width": 608,
          "x": 3168,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "2c059dd0-7510-48cf-92a9-5387a5e92e4a",
          "width": 582,
          "x": 3168,
          "y": 1312,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "4a8ca7f3-6618-459d-bdb3-72ef2b17c14e",
          "width": 582,
          "x": 3168,
          "y": 1344,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "b06a5ee4-afbe-46e7-9b62-e06743a8dd18",
          "width": 582,
          "x": 3168,
          "y": 1472,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "3f94f514-c79e-4e1c-9d6e-736d916d5d32",
          "width": 582,
          "x": 3168,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "9342f16f-657a-4737-815e-e354105dde71",
          "width": 582,
          "x": 3168,
          "y": 1504,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "35a433ed-e83b-4785-b366-6ec9728a6c87",
          "width": 582,
          "x": 3168,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "d8ea2af0-7032-4190-86c4-9f8d41af89fe",
          "width": 582,
          "x": 3168,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "534bd277-6477-4ec4-ad3c-8c276649847c",
          "width": 582,
          "x": 3168,
          "y": 1632,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "5895ad0d-a024-4e98-bb44-803c2ebf67cf",
          "width": 582,
          "x": 3168,
          "y": 1792,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "19268bdf-287d-4298-b26e-f9d2f2eead4a",
          "width": 582,
          "x": 3168,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "a3a5ca73-976b-4a62-a13b-fbf8c13e8faf",
          "width": 582,
          "x": 3168,
          "y": 1952,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "39f05e97-8a65-41f0-bcc8-61b6c9efbc62",
          "width": 582,
          "x": 3168,
          "y": 1888,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "1b639df3-2ebf-475a-b559-9c741c0986f3",
          "width": 582,
          "x": 3168,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "cb115eef-665c-4f5f-a8ce-751604b862e8",
          "width": 582,
          "x": 3168,
          "y": 2048,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "1952633b-bdf8-4496-8d38-8d95a4ac4ab4",
          "width": 582,
          "x": 3168,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c41a80a1-6015-4f6c-94e0-b23437da850b",
          "width": 582,
          "x": 3168,
          "y": 2112,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "6bbcde05-4438-43ec-af59-f0dc6b2901ec",
          "width": 582,
          "x": 3168,
          "y": 2208,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "ad0cbefa-b9f2-4ac7-9ecf-01ce038926a8",
          "width": 582,
          "x": 3168,
          "y": 2272,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "a6236ce6-2ab0-4092-a0f2-36da87d219af",
          "width": 582,
          "x": 3168,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "1133d5fb-79d3-4da7-9f8a-afbf6cca319f",
          "width": 582,
          "x": 3168,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "db68047a-00f6-46c9-a89a-faa72e7a2519",
          "width": 608,
          "x": 3904,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "38bba4c5-987c-4200-b92f-b70065ed8eec",
          "width": 582,
          "x": 3904,
          "y": 1312,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "d849f45a-e43a-417e-873c-63b437e5d847",
          "width": 582,
          "x": 3904,
          "y": 1376,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "066a30ab-e2f8-4688-831f-702324086fe7",
          "width": 582,
          "x": 3904,
          "y": 1472,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "1ed9e06e-6390-4d2f-9401-5124346252f3",
          "width": 582,
          "x": 3904,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "2a3db769-8e43-475d-9210-34bb33f77cbb",
          "width": 582,
          "x": 3904,
          "y": 1536,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c8febbc8-40e8-42ce-b496-cdf6b78d8a84",
          "width": 582,
          "x": 3904,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "08b54adc-d36b-447b-8483-0e2ff4c06a2a",
          "width": 582,
          "x": 3904,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "ae52bd19-7b39-4b6b-9d8e-1e9f2bc3db6a",
          "width": 582,
          "x": 3904,
          "y": 1632,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0130c45f-7c96-4d2f-acee-154b75ce805c",
          "width": 582,
          "x": 3904,
          "y": 1792,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e7e47c8e-3f5b-415a-a027-c214f15d49ba",
          "width": 582,
          "x": 3904,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8341bd56-b6b1-4e01-af88-e062f8d3b4f6",
          "width": 582,
          "x": 3904,
          "y": 1952,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "46455974-4d3e-4701-ba8c-f159cef9ce3a",
          "width": 582,
          "x": 3904,
          "y": 1888,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "38bd045b-d27d-48f4-952d-029340b1a440",
          "width": 582,
          "x": 3904,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0606560c-d5eb-406b-8ea5-6569da240d82",
          "width": 582,
          "x": 3904,
          "y": 2048,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "ea80aada-d2d3-4ca6-96e6-ae1a0253c43a",
          "width": 582,
          "x": 3904,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "643ebf9c-a988-4bab-af34-017359551a21",
          "width": 582,
          "x": 3904,
          "y": 2112,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "460ef6fd-6ef9-4aa3-bb53-3e1c4fd9a919",
          "width": 582,
          "x": 3904,
          "y": 2208,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "cbd5f1ff-680d-4fa7-be9e-7ed618c594d6",
          "width": 582,
          "x": 3904,
          "y": 2272,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c9e5b6b7-11a2-4490-8514-4bdc89a64f91",
          "width": 582,
          "x": 3904,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "b96fa7dd-40b3-4d41-a2b9-7368f103d75e",
          "width": 582,
          "x": 3904,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "4a5245d4-2814-4b5a-801d-0cd4e19d874f",
          "width": 608,
          "x": 4960,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "f87b35da-e1b1-43d1-8050-c9152013ac89",
          "width": 582,
          "x": 4960,
          "y": 1312,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0434c6a4-b5a8-459a-a5eb-48b088c72987",
          "width": 582,
          "x": 4960,
          "y": 1344,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "bf7c391f-0512-4179-8474-71db0bad7457",
          "width": 582,
          "x": 4960,
          "y": 1472,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "38d548ab-da00-4b3e-9ea7-c759d6c8ac9d",
          "width": 582,
          "x": 4960,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "95e88906-e56f-4d1c-9753-a6191d266d03",
          "width": 582,
          "x": 4960,
          "y": 1504,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "7b35a4d9-94e0-4ed2-aa63-d1e1cb107b4b",
          "width": 582,
          "x": 4960,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "39662dc2-8a61-4ca4-bc43-85f304e55c3e",
          "width": 582,
          "x": 4960,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "97b1f05c-8a40-4b82-bd0f-c26578a66045",
          "width": 582,
          "x": 4960,
          "y": 1632,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "d5accad7-705f-4ee1-bf8f-a9180954e4f8",
          "width": 582,
          "x": 4960,
          "y": 1792,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "29d83d7d-1e24-4dda-a94f-9d8974c451a2",
          "width": 582,
          "x": 4960,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "3ca7432d-6bbf-4f86-9ea3-96cb5b49ad9a",
          "width": 582,
          "x": 4960,
          "y": 1952,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "7c2de24c-99ce-4b6d-9b20-ea78e5d10084",
          "width": 582,
          "x": 4960,
          "y": 1888,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c0527023-23f8-4d4f-9afd-22c3978a596a",
          "width": 582,
          "x": 4960,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "b770711d-b7ce-4bec-8d8c-0b640abd1e4d",
          "width": 582,
          "x": 4960,
          "y": 2048,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "86896be5-874d-4bd2-88ef-ebc4995979af",
          "width": 582,
          "x": 4960,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "4cb8d0eb-2f23-4dee-85d7-adc4fb2bb561",
          "width": 582,
          "x": 4960,
          "y": 2112,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "d51e5460-2545-4829-8876-751be95a9a52",
          "width": 582,
          "x": 4960,
          "y": 2208,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "4a2d42ec-7d9e-44cb-8926-f018704bff61",
          "width": 582,
          "x": 4960,
          "y": 2272,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "eb3807c1-eb2d-4aab-89d8-a12a31facb0a",
          "width": 582,
          "x": 4960,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8b537980-f686-4ac9-91a3-9334286eff00",
          "width": 582,
          "x": 4960,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "37785ce7-d509-4ce4-b44a-852fd5ca7d59",
          "width": 608,
          "x": 5696,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "db9cb7a1-eb8d-45db-95d8-a140360e3824",
          "width": 582,
          "x": 5696,
          "y": 1312,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c3dbe1d4-61a2-4c82-bdab-92c46f4090d1",
          "width": 582,
          "x": 5696,
          "y": 1376,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "7344ae5b-c831-4023-8134-654eba2d7b18",
          "width": 582,
          "x": 5696,
          "y": 1472,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "a3caa45d-fa48-4977-81d1-ec3e5c4fd900",
          "width": 582,
          "x": 5696,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "bee61718-acea-4461-a184-e36c3d282d19",
          "width": 582,
          "x": 5696,
          "y": 1536,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "297a56c3-facf-4be9-ab8a-0041065fa50e",
          "width": 582,
          "x": 5696,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "ca68d10b-7b5b-4ff4-abc9-f669d44f5547",
          "width": 582,
          "x": 5696,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "919d59dc-a93d-45f6-b54f-d485b089e400",
          "width": 582,
          "x": 5696,
          "y": 1632,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "18fa3c6c-bcb4-40de-ba48-31e04b842bfe",
          "width": 582,
          "x": 5696,
          "y": 1792,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "ceca3e30-087f-4335-b709-5fdfabb13eb5",
          "width": 582,
          "x": 5696,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "d045b585-d43a-40fc-8804-b7552bb1633d",
          "width": 582,
          "x": 5696,
          "y": 1952,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8f5036bb-d555-4cb3-9d72-b2bf744ec01a",
          "width": 582,
          "x": 5696,
          "y": 1888,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "7b7e0edc-e5cf-441a-b215-4505cc1e8848",
          "width": 582,
          "x": 5696,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "bbb23b4f-8b9c-47dd-abfe-12c2af80e5da",
          "width": 582,
          "x": 5696,
          "y": 2048,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c6341e90-636f-4015-8d13-89719f9c142a",
          "width": 582,
          "x": 5696,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "3e218180-6a6d-4796-a4ed-f286d4696db0",
          "width": 582,
          "x": 5696,
          "y": 2112,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "29c47ebc-2b75-4242-9385-3c97c6210ee5",
          "width": 582,
          "x": 5696,
          "y": 2208,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0fc3476f-820c-4268-aef0-df276e6b5bd4",
          "width": 582,
          "x": 5696,
          "y": 2272,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "70d91c1b-2cb4-46d1-9d27-8974c28b8afc",
          "width": 582,
          "x": 5696,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "103c03d9-ed69-422c-b1fc-deb04be0225c",
          "width": 582,
          "x": 5696,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "7c6ae336-0a44-4b1c-8d48-45f98636d977",
          "width": 256,
          "x": 1500,
          "y": 852,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "PortalToMountains",
          "persistentUuid": "b69802ee-04cd-4ff6-8adc-b1815857b983",
          "width": 256,
          "x": 1500,
          "y": 788,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "a5555f79-84ab-4038-bbc1-b73a6a03f571",
          "width": 0,
          "x": 0,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "112bd23e-496e-4738-b7c0-304fe829a983",
          "width": 0,
          "x": 512,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "34b7cd40-31c9-422b-983f-9bce16789ec8",
          "width": 0,
          "x": 1536,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "278787e8-b26b-4373-b591-c2e9edcca692",
          "width": 0,
          "x": 1024,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "01c7dab2-ab2e-4c03-9a23-c79400a7fc3d",
          "width": 0,
          "x": 2560,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "fdb102c5-0e72-437b-8247-ddc007335348",
          "width": 0,
          "x": 2048,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "d5e52265-acc8-428e-bfe9-ff14773a802a",
          "width": 0,
          "x": 3584,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "453c35c5-d1a5-4c4e-933c-a79567c600e9",
          "width": 0,
          "x": 3072,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "86d48ce7-5152-4045-a7eb-fb2426f443b4",
          "width": 0,
          "x": 5632,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "1fee5612-894e-4bac-8944-1cee30492b79",
          "width": 0,
          "x": 5120,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "fd4c0ff4-addc-49c9-8c9d-b8b3300bfffa",
          "width": 0,
          "x": 4608,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "a6e15eb5-bf79-45fa-9a06-a3b779f3957f",
          "width": 0,
          "x": 4096,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "d55be843-0736-4a5c-9dbe-85c8e54ccb35",
          "width": 256,
          "x": 288,
          "y": 864,
          "zOrder": 10003,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "650365e4-8efa-4898-acb9-53436e86c24c",
          "width": 0,
          "x": 8192,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "d6a74630-ca9e-4e61-a23b-761673d21ed4",
          "width": 0,
          "x": 7680,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "c221d0ea-ed0c-40b5-b902-29d78fc6bc82",
          "width": 0,
          "x": 7168,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "0df22ee7-8c09-441c-9d8c-feb15da0ae08",
          "width": 0,
          "x": 6656,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "e92819ab-d7aa-4aab-bc9e-6754f212a269",
          "width": 0,
          "x": 6144,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "5141c7cf-d00c-4e0f-bbeb-b327ae2f323c",
          "width": 0,
          "x": 8704,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "InteractPrompt",
          "persistentUuid": "59affac7-1e71-471c-aed4-d656fc72688b",
          "width": 128,
          "x": 2500,
          "y": 640,
          "zOrder": 10004,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "d8c32b91-64bb-4169-871c-02c304178e9d",
          "width": 256,
          "x": 2250,
          "y": 845,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToForest",
          "persistentUuid": "a329426d-c6d0-4f34-9d7d-751eda3fb428",
          "width": 256,
          "x": 2250,
          "y": 768,
          "zOrder": 10005,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToBeach",
          "persistentUuid": "0976c538-4475-44a1-94e1-38a84fadfd9a",
          "width": 256,
          "x": 3000,
          "y": 768,
          "zOrder": 10006,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "2a75766f-8a51-4ef0-a7b4-8bf8e9eee816",
          "width": 256,
          "x": 3000,
          "y": 845,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToLivingRoom",
          "persistentUuid": "97f29ecf-4142-4009-9453-21f774a43c91",
          "width": 256,
          "x": 3750,
          "y": 768,
          "zOrder": 10007,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "421e049f-88b3-4853-a58c-97c5706fc686",
          "width": 256,
          "x": 3750,
          "y": 842,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToSchool",
          "persistentUuid": "0e8f32cd-dc79-42e0-a9ec-cb702c364ef1",
          "width": 256,
          "x": 4500,
          "y": 768,
          "zOrder": 10008,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "af6057c3-6d81-4884-82b5-a9aaae696298",
          "width": 256,
          "x": 4500,
          "y": 842,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToOcean",
          "persistentUuid": "4a1df76a-7e6c-467d-b96d-57dbbfa71187",
          "width": 256,
          "x": 5250,
          "y": 768,
          "zOrder": 10009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "1c47e3a0-79ce-4284-b2eb-e5c339323c13",
          "width": 256,
          "x": 5250,
          "y": 842,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "1880cfff-e3ce-42e4-93b2-731c847b75cb",
          "width": 608,
          "x": 6656,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0f48bd80-9ce3-4291-a89c-ebf5ffe4770a",
          "width": 582,
          "x": 6656,
          "y": 1280,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "177d03c8-1b76-47c6-9319-cbc25ef69b26",
          "width": 582,
          "x": 6656,
          "y": 1344,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "5bb5a551-4ade-45fa-8c8b-733b8c06fa6f",
          "width": 582,
          "x": 6656,
          "y": 1440,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "ea80fa66-1e5c-422f-bf1b-5a25b387610c",
          "width": 582,
          "x": 6656,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "872e23f3-1df6-4168-8922-d57da387b8fb",
          "width": 582,
          "x": 6656,
          "y": 1504,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "f93d7077-b6bd-4b80-923c-0320eba59fe0",
          "width": 582,
          "x": 6656,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "fab24e61-0ee7-4a0a-b9e5-30cdeffc897b",
          "width": 582,
          "x": 6656,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "a4a4b40c-8d28-4125-970e-5e485c1bfd80",
          "width": 582,
          "x": 6656,
          "y": 1600,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "941bc1eb-1191-4827-a0f3-d2d00d027f5f",
          "width": 582,
          "x": 6656,
          "y": 1760,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e968c5d3-00ff-4c68-a3bb-17a50e9592ab",
          "width": 582,
          "x": 6656,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "deca1769-4fa8-407d-b3bf-aa1a2a8e21db",
          "width": 582,
          "x": 6656,
          "y": 1920,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "bf93047c-b8e4-4843-9d4a-8c5823579414",
          "width": 582,
          "x": 6656,
          "y": 1856,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "f6b0bce7-66e1-4b33-905d-22cc9096b931",
          "width": 582,
          "x": 6656,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "a8d973f9-273b-4d72-bd3d-1e6f401770ee",
          "width": 582,
          "x": 6656,
          "y": 2016,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "09af6c26-bf59-4091-9b66-77878a10acb0",
          "width": 582,
          "x": 6656,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "094dde6c-4157-4e3a-9f91-3ea8f1b581bc",
          "width": 582,
          "x": 6656,
          "y": 2080,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e983fd82-61a0-4b71-9179-daa74f352a98",
          "width": 582,
          "x": 6656,
          "y": 2176,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "bad94997-fa3e-4bae-8025-12a93bf1979d",
          "width": 582,
          "x": 6656,
          "y": 2240,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "65f94578-92e4-44cf-b761-f04dbf5f9586",
          "width": 582,
          "x": 6656,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "63040f2e-a110-4f05-b2f8-1975d8dd39dc",
          "width": 582,
          "x": 6656,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "dc59f25b-5f10-4903-ba88-6a39dc997375",
          "width": 608,
          "x": 7392,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "62378965-ada0-42e9-9525-309958fa1cef",
          "width": 582,
          "x": 7392,
          "y": 1312,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "2fcbf4ae-62d6-4e36-ad07-8ec03590d797",
          "width": 582,
          "x": 7392,
          "y": 1344,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "9f3ffb47-2318-4db5-9aaa-9750228bc5a4",
          "width": 582,
          "x": 7392,
          "y": 1472,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "03478351-729d-445e-b7ae-3de7b710d8d3",
          "width": 582,
          "x": 7392,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "bfcd59d3-9f06-4478-8545-6a6dc67e932e",
          "width": 582,
          "x": 7392,
          "y": 1504,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "3faa9299-f59e-485f-a023-0bb9041c6307",
          "width": 582,
          "x": 7392,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8095caff-0d89-4600-b712-da2ea85ebff6",
          "width": 582,
          "x": 7392,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "bd80b2d3-4e11-4263-ab78-eadfb3bde754",
          "width": 582,
          "x": 7392,
          "y": 1632,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "23ac62c7-b992-4e09-8844-a30bca5e6971",
          "width": 582,
          "x": 7392,
          "y": 1792,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e010f744-6cfb-45e1-ac92-95118dbbcb82",
          "width": 582,
          "x": 7392,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c422c043-31ea-4cd2-96c9-07fccb6dee57",
          "width": 582,
          "x": 7392,
          "y": 1952,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "02496df5-7f1e-438e-9e8b-5d3b8fb3274c",
          "width": 582,
          "x": 7392,
          "y": 1888,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "03055c00-c3a7-4027-9051-115277b1f906",
          "width": 582,
          "x": 7392,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "9cf743a3-e17b-4d40-bb5a-d48e3888b33e",
          "width": 582,
          "x": 7392,
          "y": 2048,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "f2bca92b-7bfa-4864-bba5-cf46a6e8631b",
          "width": 582,
          "x": 7392,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "dc3ef30a-351c-4f2d-bea0-7220cb8881aa",
          "width": 582,
          "x": 7392,
          "y": 2112,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "6e012cea-c07f-4fe4-b44b-d03f0a4fec53",
          "width": 582,
          "x": 7392,
          "y": 2208,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "7d8113f8-5efc-4da0-8573-5ea33e71feb3",
          "width": 582,
          "x": 7392,
          "y": 2272,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "5f6dc5d8-34be-41a6-a842-67ec43731a1d",
          "width": 582,
          "x": 7392,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c051f224-7012-4221-94df-86d9b0e5c0f3",
          "width": 582,
          "x": 7392,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "988df219-a5f5-480b-b375-6558f95f7134",
          "width": 608,
          "x": 8128,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "5dda2cdc-e1e0-4df3-9b00-5687cc0e7015",
          "width": 582,
          "x": 8128,
          "y": 1312,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8770897a-eaba-4e3c-bafb-8181f4226d55",
          "width": 582,
          "x": 8128,
          "y": 1376,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "6491869d-4860-4426-b9fd-f5bb152eace9",
          "width": 582,
          "x": 8128,
          "y": 1472,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "eb8c3c66-bf36-4f42-8a21-54aa576debd2",
          "width": 582,
          "x": 8128,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "ba2b1ae6-5bb8-424a-9f4b-35761d9a98c7",
          "width": 582,
          "x": 8128,
          "y": 1536,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "991daf2b-ba19-4595-b224-f276ca5a0502",
          "width": 582,
          "x": 8128,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "dd4c3a0e-8a8a-4bc7-8d70-ccea03494fbf",
          "width": 582,
          "x": 8128,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "87ecaf99-0844-47f6-b62e-a71bd340b4cb",
          "width": 582,
          "x": 8128,
          "y": 1632,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "7f7fa8e3-97fa-4018-a112-c96a2e2d974c",
          "width": 582,
          "x": 8128,
          "y": 1792,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "eefd0bef-1a37-4a1f-88ee-046c071a943c",
          "width": 582,
          "x": 8128,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "3c9c2bc4-3682-4618-860a-4ac5deb1103d",
          "width": 582,
          "x": 8128,
          "y": 1952,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "13c60f2d-95a4-4453-b830-017f27fde7f4",
          "width": 582,
          "x": 8128,
          "y": 1888,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "b35269e7-42ca-4e05-a5d5-e8da860efbe6",
          "width": 582,
          "x": 8128,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e08e9e55-902c-4806-9244-11f9d8e4b8fb",
          "width": 582,
          "x": 8128,
          "y": 2048,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "7691ec6a-d7fd-423f-b08c-2d466db6b86e",
          "width": 582,
          "x": 8128,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "a828a78f-6e42-4bc0-9393-3dc4a7d4c02f",
          "width": 582,
          "x": 8128,
          "y": 2112,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "747f1517-41d8-4b9a-87a7-9474efbbc739",
          "width": 582,
          "x": 8128,
          "y": 2208,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0855437d-21de-44ae-b643-2bb3d3ec7ed1",
          "width": 582,
          "x": 8128,
          "y": 2272,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e62229e0-af71-4c03-8a6c-72cdba094f08",
          "width": 582,
          "x": 8128,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "9042b011-c73f-43d1-9a1f-c15b6303491f",
          "width": 582,
          "x": 8128,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "ef9521ac-a458-4f2c-b89f-3e3f75a02b90",
          "width": 608,
          "x": 576,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "78aa27c9-d38e-42a6-a182-e1933dfd7bca",
          "width": 582,
          "x": 576,
          "y": 1312,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c87a3c9a-25a7-4ad9-bdca-7e2e7ee41790",
          "width": 582,
          "x": 576,
          "y": 1344,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c4258261-2d42-44cd-9b80-05a5b355e98a",
          "width": 582,
          "x": 576,
          "y": 1472,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "888c47bd-0347-40f3-8d83-62fb9a7535d0",
          "width": 582,
          "x": 576,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8cba2b12-35bc-46ee-aa8d-499bd20ec7ac",
          "width": 582,
          "x": 576,
          "y": 1504,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "4b5576dd-4ba0-4290-9e0b-d370eff6e0b0",
          "width": 582,
          "x": 576,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "06a6e79b-9916-4ddb-b037-dc90559b140c",
          "width": 582,
          "x": 576,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "f202d083-0386-4094-83cf-ac26e05b6d8d",
          "width": 582,
          "x": 576,
          "y": 1632,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0b2f2e7e-1488-435a-bb8e-407033851fd6",
          "width": 582,
          "x": 576,
          "y": 1792,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8b31dc96-8a03-4756-94ea-29776d94067e",
          "width": 582,
          "x": 576,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "7d28dd22-b658-483c-992b-7999be97b4dd",
          "width": 582,
          "x": 576,
          "y": 1952,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8a57919d-b17d-48af-8410-39108f7597a7",
          "width": 582,
          "x": 576,
          "y": 1888,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "2b56c56a-0da2-4179-a289-d86dd0caa730",
          "width": 582,
          "x": 576,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "72820f46-db7b-49da-945c-8f7537d8b0a6",
          "width": 582,
          "x": 576,
          "y": 2048,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c6be6c95-8838-493f-82b9-7f5176f525e1",
          "width": 582,
          "x": 576,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "ba90aa67-659c-4b82-bd2d-e00e4bfe6b36",
          "width": 582,
          "x": 576,
          "y": 2112,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "5517bb63-89ae-40de-a795-3cece0a8b9f4",
          "width": 582,
          "x": 576,
          "y": 2208,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "37da8d1b-2783-44d0-88a2-469499bbf906",
          "width": 582,
          "x": 576,
          "y": 2272,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "705a9128-e318-40d0-ab74-d0295fdce17e",
          "width": 582,
          "x": 576,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "2440bc0e-4c45-46c0-b800-1f4316beff6f",
          "width": 582,
          "x": 576,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "83967d07-4808-4b7a-9784-6e5b55c7eff4",
          "width": 608,
          "x": 1312,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "5a139087-8cfb-4e01-b305-f1cf75179fbe",
          "width": 582,
          "x": 1312,
          "y": 1312,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "da1e23b2-7bd6-4238-8355-f0ce7bd9ea95",
          "width": 582,
          "x": 1312,
          "y": 1376,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "6f79323f-dd8e-4f6a-829c-7755912a609d",
          "width": 582,
          "x": 1312,
          "y": 1472,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8211c904-f692-4619-9082-b4599e63ac09",
          "width": 582,
          "x": 1312,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "d9ebdbbb-ef07-4a15-9f73-507134ad1849",
          "width": 582,
          "x": 1312,
          "y": 1536,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c07e6f2a-f2b2-4ef0-af93-2af356c22cec",
          "width": 582,
          "x": 1312,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "35395445-0399-488c-b41e-49e65d53428b",
          "width": 582,
          "x": 1312,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "379af850-5f47-4191-a05f-4f8ba8734e33",
          "width": 582,
          "x": 1312,
          "y": 1632,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8106bc70-ee39-43c4-9f43-54ff48e7392b",
          "width": 582,
          "x": 1312,
          "y": 1792,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "f2e70e85-a901-40a3-9149-74df05ea9f3a",
          "width": 582,
          "x": 1312,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "725b8357-927e-4d27-8d5d-d4b24ded40d8",
          "width": 582,
          "x": 1312,
          "y": 1952,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "006eb85f-ea2b-4d62-a5b3-0308dbbfb7a3",
          "width": 582,
          "x": 1312,
          "y": 1888,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "eb37a956-4542-46f5-a51b-5efaf470c0c3",
          "width": 582,
          "x": 1312,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "3016a555-a35e-4055-80ee-ed88c6690a92",
          "width": 582,
          "x": 1312,
          "y": 2048,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "6c650a8e-9a4d-4b60-b566-f0b4f5125e86",
          "width": 582,
          "x": 1312,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "6f945eaf-ef16-420a-b5ba-a05f3d110814",
          "width": 582,
          "x": 1312,
          "y": 2112,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "bcf21d2c-6280-43e4-a375-49f97bc16fbe",
          "width": 582,
          "x": 1312,
          "y": 2208,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "56891171-d678-45b5-a549-8f12902a08d7",
          "width": 582,
          "x": 1312,
          "y": 2272,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "057b2a90-6ffb-4a41-befb-eb9ef200c29c",
          "width": 582,
          "x": 1312,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "297bdbb2-ff1c-4884-8ce2-064627cebace",
          "width": 582,
          "x": 1312,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "eaf3a661-27b2-4c19-a019-5353a58884fc",
          "width": 256,
          "x": 6000,
          "y": 842,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToBlockWorld",
          "persistentUuid": "74ee750b-1f35-43c2-9c24-428d2bdb62c1",
          "width": 256,
          "x": 6750,
          "y": 768,
          "zOrder": 10010,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "1f0962b4-c54a-4cb6-8d56-83f19942d6f2",
          "width": 256,
          "x": 6750,
          "y": 842,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToWhimsicalTree",
          "persistentUuid": "dd66063e-4b35-42f8-b62f-bce74bba3165",
          "width": 256,
          "x": 6000,
          "y": 768,
          "zOrder": 10011,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "1a5a7547-50c4-453e-966d-d6be39b5357d",
          "width": 256,
          "x": 7500,
          "y": 842,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToTangentHell",
          "persistentUuid": "38c89f88-ceea-4136-a01e-1f3d50985f8b",
          "width": 256,
          "x": 7500,
          "y": 768,
          "zOrder": 10012,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "e69e8801-6a41-4aca-9e24-532443b016ac",
          "width": 256,
          "x": 8250,
          "y": 842,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToRecursion",
          "persistentUuid": "84b64eee-8db9-429b-9897-51a6f8099af8",
          "width": 256,
          "x": 8250,
          "y": 768,
          "zOrder": 10013,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "PortalToRecursion",
          "persistentUuid": "92a281ff-7093-4752-962a-9b2e055c1e95",
          "width": 128,
          "x": 8314,
          "y": 832,
          "zOrder": 10013,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 64,
          "layer": "",
          "name": "PortalToRecursion",
          "persistentUuid": "60a3c255-afb5-4384-a75a-b12320ed09ce",
          "width": 64,
          "x": 8346,
          "y": 864,
          "zOrder": 10013,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 32,
          "layer": "",
          "name": "PortalToRecursion",
          "persistentUuid": "787b099f-545b-496b-9c56-9c09977c6c13",
          "width": 32,
          "x": 8362,
          "y": 880,
          "zOrder": 10013,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "99b20928-4d8c-4641-98a9-5467e6d739c0",
          "width": 0,
          "x": 9216,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "4697e7bb-f6ca-484d-8a6c-d58442b01a9d",
          "width": 0,
          "x": 10240,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "MindscapeFloor",
          "persistentUuid": "d2b9fa1f-16cc-4bba-a5bd-f428f5b5b88e",
          "width": 0,
          "x": 9728,
          "y": 1184,
          "zOrder": 10002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "6a5f31fc-9ab3-4847-8496-288876b35700",
          "width": 256,
          "x": 9000,
          "y": 842,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToLinux",
          "persistentUuid": "986c1d61-d7e2-4d1f-9f17-f138f8dea480",
          "width": 256,
          "x": 9000,
          "y": 768,
          "zOrder": 10014,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 378,
          "layer": "",
          "name": "MemoryHolder",
          "persistentUuid": "c577ead0-4299-4160-9c89-1c47073f6790",
          "width": 256,
          "x": 9750,
          "y": 842,
          "zOrder": 0,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 256,
          "layer": "",
          "name": "PortalToBoss",
          "persistentUuid": "b6cb0119-2254-4c77-b0d4-6139d78e8fb5",
          "width": 256,
          "x": 9750,
          "y": 768,
          "zOrder": 10015,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "538ebc18-1102-4547-86e5-2ef0e13f57bd",
          "width": 608,
          "x": 9120,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "ac41db02-3f7e-4bd2-917d-8110ee8b2596",
          "width": 582,
          "x": 9120,
          "y": 1312,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "9e84f925-fb31-4baa-ae2a-02d572c5b284",
          "width": 582,
          "x": 9120,
          "y": 1344,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "a87c493a-a3df-4ec0-804e-e6183354e1f9",
          "width": 582,
          "x": 9120,
          "y": 1472,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "9c8f79f7-3156-47b9-a72d-7ade57fab1f0",
          "width": 582,
          "x": 9120,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "f8535184-2cb6-450f-8304-ee410476f37b",
          "width": 582,
          "x": 9120,
          "y": 1504,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "478a9675-6794-48b0-8209-015384b7c8c7",
          "width": 582,
          "x": 9120,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "2801511f-3daf-45c4-83c0-7dbc94f73999",
          "width": 582,
          "x": 9120,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "bee9627f-308d-49a2-afac-51f09e7a9274",
          "width": 582,
          "x": 9120,
          "y": 1632,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "8fd505bf-7b70-4460-b3b8-1c578832138b",
          "width": 582,
          "x": 9120,
          "y": 1792,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "4e0f7f65-9440-453a-bf6a-9251b9b3ab1a",
          "width": 582,
          "x": 9120,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "78ba35ee-fa74-4932-951b-3281434fd145",
          "width": 582,
          "x": 9120,
          "y": 1952,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "ad713b85-1721-4217-bd36-d766d86c6fe4",
          "width": 582,
          "x": 9120,
          "y": 1888,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "53b5855c-71d8-471c-be83-137b1fcf352f",
          "width": 582,
          "x": 9120,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "5cfd3cb0-2ace-4734-b61a-aac36ea1e647",
          "width": 582,
          "x": 9120,
          "y": 2048,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "f28d59bd-c9e4-41d0-ae72-3db8cbf0fff1",
          "width": 582,
          "x": 9120,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e65e8096-3684-48a5-82df-a138d41ce229",
          "width": 582,
          "x": 9120,
          "y": 2112,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "9fc74c75-0e76-4c74-8460-e8a3c7dcf3c7",
          "width": 582,
          "x": 9120,
          "y": 2208,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "987fd255-a9c1-4df2-8c5f-9b249f31de2f",
          "width": 582,
          "x": 9120,
          "y": 2272,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "7db4c1bb-bb26-4173-8591-289e0084c9f3",
          "width": 582,
          "x": 9120,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e5d7f7cc-06be-41a2-aad8-6e3d63557e99",
          "width": 582,
          "x": 9120,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 1216,
          "layer": "",
          "name": "ServerRack",
          "persistentUuid": "2993405a-17e7-4d7b-b706-08688a7734fd",
          "width": 608,
          "x": 9856,
          "y": 1248,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "4b476895-6b5c-4b3f-ba26-2b7cf90e999c",
          "width": 582,
          "x": 9856,
          "y": 1312,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e0785c09-c1bc-497f-a2a3-734eeed45bcf",
          "width": 582,
          "x": 9856,
          "y": 1376,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "10b865d4-bddf-4751-8321-f8e097f02704",
          "width": 582,
          "x": 9856,
          "y": 1472,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "9f8378be-0e6c-4241-830a-4ded0d588531",
          "width": 582,
          "x": 9856,
          "y": 1408,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "1a3612c8-d8ba-48ee-bdd7-c0db9420f9ac",
          "width": 582,
          "x": 9856,
          "y": 1536,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "85af3d9b-044d-4702-988b-0ecb43fcba66",
          "width": 582,
          "x": 9856,
          "y": 1568,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "a45076c2-6a2c-47e2-a5bb-c79cbc0cf7e7",
          "width": 582,
          "x": 9856,
          "y": 1664,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "6b2c04f9-ec8e-4e15-a46e-34632988c0f5",
          "width": 582,
          "x": 9856,
          "y": 1632,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "cc2b4d99-9e9c-4413-a072-ecd64a512a38",
          "width": 582,
          "x": 9856,
          "y": 1792,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0b88ff7b-6c23-4156-8bbb-c88af941e549",
          "width": 582,
          "x": 9856,
          "y": 1824,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "bb0d513a-e327-4665-b648-a29c179261a7",
          "width": 582,
          "x": 9856,
          "y": 1952,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "a7cc3068-81ec-4974-a448-06a41b82213c",
          "width": 582,
          "x": 9856,
          "y": 1888,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "0de39c41-4fb6-4d19-94bb-5e02d1f3b9b0",
          "width": 582,
          "x": 9856,
          "y": 1984,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c8a4e34f-8d57-4fbd-acc4-a66097466d30",
          "width": 582,
          "x": 9856,
          "y": 2048,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "e5a00fdd-7b52-474d-854f-453c3d143276",
          "width": 582,
          "x": 9856,
          "y": 2144,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "af17bbf7-02b1-489f-860c-f1714a0fd1de",
          "width": 582,
          "x": 9856,
          "y": 2112,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "a090facb-b651-462f-b02d-07361a76dc39",
          "width": 582,
          "x": 9856,
          "y": 2208,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "c7d1fbbe-2e72-4a1c-8d57-43f96717a05e",
          "width": 582,
          "x": 9856,
          "y": 2272,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "f88b643e-16b2-4ea5-b0b7-65e8c775f4b0",
          "width": 582,
          "x": 9856,
          "y": 2304,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 2,
          "height": 145,
          "layer": "",
          "name": "Server",
          "persistentUuid": "aaaf58a4-59bf-43c7-8843-1397e9bfdd94",
          "width": 582,
          "x": 9856,
          "y": 1728,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "AssetDev/Backgrounds/Infrastructure/Infrastructure.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "OldFilm",
              "name": "FilmNoise",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.5,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Brightness",
              "name": "Darken",
              "doubleParameters": {
                "brightness": 0.4
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "ServerRack",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Brightness",
              "name": "Darken",
              "doubleParameters": {
                "brightness": 0.4
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.4,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Decorations/ServerRack/Rack_1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 6,
                            "y": 32
                          },
                          {
                            "x": 1009,
                            "y": 32
                          },
                          {
                            "x": 1009,
                            "y": 2029
                          },
                          {
                            "x": 6,
                            "y": 2029
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Decorations/ServerRack/Rack_2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 6,
                            "y": 32
                          },
                          {
                            "x": 1009,
                            "y": 32
                          },
                          {
                            "x": 1009,
                            "y": 2029
                          },
                          {
                            "x": 6,
                            "y": 2029
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "Server",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Brightness",
              "name": "Darken",
              "doubleParameters": {
                "brightness": 0.4
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.4,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Decorations/Server/Server_1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 82,
                            "y": 33
                          },
                          {
                            "x": 915,
                            "y": 33
                          },
                          {
                            "x": 915,
                            "y": 165
                          },
                          {
                            "x": 82,
                            "y": 165
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Decorations/Server/Server_2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 82,
                            "y": 33
                          },
                          {
                            "x": 915,
                            "y": 33
                          },
                          {
                            "x": 915,
                            "y": 165
                          },
                          {
                            "x": 82,
                            "y": 165
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "MemoryHolder",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Brightness",
              "name": "Effect",
              "doubleParameters": {
                "brightness": 0.6
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.4,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Decorations/MemoryHolder/MemoryHolder_1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 30,
                            "y": 262
                          },
                          {
                            "x": 478,
                            "y": 262
                          },
                          {
                            "x": 478,
                            "y": 996
                          },
                          {
                            "x": 30,
                            "y": 996
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Decorations/MemoryHolder/MemoryHolder_2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 30,
                            "y": 262
                          },
                          {
                            "x": 478,
                            "y": 262
                          },
                          {
                            "x": 478,
                            "y": 996
                          },
                          {
                            "x": 30,
                            "y": 996
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToMountains",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Mountains1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 13,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 13,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Mountains2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 13,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 13,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Mountains3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 13,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 13,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Mountains4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 13,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 13,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Mountains3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 13,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 13,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Mountains2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 13,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 13,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "MindscapeFloor",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Brightness",
              "name": "Effect",
              "doubleParameters": {
                "brightness": 0.6
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [
            {
              "name": "Platform",
              "type": "PlatformBehavior::PlatformBehavior",
              "canBeGrabbed": true,
              "platformType": "NormalPlatform",
              "yGrabOffset": 0
            }
          ],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.4,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Platforms/MindscapeFloor/MindscapeFloor_1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 0,
                            "y": 21
                          },
                          {
                            "x": 512,
                            "y": 21
                          },
                          {
                            "x": 512,
                            "y": 41
                          },
                          {
                            "x": 0,
                            "y": 41
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Platforms/MindscapeFloor/MindscapeFloor_2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 0,
                            "y": 21
                          },
                          {
                            "x": 512,
                            "y": 21
                          },
                          {
                            "x": 512,
                            "y": 41
                          },
                          {
                            "x": 0,
                            "y": 41
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "InteractPrompt",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "CRT",
              "name": "Lines",
              "doubleParameters": {
                "animationFrequency": 0,
                "animationSpeed": 1,
                "curvature": 1,
                "lineContrast": 0.25,
                "lineWidth": 1,
                "noise": 0.3,
                "noiseSize": 0,
                "padding": 0,
                "vignetting": 0.3,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {
                "verticalLine": false
              }
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Sinage/TutorialKeys/TutorialKeys_E.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 0,
                            "y": 10
                          },
                          {
                            "x": 1013,
                            "y": 10
                          },
                          {
                            "x": 1013,
                            "y": 1010
                          },
                          {
                            "x": 0,
                            "y": 1010
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToForest",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Forest1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Forest2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Forest3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Forest4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Forest3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Forest2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToBeach",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Beach1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Beach2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Beach3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Beach4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Beach3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Beach2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToLivingRoom",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_LivingRoom1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 11,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 11,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_LivingRoom2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 11,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 11,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_LivingRoom3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 11,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 11,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_LivingRoom4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 11,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 11,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_LivingRoom3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 11,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 11,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_LivingRoom2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 11,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 11,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToSchool",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_School1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_School2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_School3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_School4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_School3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_School2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToOcean",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Ocean1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 24,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 24,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Ocean2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 24,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 24,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Ocean3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 24,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 24,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Ocean4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 24,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 24,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Ocean3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 24,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 24,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev/Memories/Memories_Ocean2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 24,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 24,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToBlockWorld",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_BlockWorld1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_BlockWorld2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_BlockWorld3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_BlockWorld4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_BlockWorld3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_BlockWorld2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 57
                          },
                          {
                            "x": 986,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToWhimsicalTree",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_WhimsicalTree1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 0,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 916
                          },
                          {
                            "x": 0,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_WhimsicalTree2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 0,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 916
                          },
                          {
                            "x": 0,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_WhimsicalTree3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 0,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 916
                          },
                          {
                            "x": 0,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_WhimsicalTree4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 0,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 916
                          },
                          {
                            "x": 0,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_WhimsicalTree3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 0,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 916
                          },
                          {
                            "x": 0,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_WhimsicalTree2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 0,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 57
                          },
                          {
                            "x": 1001,
                            "y": 916
                          },
                          {
                            "x": 0,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToTangentHell",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToRecursion",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_TangentHell2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToLinux",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Linux1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Linux2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Linux3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Linux4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Linux3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Linux2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "PortalToBoss",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 2,
                "outerStrength": 4
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "RGBSplit",
              "name": "Effect2",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 5,
                "greenX": 0,
                "greenY": 0,
                "redX": -5,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": true,
                  "timeBetweenFrames": 0.2,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Boss1.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Boss2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Boss3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Boss4.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Boss3.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    },
                    {
                      "hasCustomCollisionMask": true,
                      "image": "AssetDev\\Memories\\Memories_Boss2.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 57
                          },
                          {
                            "x": 976,
                            "y": 916
                          },
                          {
                            "x": 27,
                            "y": 916
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "folderName": "Portals",
            "children": [
              {
                "objectName": "PortalToMountains"
              },
              {
                "objectName": "PortalToForest"
              },
              {
                "objectName": "PortalToBeach"
              },
              {
                "objectName": "PortalToLivingRoom"
              },
              {
                "objectName": "PortalToSchool"
              },
              {
                "objectName": "PortalToOcean"
              },
              {
                "objectName": "PortalToWhimsicalTree"
              },
              {
                "objectName": "PortalToBlockWorld"
              },
              {
                "objectName": "PortalToTangentHell"
              },
              {
                "objectName": "PortalToRecursion"
              },
              {
                "objectName": "PortalToLinux"
              },
              {
                "objectName": "PortalToBoss"
              }
            ]
          },
          {
            "objectName": "BackgroundPlants"
          },
          {
            "objectName": "ServerRack"
          },
          {
            "objectName": "Server"
          },
          {
            "objectName": "MemoryHolder"
          },
          {
            "objectName": "MindscapeFloor"
          },
          {
            "objectName": "InteractPrompt"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "folded": true,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "folded": true,
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level1\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Tutorial\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "folded": true,
          "name": "Portal Interaction Handlers",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "Cache"
                  },
                  "parameters": [
                    "InteractPrompt"
                  ]
                }
              ]
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "Mountain Portal (Tutorial)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToMountains",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToMountains.X() + PortalToMountains.Width()/4",
                            "=",
                            "PortalToMountains.Y() - (PortalToMountains.Height()/3)*2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Tutorial\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "Forest Portal (Level 1)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToForest",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToForest.X() + PortalToForest.Width()/4",
                            "=",
                            "PortalToForest.Y() - (PortalToForest.Height()/3)*2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level1\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "Beach Portal (Level 2)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToBeach",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToBeach.X() + PortalToBeach.Width()/4",
                            "=",
                            "PortalToBeach.Y() - (PortalToBeach.Height()/3)*2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level2\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "Living Room Portal (Level 3)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToLivingRoom",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToLivingRoom.X() + PortalToLivingRoom.Width()/4",
                            "=",
                            "PortalToLivingRoom.Y() - (PortalToLivingRoom.Height()/3)*2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level3\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "Ocean Portal (Level 4)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToOcean",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToOcean.X() + PortalToOcean.Width()/4",
                            "=",
                            "PortalToOcean.Y() - (PortalToOcean.Height()/3)*2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level4\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "School Portal (Level 5)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToSchool",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToSchool.X() + PortalToSchool.Width()/4",
                            "=",
                            "PortalToSchool.Y() - (PortalToSchool.Height()/3)*2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level5\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "Whimsical Tree Portal (Level 6)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToWhimsicalTree",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToWhimsicalTree.X() + PortalToWhimsicalTree.Width() / 4",
                            "=",
                            "PortalToWhimsicalTree.Y() - (PortalToWhimsicalTree.Height() / 3) * 2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level6\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "Block World Portal (Level 7)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToBlockWorld",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToBlockWorld.X() + PortalToBlockWorld.Width() / 4",
                            "=",
                            "PortalToBlockWorld.Y() - (PortalToBlockWorld.Height() / 3) * 2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level7\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "Tangent Hell Portal (Level 8)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToTangentHell",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToTangentHell.X() + PortalToTangentHell.Width() / 4",
                            "=",
                            "PortalToTangentHell.Y() - (PortalToTangentHell.Height() / 3) * 2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level8\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "Recursion Portal (Level 9)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToRecursion",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToRecursion.X() + PortalToRecursion.Width() / 4",
                            "=",
                            "PortalToRecursion.Y() - (PortalToRecursion.Height() / 3) * 2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level9\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "name": "Linux Portal (Level 10)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToLinux",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToLinux.X() + PortalToLinux.Width() / 4",
                            "=",
                            "PortalToLinux.Y() - (PortalToLinux.Height() / 3) * 2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level6\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "name": "Boss Portal (Level 11)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Distance"
                      },
                      "parameters": [
                        "Player",
                        "PortalToBoss",
                        "350",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "InteractPrompt",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "InteractPrompt",
                            "=",
                            "PortalToBoss.X() + PortalToBoss.Width() / 4",
                            "=",
                            "PortalToBoss.Y() - (PortalToBoss.Height() / 3) * 2"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "KeyPressed"
                          },
                          "parameters": [
                            "",
                            "e"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Scene"
                          },
                          "parameters": [
                            "",
                            "\"Level6\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "MusicController",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "PlaySound"
                  },
                  "parameters": [
                    "",
                    "Assets/Sounds/Levels/Mindscape/AmbientLoop_Train.ogg",
                    "yes",
                    "GlobalVariable(Volume_ThemeMusic) - 16",
                    ""
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Disable UI and CameraGlitchFix In Mindscape World",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "Cache"
                  },
                  "parameters": [
                    "CameraGlitchFix"
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinExternalLayouts::CreateObjectsFromExternalLayout"
                  },
                  "parameters": [
                    "",
                    "\"MindscapeUI\"",
                    "",
                    "",
                    ""
                  ]
                },
                {
                  "type": {
                    "value": "Cache"
                  },
                  "parameters": [
                    "UI_Sinage_Lives"
                  ]
                },
                {
                  "type": {
                    "value": "Cache"
                  },
                  "parameters": [
                    "UI_Sinage_Hope"
                  ]
                },
                {
                  "type": {
                    "value": "Cache"
                  },
                  "parameters": [
                    "LivesBar"
                  ]
                },
                {
                  "type": {
                    "value": "Cache"
                  },
                  "parameters": [
                    "HopeBar"
                  ]
                }
              ]
            }
          ],
          "parameters": []
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "MainMenu",
      "name": "MainMenu",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.2349169701407237,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "Platforms",
          "objects": [
            {
              "name": "StaticPlatform1"
            },
            {
              "name": "HorizontalMovingPlatformRight"
            },
            {
              "name": "StaticPlatform2"
            },
            {
              "name": "StaticPlatform3"
            }
          ]
        },
        {
          "name": "MobileControls",
          "objects": []
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "UI_Sinage_Background"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "UI_Sinage_RetryButton"
            }
          ]
        },
        {
          "name": "HelperObjects",
          "objects": [
            {
              "name": "LeftBoundary"
            },
            {
              "name": "RightBoundary"
            },
            {
              "name": "BoundaryJumpThrough"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 4832,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "78dd0ffa-b22f-47a8-9b36-ef6a432b1d1e",
          "width": 128,
          "x": -128,
          "y": -256,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 4672,
          "layer": "Background",
          "name": "MenuBackground",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 4736,
          "x": 0,
          "y": -128,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 4800,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 4736,
          "y": -256,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 4992,
          "x": -128,
          "y": -256,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 142,
          "layer": "",
          "name": "Player",
          "persistentUuid": "8502c279-0347-4a0b-9f36-70f51ba06145",
          "width": 283,
          "x": 1575,
          "y": 458,
          "zOrder": 67,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "ee9d7b35-66bf-4d6b-acc3-0f77c064ebf1",
          "width": 4992,
          "x": -128,
          "y": 1344,
          "zOrder": 68,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 1002,
          "layer": "",
          "name": "SneakySalamander",
          "persistentUuid": "6bf6a773-9c92-4a4c-a1ef-6babf173387b",
          "width": 1781,
          "x": 843,
          "y": -268,
          "zOrder": 37,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 55,
          "height": 112,
          "layer": "",
          "name": "NewGameButton",
          "persistentUuid": "e92816b1-0425-4c63-b0ed-c871ec01587e",
          "width": 334,
          "x": 1550,
          "y": 464,
          "zOrder": 69,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 26,
          "height": 112,
          "layer": "",
          "name": "CreditsButton",
          "persistentUuid": "6369e6bf-dcb6-42a5-b8fe-28806e68c96f",
          "width": 334,
          "x": 1550,
          "y": 645,
          "zOrder": 70,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 26,
          "height": 112,
          "layer": "",
          "name": "ExitButton",
          "persistentUuid": "5c4c274f-c773-4e25-bf67-63d980378400",
          "width": 334,
          "x": 1550,
          "y": 816,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "MenuBackground",
          "texture": "Assets\\Images\\MainMenu\\Background\\Background.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.8,
                "scratchDensity": 0.4,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.65,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Brightness",
              "name": "Effect3",
              "doubleParameters": {
                "brightness": 0.5
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        },
        {
          "adaptCollisionMaskAutomatically": false,
          "assetStoreId": "",
          "name": "LeftBoundary",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [],
          "behaviors": [
            {
              "name": "Platform",
              "type": "PlatformBehavior::PlatformBehavior",
              "canBeGrabbed": false,
              "platformType": "NormalPlatform",
              "yGrabOffset": 0
            }
          ],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Common/Border/Border.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": []
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": false,
          "assetStoreId": "",
          "name": "RightBoundary",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [],
          "behaviors": [
            {
              "name": "Platform",
              "type": "PlatformBehavior::PlatformBehavior",
              "canBeGrabbed": false,
              "platformType": "NormalPlatform",
              "yGrabOffset": 0
            }
          ],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Common/Border/Border.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": []
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": false,
          "assetStoreId": "",
          "name": "TopBoundary",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Common/Border/Border.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": []
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": false,
          "assetStoreId": "",
          "name": "BottomBoundary",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Common/Border/Border.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": []
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": false,
          "assetStoreId": "",
          "name": "BoundaryJumpThrough",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [],
          "behaviors": [
            {
              "name": "Platform",
              "type": "PlatformBehavior::PlatformBehavior",
              "canBeGrabbed": false,
              "platformType": "Jumpthru",
              "yGrabOffset": 0
            }
          ],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Common/Border/Border.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": []
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "SneakySalamander",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/SneakySalamander/SneakySalamander.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 53,
                            "y": 324
                          },
                          {
                            "x": 1862,
                            "y": 324
                          },
                          {
                            "x": 1862,
                            "y": 567
                          },
                          {
                            "x": 53,
                            "y": 567
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "assetStoreId": "54a9a34bb495b15fe0e00f71075908e1ce52d499723617c966ad527229c77c79",
          "name": "NewGameButton",
          "type": "PanelSpriteButton::PanelSpriteButton",
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            }
          ],
          "behaviors": [],
          "content": {
            "LeftPadding": 0,
            "RightPadding": 0,
            "PressedLabelOffsetY": 4,
            "BottomPadding": 0,
            "TopPadding": 0,
            "HoveredFadeOutDuration": 0
          },
          "childrenContent": {
            "Hovered": {
              "bottomMargin": 10,
              "height": 64,
              "leftMargin": 6,
              "rightMargin": 6,
              "texture": "Assets/Images/MainMenu/NewGameButton/NewGameButton_Hovered.png",
              "tiled": false,
              "topMargin": 10,
              "width": 192
            },
            "Idle": {
              "bottomMargin": 10,
              "height": 64,
              "leftMargin": 6,
              "rightMargin": 6,
              "texture": "Assets/Images/MainMenu/NewGameButton/NewGameButton_Idle.png",
              "tiled": false,
              "topMargin": 10,
              "width": 192
            },
            "Label": {
              "bold": false,
              "italic": false,
              "smoothed": true,
              "underlined": false,
              "string": "",
              "font": "",
              "textAlignment": "center",
              "characterSize": 50,
              "color": {
                "b": 255,
                "g": 255,
                "r": 255
              }
            },
            "Pressed": {
              "bottomMargin": 10,
              "height": 64,
              "leftMargin": 6,
              "rightMargin": 6,
              "texture": "Assets/Images/MainMenu/NewGameButton/NewGameButton_Pressed.png",
              "tiled": false,
              "topMargin": 10,
              "width": 192
            }
          }
        },
        {
          "assetStoreId": "54a9a34bb495b15fe0e00f71075908e1ce52d499723617c966ad527229c77c79",
          "name": "CreditsButton",
          "type": "PanelSpriteButton::PanelSpriteButton",
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            }
          ],
          "behaviors": [],
          "content": {
            "LeftPadding": 0,
            "RightPadding": 0,
            "PressedLabelOffsetY": 4,
            "BottomPadding": 0,
            "TopPadding": 0,
            "HoveredFadeOutDuration": 0
          },
          "childrenContent": {
            "Hovered": {
              "bottomMargin": 10,
              "height": 64,
              "leftMargin": 6,
              "rightMargin": 6,
              "texture": "Assets/Images/MainMenu/CreditsButton/CreditsButton_Hovered.png",
              "tiled": false,
              "topMargin": 10,
              "width": 192
            },
            "Idle": {
              "bottomMargin": 10,
              "height": 64,
              "leftMargin": 6,
              "rightMargin": 6,
              "texture": "Assets/Images/MainMenu/CreditsButton/CreditsButton_Idle.png",
              "tiled": false,
              "topMargin": 10,
              "width": 192
            },
            "Label": {
              "bold": false,
              "italic": false,
              "smoothed": true,
              "underlined": false,
              "string": "",
              "font": "",
              "textAlignment": "center",
              "characterSize": 50,
              "color": {
                "b": 255,
                "g": 255,
                "r": 255
              }
            },
            "Pressed": {
              "bottomMargin": 10,
              "height": 64,
              "leftMargin": 6,
              "rightMargin": 6,
              "texture": "Assets/Images/MainMenu/CreditsButton/CreditsButton_Pressed.png",
              "tiled": false,
              "topMargin": 10,
              "width": 192
            }
          }
        },
        {
          "assetStoreId": "54a9a34bb495b15fe0e00f71075908e1ce52d499723617c966ad527229c77c79",
          "name": "ExitButton",
          "type": "PanelSpriteButton::PanelSpriteButton",
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            }
          ],
          "behaviors": [],
          "content": {
            "LeftPadding": 0,
            "RightPadding": 0,
            "PressedLabelOffsetY": 4,
            "BottomPadding": 0,
            "TopPadding": 0,
            "HoveredFadeOutDuration": 0
          },
          "childrenContent": {
            "Hovered": {
              "bottomMargin": 10,
              "height": 64,
              "leftMargin": 6,
              "rightMargin": 6,
              "texture": "Assets/Images/MainMenu/ExitButton/ExitButton_Hovered.png",
              "tiled": false,
              "topMargin": 10,
              "width": 192
            },
            "Idle": {
              "bottomMargin": 10,
              "height": 64,
              "leftMargin": 6,
              "rightMargin": 6,
              "texture": "Assets/Images/MainMenu/ExitButton/ExitButton_Idle.png",
              "tiled": false,
              "topMargin": 10,
              "width": 192
            },
            "Label": {
              "bold": false,
              "italic": false,
              "smoothed": true,
              "underlined": false,
              "string": "",
              "font": "",
              "textAlignment": "center",
              "characterSize": 50,
              "color": {
                "b": 255,
                "g": 255,
                "r": 255
              }
            },
            "Pressed": {
              "bottomMargin": 10,
              "height": 64,
              "leftMargin": 6,
              "rightMargin": 6,
              "texture": "Assets/Images/MainMenu/ExitButton/ExitButton_Pressed.png",
              "tiled": false,
              "topMargin": 10,
              "width": 192
            }
          }
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "objectName": "MenuBackground"
          },
          {
            "objectName": "LeftBoundary"
          },
          {
            "objectName": "RightBoundary"
          },
          {
            "objectName": "TopBoundary"
          },
          {
            "objectName": "BottomBoundary"
          },
          {
            "objectName": "BoundaryJumpThrough"
          },
          {
            "objectName": "SneakySalamander"
          },
          {
            "folderName": "Buttons",
            "children": [
              {
                "objectName": "CreditsButton"
              },
              {
                "objectName": "ExitButton"
              },
              {
                "objectName": "NewGameButton"
              }
            ]
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level1\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Tutorial\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Disable Player",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ActivateBehavior"
                  },
                  "parameters": [
                    "Player",
                    "PlatformerObject",
                    ""
                  ]
                },
                {
                  "type": {
                    "value": "Cache"
                  },
                  "parameters": [
                    "Player"
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Disable UI and CameraGlitchFix In Credits",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "HideLayer"
                  },
                  "parameters": [
                    "",
                    "\"UI\""
                  ]
                },
                {
                  "type": {
                    "value": "Cache"
                  },
                  "parameters": [
                    "CameraGlitchFix"
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Main Menu Camera",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ResetTimer"
                  },
                  "parameters": [
                    "",
                    "\"CreditCameraPosition\""
                  ]
                },
                {
                  "type": {
                    "value": "SetCameraCenterX"
                  },
                  "parameters": [
                    "",
                    "=",
                    "Player.CenterX()",
                    "",
                    ""
                  ]
                },
                {
                  "type": {
                    "value": "SetCameraCenterY"
                  },
                  "parameters": [
                    "",
                    "=",
                    "Player.CenterY()",
                    "",
                    ""
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "MusicController",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "PlaySound"
                  },
                  "parameters": [
                    "",
                    "Assets/Sounds/Levels/MainMenu/Theme.ogg",
                    "yes",
                    "GlobalVariable(Volume_ThemeMusic)",
                    ""
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Button Interactions",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                  },
                  "parameters": [
                    "NewGameButton",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "Scene"
                  },
                  "parameters": [
                    "",
                    "\"Mindscape\"",
                    ""
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                  },
                  "parameters": [
                    "CreditsButton",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "Scene"
                  },
                  "parameters": [
                    "",
                    "\"Credits\"",
                    ""
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                  },
                  "parameters": [
                    "ExitButton",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "Quit"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ]
            }
          ],
          "parameters": []
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "Credits",
      "name": "Credits",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.09918246407096092,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "Platforms",
          "objects": [
            {
              "name": "StaticPlatform1"
            },
            {
              "name": "HorizontalMovingPlatformRight"
            },
            {
              "name": "StaticPlatform2"
            },
            {
              "name": "StaticPlatform3"
            }
          ]
        },
        {
          "name": "MobileControls",
          "objects": []
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "UI_Sinage_Background"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "UI_Sinage_RetryButton"
            }
          ]
        },
        {
          "name": "HelperObjects",
          "objects": [
            {
              "name": "LeftBoundary"
            },
            {
              "name": "RightBoundary"
            },
            {
              "name": "BoundaryJumpThrough"
            }
          ]
        }
      ],
      "variables": [
        {
          "name": "Score",
          "type": "number",
          "value": 0
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 13024,
          "layer": "Background",
          "name": "BackgroundPlants",
          "persistentUuid": "03b6869d-198f-4807-b659-f2b863e21073",
          "width": 4736,
          "x": 0,
          "y": -128,
          "zOrder": -1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 13280,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9562fd9d-6e93-4465-9013-efa2b833653b",
          "width": 128,
          "x": 4736,
          "y": -256,
          "zOrder": 58,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "4381c067-2682-4f00-9a24-ff28fa12b1d8",
          "width": 4992,
          "x": -128,
          "y": -256,
          "zOrder": 59,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 152,
          "layer": "",
          "name": "SoundDesign",
          "persistentUuid": "dacca278-30ee-4919-a60d-5b8db70325bd",
          "width": 910,
          "x": 1447,
          "y": 3647,
          "zOrder": 60,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "Colon",
          "persistentUuid": "63e4871c-0681-4b6f-a122-458b1efec119",
          "width": 75,
          "x": 2259,
          "y": 3652,
          "zOrder": 61,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 151,
          "layer": "",
          "name": "DylanMooney",
          "persistentUuid": "22cb858b-0f6f-4ecf-8b05-ab39b2bf3a3f",
          "width": 910,
          "x": 2382,
          "y": 3652,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "Director",
          "persistentUuid": "498bffc5-3349-425b-9b3e-97368aa907ce",
          "width": 890,
          "x": 1824,
          "y": 1389,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 180,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "Colon",
          "persistentUuid": "bd74dbd9-c967-4deb-b337-da5f2c56d876",
          "width": 75,
          "x": 2259,
          "y": 1389,
          "zOrder": 64,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 148,
          "layer": "",
          "name": "ThomasLiao",
          "persistentUuid": "b4045003-8e7a-4240-bf53-3a0c9f4f1a62",
          "width": 887,
          "x": 2343,
          "y": 1388,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 176,
          "layer": "",
          "name": "Player",
          "persistentUuid": "8502c279-0347-4a0b-9f36-70f51ba06145",
          "width": 352,
          "x": 2222,
          "y": 576,
          "zOrder": 67,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "ee9d7b35-66bf-4d6b-acc3-0f77c064ebf1",
          "width": 4992,
          "x": -128,
          "y": 12896,
          "zOrder": 68,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 1002,
          "layer": "",
          "name": "SneakySalamander",
          "persistentUuid": "6bf6a773-9c92-4a4c-a1ef-6babf173387b",
          "width": 1781,
          "x": 1529,
          "y": 22,
          "zOrder": 37,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 320,
          "layer": "",
          "name": "CreditsEnd",
          "persistentUuid": "bbf85d5d-6171-41f3-91b0-0d115237c686",
          "width": 6560,
          "x": -832,
          "y": 9760,
          "zOrder": 69,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 152,
          "layer": "",
          "name": "LevelDesign",
          "persistentUuid": "e0eb4f85-7214-49ee-bd7b-be371978663e",
          "width": 910,
          "x": 1447,
          "y": 2237,
          "zOrder": 7,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "Colon",
          "persistentUuid": "9472ff68-4223-4e93-bd89-4c8a2948fea8",
          "width": 75,
          "x": 2259,
          "y": 2237,
          "zOrder": 61,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "AlexHu",
          "persistentUuid": "be84c5b3-a7aa-470e-9dd6-15f984d7ec3f",
          "width": 887,
          "x": 2382,
          "y": 2237,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 148,
          "layer": "",
          "name": "ThomasLiao",
          "persistentUuid": "d6fcb525-ed2b-488f-8a49-f00d0a6f42b2",
          "width": 887,
          "x": 2358,
          "y": 2433,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 174,
          "layer": "",
          "name": "Programming",
          "persistentUuid": "1450c96d-994d-4327-8326-afffcb5324fd",
          "width": 1033,
          "x": 1466,
          "y": 1796,
          "zOrder": 71,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "Colon",
          "persistentUuid": "412d04a7-6de1-4a26-a374-8a58a26cc157",
          "width": 75,
          "x": 2259,
          "y": 1796,
          "zOrder": 61,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 148,
          "layer": "",
          "name": "ThomasLiao",
          "persistentUuid": "feaadde4-8449-4c19-a032-099f901693d7",
          "width": 887,
          "x": 2358,
          "y": 1796,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "AlexHu",
          "persistentUuid": "eea67a0f-1c3c-4e3c-b16b-01bf0a7e32f8",
          "width": 887,
          "x": 2382,
          "y": 1943,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 151,
          "layer": "",
          "name": "QualityAssurance",
          "persistentUuid": "f44da4e2-41d5-4a8f-b7f3-bbba3ffa010e",
          "width": 910,
          "x": 1373,
          "y": 4164,
          "zOrder": 72,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "Colon",
          "persistentUuid": "74066723-bc69-4317-b947-e46f22a54b57",
          "width": 75,
          "x": 2268,
          "y": 4168,
          "zOrder": 61,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 148,
          "layer": "",
          "name": "ThomasLiao",
          "persistentUuid": "25a8dced-8d64-4f1c-8beb-aea6c76f94e9",
          "width": 887,
          "x": 2382,
          "y": 4337,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "AlexHu",
          "persistentUuid": "945f9b8a-b328-44b1-b9ec-89ca69e261ce",
          "width": 887,
          "x": 2382,
          "y": 4164,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 151,
          "layer": "",
          "name": "DylanMooney",
          "persistentUuid": "d3b41af1-89e0-4b12-ba46-20c79d3afa18",
          "width": 910,
          "x": 2406,
          "y": 4508,
          "zOrder": 62,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 13280,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "3f305fe5-0b2e-4993-97e5-6da7bc49245c",
          "width": 128,
          "x": -128,
          "y": -256,
          "zOrder": 38,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 150,
          "layer": "",
          "name": "Art",
          "persistentUuid": "c99ad8b5-1b9b-4ba9-9bcd-7c19a261a34e",
          "width": 1204,
          "x": 1962,
          "y": 3104,
          "zOrder": 7,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "Colon",
          "persistentUuid": "65ca56ae-debf-4713-bf67-8078454679b7",
          "width": 75,
          "x": 2259,
          "y": 3107,
          "zOrder": 998,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 148,
          "layer": "",
          "name": "ThomasLiao",
          "persistentUuid": "2e0f8aa1-dbc4-4a3e-843a-4ff1aa171dcc",
          "width": 887,
          "x": 2358,
          "y": 3106,
          "zOrder": 65,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 147,
          "layer": "",
          "name": "AlexHu",
          "persistentUuid": "73cb54d3-e2cb-42b0-a69a-01ca053ed3db",
          "width": 887,
          "x": 2382,
          "y": 3254,
          "zOrder": 66,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 134,
          "layer": "",
          "name": "BaileyBorbas",
          "persistentUuid": "1f40c92b-90a6-44fc-8f45-8ec45bf6b5c4",
          "width": 1083,
          "x": 2400,
          "y": 4698,
          "zOrder": 999,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 174,
          "layer": "",
          "name": "JacobMorrison",
          "persistentUuid": "ddc0db14-7212-4db4-9d9e-c8c1a75d9ffb",
          "width": 1378,
          "x": 2400,
          "y": 4850,
          "zOrder": 1000,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 133,
          "layer": "",
          "name": "BrennerMuskatel",
          "persistentUuid": "af988056-e721-438a-8d30-0c33846cccb5",
          "width": 1120,
          "x": 2368,
          "y": 2611,
          "zOrder": 1001,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 238,
          "layer": "",
          "name": "JackMccarthySmith",
          "persistentUuid": "72266098-18dd-4958-9fb1-bfeb361be7ed",
          "width": 1057,
          "x": 2400,
          "y": 5010,
          "zOrder": 1002,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 222,
          "layer": "",
          "name": "RyanReilly",
          "persistentUuid": "62940849-ab41-4056-94ac-e0b6cd09b343",
          "width": 887,
          "x": 2409,
          "y": 5186,
          "zOrder": 1003,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 256,
          "layer": "",
          "name": "JoshVegher",
          "persistentUuid": "be317912-9534-4ff5-a126-7d0a835aa8bb",
          "width": 1064,
          "x": 2424,
          "y": 5376,
          "zOrder": 1004,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 174,
          "layer": "",
          "name": "JustinHumes",
          "persistentUuid": "2a049221-b095-444f-ba4d-9150614946cc",
          "width": 1378,
          "x": 2400,
          "y": 5842,
          "zOrder": 1005,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 258,
          "layer": "",
          "name": "HunterBoggs",
          "persistentUuid": "0dcf9506-aa7d-4c83-982c-1fa4017f564f",
          "width": 1060,
          "x": 2432,
          "y": 6016,
          "zOrder": 1006,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 229,
          "layer": "",
          "name": "JasonWong",
          "persistentUuid": "6881dad2-f857-4534-8ef5-e42bfaa916e5",
          "width": 910,
          "x": 2400,
          "y": 6208,
          "zOrder": 1007,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 562,
          "layer": "",
          "name": "AGPL",
          "persistentUuid": "d9881387-8943-404f-a95a-f59d18ab6ab6",
          "width": 1024,
          "x": 2240,
          "y": 7118,
          "zOrder": 1008,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 2112,
          "layer": "",
          "name": "LicenseText",
          "persistentUuid": "30899dec-5d1e-440f-a766-1bbe6f01b5c8",
          "width": 1056,
          "x": 1952,
          "y": 7936,
          "zOrder": 1009,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 212,
          "layer": "",
          "name": "ConnorLebrun",
          "persistentUuid": "800097dd-7cf5-4620-8d76-d4c770904a64",
          "width": 1696,
          "x": 2400,
          "y": 5600,
          "zOrder": 1010,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 416,
          "layer": "",
          "name": "DRMFree",
          "persistentUuid": "1cd88b30-6438-4188-9955-6c6b6589a966",
          "width": 416,
          "x": 1760,
          "y": 7200,
          "zOrder": 1011,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 113,
          "layer": "",
          "name": "Git",
          "persistentUuid": "b71143b4-8382-4161-9ee4-abdfcb0cd075",
          "width": 288,
          "x": 2336,
          "y": 9263,
          "zOrder": 1012,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "NewText",
          "persistentUuid": "71e439e4-50f9-4359-8da3-0f784d95b4bc",
          "width": 0,
          "x": 2351,
          "y": 9416,
          "zOrder": 1013,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [
        {
          "assetStoreId": "",
          "height": 1024,
          "name": "BackgroundPlants",
          "texture": "Assets/Images/Credits/Background/Background.png",
          "type": "TiledSpriteObject::TiledSprite",
          "width": 2048,
          "variables": [],
          "effects": [
            {
              "effectType": "TiltShift",
              "name": "Effect",
              "doubleParameters": {
                "blur": 30,
                "gradientBlur": 1000
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect2",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.1,
                "noiseSize": 1,
                "scratch": 0.8,
                "scratchDensity": 0.8,
                "scratchWidth": 1,
                "sepia": 0.1,
                "vignetting": 0.65,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ],
          "behaviors": []
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "SoundDesign",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/Titles/SoundDesign/SoundDesign.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 44,
                            "y": 68
                          },
                          {
                            "x": 2739,
                            "y": 68
                          },
                          {
                            "x": 2739,
                            "y": 509
                          },
                          {
                            "x": 44,
                            "y": 509
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "Colon",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/Colon/Colon.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 75,
                            "y": 99
                          },
                          {
                            "x": 161,
                            "y": 99
                          },
                          {
                            "x": 161,
                            "y": 405
                          },
                          {
                            "x": 75,
                            "y": 405
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "DylanMooney",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/Names/DylanMooney/DylanMooney.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 12,
                            "y": 40
                          },
                          {
                            "x": 2842,
                            "y": 40
                          },
                          {
                            "x": 2842,
                            "y": 505
                          },
                          {
                            "x": 12,
                            "y": 505
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "Director",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/Titles/Concept/Concept.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 53,
                            "y": 101
                          },
                          {
                            "x": 1583,
                            "y": 101
                          },
                          {
                            "x": 1583,
                            "y": 488
                          },
                          {
                            "x": 53,
                            "y": 488
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "ThomasLiao",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/Names/ThomasLiao/ThomasLiao.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 5,
                            "y": 70
                          },
                          {
                            "x": 2073,
                            "y": 70
                          },
                          {
                            "x": 2073,
                            "y": 456
                          },
                          {
                            "x": 5,
                            "y": 456
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "AlexHu",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/Names/AlexHu/AlexHu.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 22,
                            "y": 73
                          },
                          {
                            "x": 1733,
                            "y": 73
                          },
                          {
                            "x": 1733,
                            "y": 474
                          },
                          {
                            "x": 22,
                            "y": 474
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "SneakySalamander",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "CRT",
              "name": "Lines",
              "doubleParameters": {
                "animationFrequency": 0,
                "animationSpeed": 1,
                "curvature": 1,
                "lineContrast": 0.25,
                "lineWidth": 1,
                "noise": 0.3,
                "noiseSize": 0,
                "padding": 0,
                "vignetting": 0.3,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {
                "verticalLine": false
              }
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/SneakySalamander/SneakySalamander.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 53,
                            "y": 324
                          },
                          {
                            "x": 1862,
                            "y": 324
                          },
                          {
                            "x": 1862,
                            "y": 567
                          },
                          {
                            "x": 53,
                            "y": 567
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "CreditsEnd",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Common/Black/Black.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 0,
                            "y": 0
                          },
                          {
                            "x": 32,
                            "y": 0
                          },
                          {
                            "x": 32,
                            "y": 32
                          },
                          {
                            "x": 0,
                            "y": 32
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "LevelDesign",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/Titles/LevelDesign/LevelDesign.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 72,
                            "y": 84
                          },
                          {
                            "x": 2739,
                            "y": 84
                          },
                          {
                            "x": 2739,
                            "y": 481
                          },
                          {
                            "x": 72,
                            "y": 481
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "Programming",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/Titles/Programming/Programming.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 44,
                            "y": 89
                          },
                          {
                            "x": 2389,
                            "y": 89
                          },
                          {
                            "x": 2389,
                            "y": 458
                          },
                          {
                            "x": 44,
                            "y": 458
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "QualityAssurance",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/Titles/QualityAssurance/QualityAssurance.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 53,
                            "y": 65
                          },
                          {
                            "x": 3056,
                            "y": 65
                          },
                          {
                            "x": 3056,
                            "y": 460
                          },
                          {
                            "x": 53,
                            "y": 460
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "SpecialThanks",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/Titles/SpecialThanks/SpecialThanks.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 56,
                            "y": 88
                          },
                          {
                            "x": 2342,
                            "y": 88
                          },
                          {
                            "x": 2342,
                            "y": 466
                          },
                          {
                            "x": 56,
                            "y": 466
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "BaileyBorbas",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\BaileyBorbas\\BaileyBorbas.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 39,
                            "y": 54
                          },
                          {
                            "x": 3390,
                            "y": 54
                          },
                          {
                            "x": 3390,
                            "y": 507
                          },
                          {
                            "x": 39,
                            "y": 507
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "BrennerKrogh",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\BrennerKrogh\\BrennerKrogh.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 47,
                            "y": 233
                          },
                          {
                            "x": 3338,
                            "y": 233
                          },
                          {
                            "x": 3338,
                            "y": 856
                          },
                          {
                            "x": 47,
                            "y": 856
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "BrennerMuskatel",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\BrennerMuscatell\\BrennerMuscatell.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 66,
                            "y": 63
                          },
                          {
                            "x": 3911,
                            "y": 63
                          },
                          {
                            "x": 3911,
                            "y": 500
                          },
                          {
                            "x": 66,
                            "y": 500
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "HunterBoggs",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\HunterBoggs\\HunterBoggs.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 21,
                            "y": 203
                          },
                          {
                            "x": 3131,
                            "y": 203
                          },
                          {
                            "x": 3131,
                            "y": 840
                          },
                          {
                            "x": 21,
                            "y": 840
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "JackMccarthySmith",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\JackMccarthySmith\\JackMccarthySmith.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 27,
                            "y": 169
                          },
                          {
                            "x": 4002,
                            "y": 169
                          },
                          {
                            "x": 4002,
                            "y": 806
                          },
                          {
                            "x": 27,
                            "y": 806
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "JacobMorrison",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\JacobMorrison\\JacobMorrison.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 32,
                            "y": 101
                          },
                          {
                            "x": 2625,
                            "y": 101
                          },
                          {
                            "x": 2625,
                            "y": 459
                          },
                          {
                            "x": 32,
                            "y": 459
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "JasonWong",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\JasonWong\\JasonWong.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 41,
                            "y": 243
                          },
                          {
                            "x": 3132,
                            "y": 243
                          },
                          {
                            "x": 3132,
                            "y": 880
                          },
                          {
                            "x": 41,
                            "y": 880
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "JoshVegher",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\JoshVegher\\JoshVegher.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 26,
                            "y": 225
                          },
                          {
                            "x": 2930,
                            "y": 225
                          },
                          {
                            "x": 2930,
                            "y": 812
                          },
                          {
                            "x": 26,
                            "y": 812
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "JustinHumes",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\JustinHumes\\JustinHumes.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 63,
                            "y": 57
                          },
                          {
                            "x": 2664,
                            "y": 57
                          },
                          {
                            "x": 2664,
                            "y": 486
                          },
                          {
                            "x": 63,
                            "y": 486
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "RyanReilly",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\RyanReilly\\RyanReilly.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 55,
                            "y": 229
                          },
                          {
                            "x": 3044,
                            "y": 229
                          },
                          {
                            "x": 3044,
                            "y": 860
                          },
                          {
                            "x": 55,
                            "y": 860
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "Art",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Titles\\Art\\Art.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 43,
                            "y": 43
                          },
                          {
                            "x": 956,
                            "y": 43
                          },
                          {
                            "x": 956,
                            "y": 498
                          },
                          {
                            "x": 43,
                            "y": 498
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "AGPL",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Logos\\AGPL\\AGPL_Logo.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 82,
                            "y": 68
                          },
                          {
                            "x": 1975,
                            "y": 68
                          },
                          {
                            "x": 1975,
                            "y": 1064
                          },
                          {
                            "x": 82,
                            "y": 1064
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "LicenseText",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets/Images/Credits/LicenseText/LicenseText.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 28,
                            "y": 62
                          },
                          {
                            "x": 2013,
                            "y": 62
                          },
                          {
                            "x": 2013,
                            "y": 1278
                          },
                          {
                            "x": 28,
                            "y": 1278
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "ConnorLebrun",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Names\\ConnorLebrun\\ConnorLebrun.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 35,
                            "y": 81
                          },
                          {
                            "x": 2193,
                            "y": 81
                          },
                          {
                            "x": 2193,
                            "y": 497
                          },
                          {
                            "x": 35,
                            "y": 497
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "DRMFree",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Logos\\DRMFree\\DRM_Free_Logo.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 7,
                            "y": 7
                          },
                          {
                            "x": 2041,
                            "y": 7
                          },
                          {
                            "x": 2041,
                            "y": 2041
                          },
                          {
                            "x": 7,
                            "y": 2041
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "adaptCollisionMaskAutomatically": true,
          "assetStoreId": "",
          "name": "Git",
          "type": "Sprite",
          "updateIfNotVisible": false,
          "variables": [],
          "effects": [
            {
              "effectType": "RGBSplit",
              "name": "ChromaticAberration",
              "doubleParameters": {
                "blueX": 0,
                "blueY": 3,
                "greenX": 0,
                "greenY": 0,
                "redX": -3,
                "redY": 1
              },
              "stringParameters": {},
              "booleanParameters": {}
            },
            {
              "effectType": "Glitch",
              "name": "Glitchy",
              "doubleParameters": {
                "animationFrequency": 20,
                "blueX": 2,
                "blueY": -2,
                "direction": 0,
                "fillMode": 0,
                "greenX": 2,
                "greenY": -2,
                "minSize": 8,
                "offset": 2,
                "redX": 2,
                "redY": 2,
                "sampleSize": 512,
                "slices": 2
              },
              "stringParameters": {},
              "booleanParameters": {
                "average": false
              }
            },
            {
              "effectType": "Glow",
              "name": "Effect",
              "doubleParameters": {
                "distance": 15,
                "innerStrength": 1,
                "outerStrength": 2
              },
              "stringParameters": {
                "color": "255;255;255"
              },
              "booleanParameters": {}
            }
          ],
          "behaviors": [],
          "animations": [
            {
              "name": "",
              "useMultipleDirections": false,
              "directions": [
                {
                  "looping": false,
                  "timeBetweenFrames": 0.08,
                  "sprites": [
                    {
                      "hasCustomCollisionMask": true,
                      "image": "Assets\\Images\\Credits\\Logos\\Git\\Git-Logo-White.png",
                      "points": [],
                      "originPoint": {
                        "name": "origine",
                        "x": 0,
                        "y": 0
                      },
                      "centerPoint": {
                        "automatic": true,
                        "name": "centre",
                        "x": 0,
                        "y": 0
                      },
                      "customCollisionMask": [
                        [
                          {
                            "x": 63,
                            "y": 7
                          },
                          {
                            "x": 1979,
                            "y": 7
                          },
                          {
                            "x": 1979,
                            "y": 807
                          },
                          {
                            "x": 63,
                            "y": 807
                          }
                        ]
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "assetStoreId": "",
          "bold": false,
          "italic": false,
          "name": "NewText",
          "smoothed": true,
          "type": "TextObject::Text",
          "underlined": false,
          "variables": [],
          "effects": [],
          "behaviors": [],
          "string": "put link here",
          "font": "",
          "textAlignment": "left",
          "characterSize": 50,
          "color": {
            "b": 255,
            "g": 255,
            "r": 255
          }
        }
      ],
      "objectsFolderStructure": {
        "folderName": "__ROOT",
        "children": [
          {
            "folderName": "CreditObjects",
            "children": [
              {
                "folderName": "Logos",
                "children": [
                  {
                    "objectName": "AGPL"
                  },
                  {
                    "objectName": "DRMFree"
                  },
                  {
                    "objectName": "Git"
                  },
                  {
                    "objectName": "LicenseText"
                  },
                  {
                    "objectName": "NewText"
                  }
                ]
              },
              {
                "folderName": "Titles",
                "children": [
                  {
                    "objectName": "Director"
                  },
                  {
                    "objectName": "SoundDesign"
                  },
                  {
                    "objectName": "LevelDesign"
                  },
                  {
                    "objectName": "Programming"
                  },
                  {
                    "objectName": "QualityAssurance"
                  },
                  {
                    "objectName": "SpecialThanks"
                  },
                  {
                    "objectName": "Art"
                  }
                ]
              },
              {
                "folderName": "Names",
                "children": [
                  {
                    "objectName": "ThomasLiao"
                  },
                  {
                    "objectName": "AlexHu"
                  },
                  {
                    "objectName": "DylanMooney"
                  },
                  {
                    "objectName": "BaileyBorbas"
                  },
                  {
                    "objectName": "BrennerKrogh"
                  },
                  {
                    "objectName": "BrennerMuskatel"
                  },
                  {
                    "objectName": "HunterBoggs"
                  },
                  {
                    "objectName": "JackMccarthySmith"
                  },
                  {
                    "objectName": "JacobMorrison"
                  },
                  {
                    "objectName": "JasonWong"
                  },
                  {
                    "objectName": "JoshVegher"
                  },
                  {
                    "objectName": "JustinHumes"
                  },
                  {
                    "objectName": "RyanReilly"
                  },
                  {
                    "objectName": "ConnorLebrun"
                  }
                ]
              },
              {
                "objectName": "Colon"
              }
            ]
          },
          {
            "objectName": "BackgroundPlants"
          },
          {
            "objectName": "SneakySalamander"
          },
          {
            "objectName": "CreditsEnd"
          }
        ]
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level1\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Tutorial\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Make it so player doesn't fall",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ActivateBehavior"
                  },
                  "parameters": [
                    "Player",
                    "PlatformerObject",
                    ""
                  ]
                },
                {
                  "type": {
                    "value": "Cache"
                  },
                  "parameters": [
                    "Player"
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Disable Life UI In Credits",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "HideLayer"
                  },
                  "parameters": [
                    "",
                    "\"UI\""
                  ]
                },
                {
                  "type": {
                    "value": "OpacityCapability::OpacityBehavior::SetValue"
                  },
                  "parameters": [
                    "CameraGlitchFix",
                    "Opacity",
                    "=",
                    "0"
                  ]
                },
                {
                  "type": {
                    "value": "OpacityCapability::OpacityBehavior::SetValue"
                  },
                  "parameters": [
                    "CreditsEnd",
                    "Opacity",
                    "=",
                    "0"
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Credits Camera",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ResetTimer"
                  },
                  "parameters": [
                    "",
                    "\"CreditCameraPosition\""
                  ]
                },
                {
                  "type": {
                    "value": "SetCameraCenterX"
                  },
                  "parameters": [
                    "",
                    "=",
                    "Player.CenterX()",
                    "",
                    ""
                  ]
                },
                {
                  "type": {
                    "value": "SetCameraCenterY"
                  },
                  "parameters": [
                    "",
                    "=",
                    "Player.CenterY()",
                    "",
                    ""
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SmoothCamera::SmoothCamera::SetOffsetYOp"
                  },
                  "parameters": [
                    "Player",
                    "SmoothCamera",
                    "=",
                    "TimerElapsedTime(\"CreditCameraPosition\")*100",
                    ""
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "TiledSpriteObject::XOffset"
                  },
                  "parameters": [
                    "BackgroundPlants",
                    "=",
                    "CameraBorderLeft() / 3 + 1200"
                  ]
                },
                {
                  "type": {
                    "value": "TiledSpriteObject::YOffset"
                  },
                  "parameters": [
                    "BackgroundPlants",
                    "=",
                    "CameraBorderTop() / 3 + 675"
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "MusicController",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "DepartScene"
                  },
                  "parameters": [
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "PlaySound"
                  },
                  "parameters": [
                    "",
                    "Assets/Sounds/Levels/MainMenu/Theme.ogg",
                    "yes",
                    "GlobalVariable(Volume_ThemeMusic)",
                    ""
                  ]
                }
              ]
            }
          ],
          "parameters": []
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "End Of Credit Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareNumbers"
                  },
                  "parameters": [
                    "Player.SmoothCamera::OffsetY()",
                    ">",
                    "CreditsEnd.Y()"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "Scene"
                  },
                  "parameters": [
                    "",
                    "\"MainMenu\"",
                    ""
                  ]
                }
              ]
            }
          ],
          "parameters": []
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    },
    {
      "b": 26,
      "disableInputWhenNotFocused": true,
      "mangledName": "TestingLevel",
      "name": "TestingLevel",
      "r": 11,
      "standardSortMethod": true,
      "stopSoundsOnStartup": true,
      "title": "",
      "v": 24,
      "uiSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.3,
        "snap": true,
        "zoomFactor": 0.48728344598062034,
        "windowMask": false
      },
      "objectsGroups": [
        {
          "name": "MobileControls",
          "objects": []
        },
        {
          "name": "EndScreenObjects",
          "objects": [
            {
              "name": "UI_Sinage_Background"
            },
            {
              "name": "EndScreenHeader"
            },
            {
              "name": "EndScreenSubHeader"
            },
            {
              "name": "EndScreenBestText"
            },
            {
              "name": "EndScreenChallengeText"
            },
            {
              "name": "EndScreenRetryText"
            },
            {
              "name": "UI_Sinage_RetryButton"
            }
          ]
        },
        {
          "name": "HelperObjects",
          "objects": [
            {
              "name": "LeftBoundary"
            },
            {
              "name": "RightBoundary"
            },
            {
              "name": "BoundaryJumpThrough"
            }
          ]
        }
      ],
      "variables": [
        {
          "folded": true,
          "name": "SFXVolume",
          "type": "number",
          "value": 80
        },
        {
          "folded": true,
          "name": "MusicVolume",
          "type": "number",
          "value": 80
        }
      ],
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "",
          "name": "Player",
          "persistentUuid": "f1286917-ed44-4574-a573-4406037f74c1",
          "width": 256,
          "x": 288,
          "y": 640,
          "zOrder": 63,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "d353842c-f749-44ae-b77f-b2018e1d735f",
          "width": 448,
          "x": 320,
          "y": 736,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 1536,
          "layer": "",
          "name": "LeftBoundary",
          "persistentUuid": "e261a0d9-afca-4643-9f4c-66e86a5e5208",
          "width": 128,
          "x": -128,
          "y": -96,
          "zOrder": 1013,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 1504,
          "layer": "",
          "name": "RightBoundary",
          "persistentUuid": "9881924b-4e66-4e70-b398-1392cd7daa9e",
          "width": 128,
          "x": 2400,
          "y": -64,
          "zOrder": 1014,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "TopBoundary",
          "persistentUuid": "953d6649-1398-416e-81e1-84a575485599",
          "width": 2528,
          "x": -96,
          "y": -128,
          "zOrder": 1015,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "",
          "name": "BottomBoundary",
          "persistentUuid": "d1bde48f-081e-43be-89d6-3d3daca3c353",
          "width": 2656,
          "x": -128,
          "y": 1344,
          "zOrder": 1016,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "Test",
          "persistentUuid": "69fcc9ac-8eb8-44bb-a815-6a0b952aab56",
          "width": 0,
          "x": 160,
          "y": 128,
          "zOrder": 1019,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "",
          "name": "Test2",
          "persistentUuid": "816d7b22-67bf-434b-91b5-8d324d7e488b",
          "width": 0,
          "x": 160,
          "y": 224,
          "zOrder": 1020,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 96,
          "layer": "",
          "name": "StaticPlatform1",
          "persistentUuid": "c285b401-c939-42fd-b595-2750cf47ce76",
          "width": 448,
          "x": 1056,
          "y": 768,
          "zOrder": 78,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 224,
          "layer": "",
          "name": "Checkpoint",
          "persistentUuid": "041d408a-5686-4bd3-9615-482c2d92ccd8",
          "width": 299,
          "x": 544,
          "y": 512,
          "zOrder": 1021,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 384,
          "layer": "",
          "name": "LaserDemon_BasePermanent",
          "persistentUuid": "bb37a1cf-c7fb-4e50-895a-403aecc0bd65",
          "width": 384,
          "x": 1184,
          "y": 256,
          "zOrder": 1022,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "objects": [],
      "objectsFolderStructure": {
        "folderName": "__ROOT"
      },
      "events": [
        {
          "type": "BuiltinCommonInstructions::Link",
          "include": {
            "includeConfig": 0
          },
          "target": "LevelEvents"
        },
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "Change Scene",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "LayerVisible"
                  },
                  "parameters": [
                    "",
                    "\"EndScreen\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsClicked"
                      },
                      "parameters": [
                        "UI_Sinage_RetryButton",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Space"
                      ]
                    }
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level1\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Tutorial\"",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": []
        }
      ],
      "layers": [
        {
          "ambientLightColorB": 8002120,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 7844472,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "Background",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": 32,
          "ambientLightColorG": 0,
          "ambientLightColorR": 0,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "",
          "renderingType": "",
          "visibility": true,
          "cameras": [
            {
              "defaultSize": true,
              "defaultViewport": true,
              "height": 0,
              "viewportBottom": 1,
              "viewportLeft": 0,
              "viewportRight": 1,
              "viewportTop": 0,
              "width": 0
            }
          ],
          "effects": [
            {
              "effectType": "Scene3D::HemisphereLight",
              "name": "3D Light",
              "doubleParameters": {
                "elevation": 45,
                "intensity": 1,
                "rotation": 0
              },
              "stringParameters": {
                "groundColor": "64;64;64",
                "skyColor": "255;255;255",
                "top": "Y-"
              },
              "booleanParameters": {}
            },
            {
              "effectType": "OldFilm",
              "name": "Effect",
              "doubleParameters": {
                "animationFrequency": 60,
                "noise": 0.15,
                "noiseSize": 1,
                "scratch": 0,
                "scratchDensity": 0.2,
                "scratchWidth": 1,
                "sepia": 0,
                "vignetting": 0.4,
                "vignettingAlpha": 1,
                "vignettingBlur": 0.3
              },
              "stringParameters": {},
              "booleanParameters": {}
            }
          ]
        },
        {
          "ambientLightColorB": 9191608,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 8756632,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "UI",
          "renderingType": "2d",
          "visibility": true,
          "cameras": [],
          "effects": []
        },
        {
          "ambientLightColorB": -2147483616,
          "ambientLightColorG": 6031360,
          "ambientLightColorR": 11020320,
          "camera3DFarPlaneDistance": 10000,
          "camera3DFieldOfView": 45,
          "camera3DNearPlaneDistance": 0.1,
          "followBaseLayerCamera": false,
          "isLightingLayer": false,
          "isLocked": false,
          "name": "EndScreen",
          "renderingType": "2d",
          "visibility": false,
          "cameras": [],
          "effects": []
        }
      ],
      "behaviorsSharedData": [
        {
          "name": "AdvancedProjectile",
          "type": "AdvancedProjectile::AdvancedProjectile"
        },
        {
          "name": "Animation",
          "type": "AnimatableCapability::AnimatableBehavior"
        },
        {
          "name": "Effect",
          "type": "EffectCapability::EffectBehavior"
        },
        {
          "name": "EllipseMovement",
          "type": "EllipseMovement::EllipseMovement"
        },
        {
          "name": "Flippable",
          "type": "FlippableCapability::FlippableBehavior"
        },
        {
          "name": "InOnScreen",
          "type": "IsOnScreen::InOnScreen"
        },
        {
          "name": "MonsterEnemy",
          "type": "Enemy::MonsterEnemy"
        },
        {
          "name": "Opacity",
          "type": "OpacityCapability::OpacityBehavior"
        },
        {
          "name": "Platform",
          "type": "PlatformBehavior::PlatformBehavior"
        },
        {
          "name": "PlatformerCharacterAnimator",
          "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator"
        },
        {
          "name": "PlatformerGamepadMapper",
          "type": "Gamepads::PlatformerGamepadMapper"
        },
        {
          "name": "PlatformerMultitouchMapper",
          "type": "MultitouchJoystick::PlatformerMultitouchMapper"
        },
        {
          "name": "PlatformerObject",
          "type": "PlatformBehavior::PlatformerObjectBehavior"
        },
        {
          "name": "RectangleMovement",
          "type": "RectangleMovement::RectangleMovement"
        },
        {
          "name": "Resizable",
          "type": "ResizableCapability::ResizableBehavior"
        },
        {
          "name": "Scale",
          "type": "ScalableCapability::ScalableBehavior"
        },
        {
          "name": "ShakeObject_PositionAngle",
          "type": "ShakeObject::ShakeObject_PositionAngle"
        },
        {
          "name": "ShakeObject_PositionAngleScale",
          "type": "ShakeObject::ShakeObject_PositionAngleScale"
        },
        {
          "name": "SmoothCamera",
          "type": "SmoothCamera::SmoothCamera"
        },
        {
          "name": "Text",
          "type": "TextContainerCapability::TextContainerBehavior"
        },
        {
          "name": "TimedBackAndForthMirroredMovement",
          "type": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement"
        },
        {
          "name": "Tween",
          "type": "Tween::TweenBehavior"
        }
      ]
    }
  ],
  "externalEvents": [
    {
      "associatedLayout": "TestingLevel",
      "lastChangeTimeStamp": 0,
      "name": "LevelEvents",
      "events": [
        {
          "colorB": 228,
          "colorG": 176,
          "colorR": 74,
          "creationTime": 0,
          "name": "SceneTemplate",
          "source": "",
          "type": "BuiltinCommonInstructions::Group",
          "events": [
            {
              "colorB": 224,
              "colorG": 16,
              "colorR": 189,
              "creationTime": 0,
              "name": "Player",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "folded": true,
                  "name": "Keyboard Player Controls",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "WASD Keybinds"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "w"
                              ]
                            },
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "Up"
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateControl"
                          },
                          "parameters": [
                            "Player",
                            "PlatformerObject",
                            "\"Up\""
                          ]
                        },
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateControl"
                          },
                          "parameters": [
                            "Player",
                            "PlatformerObject",
                            "\"Ladder\""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "a"
                              ]
                            },
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "Left"
                              ]
                            }
                          ]
                        },
                        {
                          "type": {
                            "value": "PosX"
                          },
                          "parameters": [
                            "Player",
                            ">=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateControl"
                          },
                          "parameters": [
                            "Player",
                            "PlatformerObject",
                            "\"Left\""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "d"
                              ]
                            },
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "Right"
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateControl"
                          },
                          "parameters": [
                            "Player",
                            "PlatformerObject",
                            "\"Right\""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "Space"
                              ]
                            },
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "Up"
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateControl"
                          },
                          "parameters": [
                            "Player",
                            "PlatformerObject",
                            "\"Jump\""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "s"
                              ]
                            },
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "Down"
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateControl"
                          },
                          "parameters": [
                            "Player",
                            "PlatformerObject",
                            "\"Down\""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "LShift"
                              ]
                            },
                            {
                              "type": {
                                "value": "KeyPressed"
                              },
                              "parameters": [
                                "",
                                "RShift"
                              ]
                            }
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Player::HealPlayer"
                          },
                          "parameters": [
                            "",
                            "Player",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "folded": true,
                  "name": "Checkpoints",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Save the position of the player at the beginning of the scene as the first checkpoint"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Checkpoints::SaveCheckpoint"
                          },
                          "parameters": [
                            "",
                            "Player",
                            "Player.X()",
                            "Player.Y()",
                            "\"Checkpoint\"",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "If the player Collides With the checkpoint object and it is not active this will trigger"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CollisionNP"
                          },
                          "parameters": [
                            "Player",
                            "Checkpoint",
                            "",
                            "",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "inverted": true,
                            "value": "AnimationName"
                          },
                          "parameters": [
                            "Checkpoint",
                            "\"Activate\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlaySound"
                          },
                          "parameters": [
                            "",
                            "Assets/Sounds/Checkpoint/Activate.wav",
                            "",
                            "GlobalVariable(Volume_SFX)",
                            ""
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Activate the checkpoint that the player is touching"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "Checkpoints::SaveCheckpoint"
                              },
                              "parameters": [
                                "",
                                "Player",
                                "Checkpoint.X()",
                                "Checkpoint.Y()",
                                "\"Checkpoint\"",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "AnimatableCapability::AnimatableBehavior::SetName"
                              },
                              "parameters": [
                                "Checkpoint",
                                "Animation",
                                "=",
                                "\"Activate\""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Player Death",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Detect player falling below the screen"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PosY"
                          },
                          "parameters": [
                            "Player",
                            ">",
                            "CameraBorderBottom(\"\")"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Player::TriggerDeath"
                          },
                          "parameters": [
                            "",
                            "Player",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "folded": true,
                      "name": "Handle Player Collision With PlayerKillers",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CollisionNP"
                              },
                              "parameters": [
                                "Player",
                                "PlayerKillers",
                                "",
                                "",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Player::CollideWithEnemy"
                              },
                              "parameters": [
                                "",
                                "Player",
                                "PlatformerObject",
                                "PlayerKillers",
                                ""
                              ]
                            }
                          ],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "PlayerKillers",
                                    "IsKillable",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "PlayerKillers",
                                    "IsDead",
                                    "True"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "Create"
                                  },
                                  "parameters": [
                                    "",
                                    "BloodParticles",
                                    "PlayerKillers.X() + PlayerKillers.Width()/2",
                                    "PlayerKillers.Y() + PlayerKillers.Height()/2",
                                    "\"Base Layer\""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "MettreXY"
                                  },
                                  "parameters": [
                                    "PlayerKillers",
                                    "=",
                                    "0",
                                    "=",
                                    "4000"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "PlayerKillers",
                                    "HasBeenReaped",
                                    "True"
                                  ]
                                }
                              ],
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "BuiltinCommonInstructions::CompareStrings"
                                      },
                                      "parameters": [
                                        "PlayerKillers.ObjectName()",
                                        "=",
                                        "\"TurretDemon_Base\""
                                      ]
                                    }
                                  ],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Make turret demon base death also kill its eye (don't know how to do parent/child objects right hopefully this works)"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "PickNearest"
                                          },
                                          "parameters": [
                                            "TurretDemon_Eye",
                                            "PlayerKillers.Variable(OldPosition_X)",
                                            "PlayerKillers.Variable(OldPosition_Y)",
                                            ""
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "MettreXY"
                                          },
                                          "parameters": [
                                            "TurretDemon_Eye",
                                            "=",
                                            "0",
                                            "=",
                                            "4000"
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Reset Enemies and Platforms On Player Death",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Constantly check if killable enemies and moving platforms need resetting (checkpoint hit) and if yes, reset positions (+ animations) + projectiles + timers if any, making sure everything is still perfectly synced as if start of level"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "ObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "Player",
                                "NeedsEnemiesReset",
                                "True"
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Once"
                              },
                              "parameters": []
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "folded": true,
                              "name": "Reset Platforms",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "ResetTimer"
                                      },
                                      "parameters": [
                                        "",
                                        "\"PlatformFlip\""
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "ResetTimer"
                                      },
                                      "parameters": [
                                        "",
                                        "\"PlatformFlip2\""
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "AjoutObjConcern"
                                      },
                                      "parameters": [
                                        "",
                                        "MovingPlatforms"
                                      ]
                                    }
                                  ],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::JsCode",
                                      "inlineCode": [
                                        "for (var i = 0; i < objects.length; i++) {",
                                        "    const CurrPlatform = objects[i];",
                                        "    const CurrPlatformVariables = CurrPlatform.getVariables();",
                                        "    const NewPlatform = runtimeScene.createObject(CurrPlatform.getName());",
                                        "    const NewPlatformVariables = NewPlatform.getVariables();",
                                        "",
                                        "    NewPlatform.setWidth(CurrPlatform.getWidth());",
                                        "    NewPlatform.setHeight(CurrPlatform.getHeight());",
                                        "    NewPlatform.setVariableNumber(NewPlatformVariables.get(\"OldPosition_X\"), CurrPlatformVariables.get(\"OldPosition_X\").getAsNumber());",
                                        "    NewPlatform.setVariableNumber(NewPlatformVariables.get(\"OldPosition_Y\"), CurrPlatformVariables.get(\"OldPosition_Y\").getAsNumber());",
                                        "    NewPlatform.setVariableNumber(NewPlatformVariables.get(\"OldAngle\"), CurrPlatformVariables.get(\"OldAngle\").getAsNumber());",
                                        "    NewPlatform.setPosition(NewPlatformVariables.get(\"OldPosition_X\").getAsNumber(), NewPlatformVariables.get(\"OldPosition_Y\").getAsNumber());",
                                        "    NewPlatform.setAngle(NewPlatformVariables.get(\"OldAngle\").getAsNumber());",
                                        "",
                                        "    CurrPlatform.deleteFromScene(CurrPlatform.getInstanceContainer());",
                                        "}"
                                      ],
                                      "parameterObjects": "MovingPlatforms",
                                      "useStrict": true,
                                      "eventsSheetExpanded": false
                                    }
                                  ]
                                }
                              ],
                              "parameters": []
                            },
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "folded": true,
                              "name": "Reset Enemies",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "AjoutObjConcern"
                                      },
                                      "parameters": [
                                        "",
                                        "Enemies"
                                      ]
                                    }
                                  ],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::JsCode",
                                      "inlineCode": [
                                        "for (var i = 0; i < objects.length; i++) {",
                                        "    // this check doesn't work with native GDevelop event conditions since objects[] seems to behave weirdly if you use it with pick all",
                                        "    // and doesn't only pick one enemy at a time? Hence if we use conditions to check name = \"FireDemon\" this code will run for all enemies",
                                        "    // after just a singular true with an actual fire demon",
                                        "    if (objects[i].getVariables().get(\"IsKillable\").getAsBoolean() || objects[i].getName() == \"FireDemon\") {",
                                        "        const CurrEnemy = objects[i];",
                                        "        const CurrEnemyVariables = CurrEnemy.getVariables();",
                                        "        const NewEnemy = runtimeScene.createObject(CurrEnemy.getName());",
                                        "        const NewEnemyVariables = NewEnemy.getVariables();",
                                        "",
                                        "        NewEnemy.setWidth(CurrEnemy.getWidth());",
                                        "        NewEnemy.setHeight(CurrEnemy.getHeight());",
                                        "        NewEnemy.setVariableNumber(NewEnemyVariables.get(\"OldPosition_X\"), CurrEnemyVariables.get(\"OldPosition_X\").getAsNumber());",
                                        "        NewEnemy.setVariableNumber(NewEnemyVariables.get(\"OldPosition_Y\"), CurrEnemyVariables.get(\"OldPosition_Y\").getAsNumber());",
                                        "        NewEnemy.setVariableNumber(NewEnemyVariables.get(\"OldAngle\"), CurrEnemyVariables.get(\"OldAngle\").getAsNumber());",
                                        "        NewEnemy.setVariableBoolean(NewEnemyVariables.get(\"HasBeenReaped\"), CurrEnemyVariables.get(\"HasBeenReaped\").getAsBoolean());",
                                        "",
                                        "        // copy over changeable instance variables, as these changes are not \"default\" except at the beginning of scene",
                                        "        // (uses object-wide default variable values when creating new object)",
                                        "        if (NewEnemyVariables.has(\"FireFrequencyTime\")) { // this sure is a way to check instanceof ShootingEnemies",
                                        "            NewEnemy.setVariableNumber(NewEnemyVariables.get(\"FireFrequencyTime\"), CurrEnemyVariables.get(\"FireFrequencyTime\").getAsNumber());",
                                        "            NewEnemy.setVariableNumber(NewEnemyVariables.get(\"FireOffsetTime\"), CurrEnemyVariables.get(\"FireOffsetTime\").getAsNumber());",
                                        "            NewEnemy.setVariableBoolean(NewEnemyVariables.get(\"CanShootOffscreen\"), CurrEnemyVariables.get(\"CanShootOffscreen\").getAsBoolean());",
                                        "            // GDEVELOP SUCKS",
                                        "            if (NewEnemyVariables.has(\"FixedAngle\")) {",
                                        "                NewEnemy.setVariableBoolean(NewEnemyVariables.get(\"FixedAngle\"), CurrEnemyVariables.get(\"FixedAngle\").getAsBoolean());",
                                        "            }",
                                        "            if (NewEnemyVariables.has(\"ProjectileLifetime\")) {",
                                        "                NewEnemy.setVariableNumber(NewEnemyVariables.get(\"ProjectileLifetime\"), CurrEnemyVariables.get(\"ProjectileLifetime\").getAsNumber());",
                                        "            }",
                                        "            if (NewEnemyVariables.has(\"ShockwavePower\")) {",
                                        "                NewEnemy.setVariableNumber(NewEnemyVariables.get(\"ShockwavePower\"), CurrEnemyVariables.get(\"ShockwavePower\").getAsNumber());",
                                        "            }",
                                        "            if (NewEnemyVariables.has(\"MiteMaxSpeed\")) {",
                                        "                NewEnemy.setVariableNumber(NewEnemyVariables.get(\"MiteMaxSpeed\"), CurrEnemyVariables.get(\"MiteMaxSpeed\").getAsNumber());",
                                        "            }",
                                        "        }",
                                        "        ",
                                        "        NewEnemy.setPosition(NewEnemyVariables.get(\"OldPosition_X\").getAsNumber(), NewEnemyVariables.get(\"OldPosition_Y\").getAsNumber());",
                                        "        NewEnemy.setAngle(NewEnemyVariables.get(\"OldAngle\").getAsNumber());",
                                        "",
                                        "        CurrEnemy.deleteFromScene(CurrEnemy.getInstanceContainer());",
                                        "    }",
                                        "}"
                                      ],
                                      "parameterObjects": "Enemies",
                                      "useStrict": true,
                                      "eventsSheetExpanded": false
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "AjoutObjConcern"
                                      },
                                      "parameters": [
                                        "",
                                        "ShootingEnemies"
                                      ]
                                    }
                                  ],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "SetObjectVariableAsBoolean"
                                          },
                                          "parameters": [
                                            "ShootingEnemies",
                                            "NeedsOffsetReset",
                                            "True"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "ResetObjectTimer"
                                          },
                                          "parameters": [
                                            "ShootingEnemies",
                                            "\"FireTimer\""
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "Tween::StopTween"
                                          },
                                          "parameters": [
                                            "ShootingEnemies",
                                            "Tween",
                                            "\"ChargeUp\"",
                                            ""
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "Tween::StopTween"
                                          },
                                          "parameters": [
                                            "ShootingEnemies",
                                            "Tween",
                                            "\"ChargeDown\"",
                                            ""
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "OpacityCapability::OpacityBehavior::SetValue"
                                          },
                                          "parameters": [
                                            "ShootingEnemies",
                                            "Opacity",
                                            "=",
                                            "60"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "SetObjectVariableAsBoolean"
                                          },
                                          "parameters": [
                                            "ShootingEnemies",
                                            "CurrentlyChargingUp",
                                            "False"
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "colorB": 228,
                                  "colorG": 176,
                                  "colorR": 74,
                                  "creationTime": 0,
                                  "name": "Reset Laser Demon",
                                  "source": "",
                                  "type": "BuiltinCommonInstructions::Group",
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "SetObjectVariableAsBoolean"
                                          },
                                          "parameters": [
                                            "LaserDemon_Base",
                                            "CurrentlyChargingOrHasChargedUp",
                                            "False"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "SetObjectVariableAsBoolean"
                                          },
                                          "parameters": [
                                            "LaserDemon_Base",
                                            "CurrentlyChargingOrHasChargedDown",
                                            "False"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "SetObjectVariableAsBoolean"
                                          },
                                          "parameters": [
                                            "LaserDemon_Base",
                                            "NeedsOffsetReset",
                                            "True"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "ResetObjectTimer"
                                          },
                                          "parameters": [
                                            "LaserDemon_Base",
                                            "\"FireTimer\""
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "Tween::StopTween"
                                          },
                                          "parameters": [
                                            "LaserDemon_Base",
                                            "Tween",
                                            "\"ChargeUp\"",
                                            ""
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "Tween::StopTween"
                                          },
                                          "parameters": [
                                            "LaserDemon_Base",
                                            "Tween",
                                            "\"ChargeDown\"",
                                            ""
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "OpacityCapability::OpacityBehavior::SetValue"
                                          },
                                          "parameters": [
                                            "LaserDemon_Base",
                                            "Opacity",
                                            "=",
                                            "50"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "LaserDemon_Base",
                                                "FireOffsetTime",
                                                "=",
                                                "0"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "SetObjectVariableAsBoolean"
                                              },
                                              "parameters": [
                                                "LaserDemon_Base",
                                                "NeedsOffsetReset",
                                                "False"
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "LaserDemon_Base",
                                                "FireOffsetTime",
                                                "!=",
                                                "0"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "SetObjectVariableAsBoolean"
                                              },
                                              "parameters": [
                                                "LaserDemon_Base",
                                                "NeedsOffsetReset",
                                                "True"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "AjoutObjConcern"
                                          },
                                          "parameters": [
                                            "",
                                            "LaserBeams"
                                          ]
                                        }
                                      ],
                                      "actions": [],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "SetObjectVariableAsBoolean"
                                              },
                                              "parameters": [
                                                "LaserBeams",
                                                "CurrentlyChargingOrHasChargedUp",
                                                "False"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "SetObjectVariableAsBoolean"
                                              },
                                              "parameters": [
                                                "LaserBeams",
                                                "CurrentlyChargingOrHasChargedDown",
                                                "False"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "ResetObjectTimer"
                                              },
                                              "parameters": [
                                                "LaserBeams",
                                                "\"FireTimer\""
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "Tween::StopTween"
                                              },
                                              "parameters": [
                                                "LaserBeams",
                                                "Tween",
                                                "\"ChargeUp\"",
                                                ""
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "Tween::StopTween"
                                              },
                                              "parameters": [
                                                "LaserBeams",
                                                "Tween",
                                                "\"ChargeDown\"",
                                                ""
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "MettreXY"
                                              },
                                              "parameters": [
                                                "LaserBeams",
                                                "=",
                                                "0",
                                                "=",
                                                "4000"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ],
                                  "parameters": []
                                }
                              ],
                              "parameters": []
                            },
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "name": "Reset Projectiles",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "AjoutObjConcern"
                                      },
                                      "parameters": [
                                        "",
                                        "Projectiles"
                                      ]
                                    }
                                  ],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "Delete"
                                          },
                                          "parameters": [
                                            "Projectiles",
                                            ""
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "parameters": []
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "Player",
                                    "NeedsEnemiesReset",
                                    ""
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Sound and Visual Effects",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "folded": true,
                      "name": "Heart Sound Logic",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "DepartScene"
                              },
                              "parameters": [
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlaySoundCanal"
                              },
                              "parameters": [
                                "",
                                "AssetDev/Audio/Heartbeat_Amplified.wav",
                                "2",
                                "yes",
                                "100",
                                "1"
                              ]
                            },
                            {
                              "type": {
                                "value": "ModVolumeSoundCanal"
                              },
                              "parameters": [
                                "",
                                "2",
                                "=",
                                "0"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "Player",
                                "Lives",
                                "=",
                                "1"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ModVolumeSoundCanal"
                              },
                              "parameters": [
                                "",
                                "2",
                                "=",
                                "60"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SoundCanalVolume"
                              },
                              "parameters": [
                                "",
                                "2",
                                ">",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "Player",
                                "Lives",
                                ">",
                                "1"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ModVolumeSoundCanal"
                              },
                              "parameters": [
                                "",
                                "2",
                                "=",
                                "0"
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::IsJumping"
                          },
                          "parameters": [
                            "Player",
                            "PlatformerObject"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": []
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Player::IsSteppingOnFloor"
                          },
                          "parameters": [
                            "",
                            "Player",
                            "PlatformerObject",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlaySoundCanal"
                          },
                          "parameters": [
                            "",
                            "assets/audio/grass.mp3",
                            "1",
                            "",
                            "20",
                            "RandomFloatInRange(0.7, 1.2)"
                          ]
                        },
                        {
                          "type": {
                            "value": "Create"
                          },
                          "parameters": [
                            "",
                            "DustParticle",
                            "Player.BoundingBoxCenterX()",
                            "Player.BoundingBoxBottom()",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "ChangePlan"
                          },
                          "parameters": [
                            "DustParticle",
                            "=",
                            "-1"
                          ]
                        },
                        {
                          "type": {
                            "value": "SetAngle"
                          },
                          "parameters": [
                            "DustParticle",
                            "=",
                            "270"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": []
            },
            {
              "colorB": 224,
              "colorG": 16,
              "colorR": 189,
              "creationTime": 0,
              "name": "Enemies",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Set Positions for Killable Enemies and Moving Platforms To Reset To",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Executing actions on each object in a group do need a pick all"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "AjoutObjConcern"
                              },
                              "parameters": [
                                "",
                                "Enemies"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "Enemies",
                                    "IsKillable",
                                    "True"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "Enemies",
                                    "OldPosition_X",
                                    "=",
                                    "Enemies.X()"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "Enemies",
                                    "OldPosition_Y",
                                    "=",
                                    "Enemies.Y()"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "Enemies",
                                    "OldAngle",
                                    "=",
                                    "Enemies.Angle()"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "AjoutObjConcern"
                              },
                              "parameters": [
                                "",
                                "MovingPlatforms"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "MovingPlatforms",
                                    "OldPosition_X",
                                    "=",
                                    "MovingPlatforms.X()"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "MovingPlatforms",
                                    "OldPosition_Y",
                                    "=",
                                    "MovingPlatforms.Y()"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "MovingPlatforms",
                                    "OldAngle",
                                    "=",
                                    "MovingPlatforms.Angle()"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "folded": true,
                  "name": "Shoot Projectiles for ShootingEnemies",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ResetObjectTimer"
                          },
                          "parameters": [
                            "ShootingEnemies",
                            "\"FireTimer\""
                          ]
                        },
                        {
                          "type": {
                            "value": "OpacityCapability::OpacityBehavior::SetValue"
                          },
                          "parameters": [
                            "ShootingEnemies",
                            "Opacity",
                            "=",
                            "100"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Precondition: FireFrequencyTime >= 1 sec"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AjoutObjConcern"
                          },
                          "parameters": [
                            "",
                            "ShootingEnemies"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Reset timer if offset reached"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "ObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "NeedsOffsetReset",
                                "True"
                              ]
                            },
                            {
                              "type": {
                                "value": "CompareObjectTimer"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "\"FireTimer\"",
                                ">=",
                                "ShootingEnemies.Variable(FireOffsetTime)"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SetObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "NeedsOffsetReset",
                                "False"
                              ]
                            },
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "\"FireTimer\""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Charging up animation (glow) 1 sec before shooting"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "ObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "CurrentlyChargingUp",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "ObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "NeedsOffsetReset",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "CompareObjectTimer"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "\"FireTimer\"",
                                ">=",
                                "ShootingEnemies.Variable(FireFrequencyTime) - 1"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "Tween",
                                "\"ChargeUp\"",
                                "255",
                                "\"linear\"",
                                "1",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "SetObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "CurrentlyChargingUp",
                                "True"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Shoot and charge down glow over 0.3 seconds"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "ObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "NeedsOffsetReset",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "CompareObjectTimer"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "\"FireTimer\"",
                                ">=",
                                "ShootingEnemies.Variable(FireFrequencyTime)"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "Tween",
                                "\"ChargeDown\"",
                                "100",
                                "\"easeOutQuad\"",
                                "0.3",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "SetObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "CurrentlyChargingUp",
                                "False"
                              ]
                            },
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "ShootingEnemies",
                                "\"FireTimer\""
                              ]
                            }
                          ],
                          "events": [
                            {
                              "folded": true,
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::Or"
                                  },
                                  "parameters": [],
                                  "subInstructions": [
                                    {
                                      "type": {
                                        "value": "IsOnScreen::InOnScreen::IsOnScreen"
                                      },
                                      "parameters": [
                                        "ShootingEnemies",
                                        "InOnScreen",
                                        "0",
                                        ""
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "BuiltinCommonInstructions::And"
                                      },
                                      "parameters": [],
                                      "subInstructions": [
                                        {
                                          "type": {
                                            "value": "ObjectVariableAsBoolean"
                                          },
                                          "parameters": [
                                            "ShootingEnemies",
                                            "CanShootOffscreen",
                                            "True"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "Distance"
                                          },
                                          "parameters": [
                                            "ShootingEnemies",
                                            "Player",
                                            "4000",
                                            ""
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "actions": [],
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::JsCode",
                                  "inlineCode": [
                                    "function ShootSpikeDemon(SpikeDemonBase) {",
                                    "    const NumSpikes = 6;",
                                    "    const SpikeScale = 64;",
                                    "    const SpikeDemonBaseAngle = SpikeDemonBase.getAngle();",
                                    "",
                                    "    for (var i = 0; i < NumSpikes; i++) {",
                                    "        var SpikeAngle = (360/NumSpikes)*i + SpikeDemonBaseAngle;",
                                    "",
                                    "        var Spike = runtimeScene.createObject(\"SpikeDemon_Spike\");",
                                    "        Spike.setWidth(SpikeScale);",
                                    "        Spike.setHeight(SpikeScale);",
                                    "        // doesn't work without this print statement (gives time for renderer to update() maybe?)",
                                    "        console.log(Spike.getX() + \"\\n\" + Spike.getY() + \"\\n\" + Spike.getWidth() + \"\\n\" + Spike.getHeight());",
                                    "        Spike.setPosition(SpikeDemonBase.x + SpikeDemonBase.getWidth() / 3.6,",
                                    "                SpikeDemonBase.y + SpikeDemonBase.getHeight() / 3.2);",
                                    "        Spike.setAngle(SpikeAngle);",
                                    "        ",
                                    "        Spike.setLayer(\"Base Layer\");",
                                    "    }",
                                    "}",
                                    "",
                                    "function ShootStalactiteDemon(StalactiteDemonBase) {",
                                    "    const SpikeLength = 96;",
                                    "",
                                    "    var Spike = runtimeScene.createObject(\"StalactiteDemon_Spike\");",
                                    "    Spike.setWidth(SpikeLength);",
                                    "    Spike.setHeight(SpikeLength / 2);",
                                    "    // doesn't work without this print statement (gives time for renderer to update() maybe?)",
                                    "    console.log(Spike.getX() + \"\\n\" + Spike.getY() + \"\\n\" + Spike.getWidth() + \"\\n\" + Spike.getHeight());",
                                    "    Spike.setPosition(StalactiteDemonBase.x + StalactiteDemonBase.getWidth() / 3,",
                                    "            StalactiteDemonBase.y + StalactiteDemonBase.getHeight() - StalactiteDemonBase.getHeight() / 3);",
                                    "    Spike.setAngle(90);",
                                    "",
                                    "    Spike.setLayer(\"Base Layer\");",
                                    "}",
                                    "",
                                    "function ShootStalagmiteDemon(StalagmiteDemonBase) {",
                                    "    const SpikeLength = 96;",
                                    "    ",
                                    "    var Spike = runtimeScene.createObject(\"StalagmiteDemon_Spike\");",
                                    "    Spike.setWidth(SpikeLength);",
                                    "    Spike.setHeight(SpikeLength / 2);",
                                    "    // doesn't work without this print statement (gives time for renderer to update() maybe?)",
                                    "    console.log(Spike.getX() + \"\\n\" + Spike.getY() + \"\\n\" + Spike.getWidth() + \"\\n\" + Spike.getHeight());",
                                    "    Spike.setPosition(StalagmiteDemonBase.x + StalagmiteDemonBase.getWidth() / 3,",
                                    "            StalagmiteDemonBase.y);",
                                    "    Spike.setAngle(270);",
                                    "",
                                    "    Spike.setLayer(\"Base Layer\");",
                                    "}",
                                    "",
                                    "function ShootTurretDemon(TurretDemonEye) {",
                                    "    const SpikeScale = 64;",
                                    "    const Player = runtimeScene.getObjects(\"Player\")[0];",
                                    "",
                                    "    var Spike = runtimeScene.createObject(\"TurretDemon_Spike\");",
                                    "    Spike.setWidth(SpikeScale);",
                                    "    Spike.setHeight(SpikeScale);",
                                    "    // doesn't work without this print statement (gives time for renderer to update() maybe?)",
                                    "    console.log(Spike.getX() + \"\\n\" + Spike.getY() + \"\\n\" + Spike.getWidth() + \"\\n\" + Spike.getHeight());",
                                    "    Spike.setPosition(TurretDemonEye.x + TurretDemonEye.getWidth() / 2.5, TurretDemonEye.y + TurretDemonEye.getHeight() / 2.5);",
                                    "    // point initially towards player; have to do calcs since rotateTowardsPosition with immediate rotation seems to not work",
                                    "    Spike.setAngle(Math.atan((Spike.getCenterX() - Player.getCenterX()) / (Spike.getCenterY - Player.getCenterY())));",
                                    "    ",
                                    "    Spike.getVariables().get(\"Lifetime\").setNumber(TurretDemonEye.getVariables().get(\"ProjectileLifetime\").getAsNumber());",
                                    "    Spike.resetTimer(\"TimeAlive\");",
                                    "",
                                    "    Spike.setLayer(\"Base Layer\");",
                                    "}",
                                    "",
                                    "function ShootShockwaveDemon(ShockwaveDemonBase) {",
                                    "    const ShockwaveScale = 384;",
                                    "    const Player = runtimeScene.getObjects(\"Player\")[0];",
                                    "    const ShockwaveDemonBaseVariables = ShockwaveDemonBase.getVariables();",
                                    "    const ShockwavePower = ShockwaveDemonBaseVariables.get(\"ShockwavePower\").getAsNumber();",
                                    "",
                                    "    var Shockwave = runtimeScene.createObject(\"ShockwaveDemon_Shockwave\");",
                                    "    Shockwave.setWidth(ShockwaveScale);",
                                    "    Shockwave.setHeight(ShockwaveScale);",
                                    "    // doesn't work without this print statement (gives time for renderer to update() maybe?)",
                                    "    console.log(Shockwave.getX() + \"\\n\" + Shockwave.getY() + \"\\n\" + Shockwave.getWidth() + \"\\n\" + Shockwave.getHeight());",
                                    "    Shockwave.setPosition(ShockwaveDemonBase.x - ShockwaveDemonBase.getWidth() / 2,",
                                    "            ShockwaveDemonBase.y - ShockwaveDemonBase.getHeight() / 2);",
                                    "",
                                    "    if (ShockwaveDemonBaseVariables.get(\"FixedAngle\").getAsBoolean()) {",
                                    "        var AngleToShoot = ShockwaveDemonBase.getAngle() + 90;",
                                    "        Shockwave.setAngle(180 + AngleToShoot);",
                                    "        Shockwave.addForceTowardPosition(ShockwaveDemonBase.getX() + 10000 * Math.cos(AngleToShoot * Math.PI / 180),",
                                    "                ShockwaveDemonBase.getY() + 10000 * Math.sin(AngleToShoot * Math.PI / 180), ShockwavePower, 1);",
                                    "    } else {",
                                    "        Shockwave.setAngle(180 + Shockwave.getAngleToObject(Player));",
                                    "        Shockwave.addForceTowardPosition(Player.getX() + Player.getWidth() / 2, Player.getY() + Player.getHeight() / 2,",
                                    "                ShockwavePower, 1);",
                                    "    }",
                                    "    ",
                                    "    Shockwave.getVariables().get(\"Lifetime\").setNumber(ShockwaveDemonBaseVariables.get(\"ProjectileLifetime\").getAsNumber());",
                                    "    Shockwave.getVariables().get(\"Power\").setNumber(ShockwaveDemonBaseVariables.get(\"ShockwavePower\").getAsNumber());",
                                    "    Shockwave.resetTimer(\"TimeAlive\");",
                                    "",
                                    "    Shockwave.setLayer(\"Base Layer\");",
                                    "}",
                                    "",
                                    "function ShootMiteDemon(MiteDemonBase) {",
                                    "    const MiteSize = 128;",
                                    "    const Player = runtimeScene.getObjects(\"Player\")[0];",
                                    "    const MiteDemonBaseVariables = MiteDemonBase.getVariables();",
                                    "",
                                    "    var Mite = runtimeScene.createObject(\"MiteDemon_Mite\");",
                                    "    Mite.setWidth(MiteSize);",
                                    "    Mite.setHeight(MiteSize);",
                                    "    // doesn't work without this print statement (gives time for renderer to update() maybe?)",
                                    "    console.log(Mite.getX() + \"\\n\" + Mite.getY() + \"\\n\" + Mite.getWidth() + \"\\n\" + Mite.getHeight());",
                                    "    Mite.setPosition(MiteDemonBase.x + MiteDemonBase.getWidth() / 4,",
                                    "            MiteDemonBase.y + MiteDemonBase.getHeight() / 3);",
                                    "",
                                    "    if (Mite.getCenterX() < Player.getX()) {",
                                    "        Mite.setAngle(0);",
                                    "    } else {",
                                    "        Mite.setAngle(180);",
                                    "    }",
                                    "",
                                    "    Mite.getVariables().get(\"Lifetime\").setNumber(MiteDemonBaseVariables.get(\"ProjectileLifetime\").getAsNumber());",
                                    "    Mite.getVariables().get(\"MaxSpeed\").setNumber(MiteDemonBaseVariables.get(\"MiteMaxSpeed\").getAsNumber());",
                                    "    Mite.resetTimer(\"TimeAlive\");",
                                    "",
                                    "    Mite.setLayer(\"Base Layer\");",
                                    "}",
                                    "",
                                    "for (var x = 0; x < objects.length; x++) {",
                                    "    // \"Polymorphism\"",
                                    "    const ShootingEnemy = objects[x];",
                                    "    const ShootingEnemyName = ShootingEnemy.getName();",
                                    "    console.log(ShootingEnemyName)",
                                    "",
                                    "    if (ShootingEnemyName === \"SpikeDemon_Base\") {",
                                    "        ShootSpikeDemon(ShootingEnemy);",
                                    "    } else if (ShootingEnemyName === \"StalactiteDemon_Base\") {",
                                    "        ShootStalactiteDemon(ShootingEnemy);",
                                    "    } else if (ShootingEnemyName === \"StalagmiteDemon_Base\") {",
                                    "        ShootStalagmiteDemon(ShootingEnemy);",
                                    "    } else if (ShootingEnemyName === \"TurretDemon_Eye\") {",
                                    "        ShootTurretDemon(ShootingEnemy);",
                                    "    } else if (ShootingEnemyName === \"ShockwaveDemon_Base\") {",
                                    "        ShootShockwaveDemon(ShootingEnemy);",
                                    "    } else if (ShootingEnemyName === \"MiteDemon_Base\") {",
                                    "        ShootMiteDemon(ShootingEnemy);",
                                    "    }",
                                    "}",
                                    ""
                                  ],
                                  "parameterObjects": "ShootingEnemies",
                                  "useStrict": true,
                                  "eventsSheetExpanded": true
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Kill Projectiles on Collision With ProjectileKillers",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Collisions aren't even happy with a pick all and apparently need a for each"
                    },
                    {
                      "type": "BuiltinCommonInstructions::ForEach",
                      "object": "ProjectilesThatDieToProjectileKillers",
                      "conditions": [],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CollisionNP"
                              },
                              "parameters": [
                                "ProjectilesThatDieToProjectileKillers",
                                "ProjectileKillers",
                                "",
                                "",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Create"
                              },
                              "parameters": [
                                "",
                                "ProjectileDeathParticles",
                                "ProjectilesThatDieToProjectileKillers.X() + ProjectilesThatDieToProjectileKillers.Width() / 2",
                                "ProjectilesThatDieToProjectileKillers.Y() + ProjectilesThatDieToProjectileKillers.Height() / 2",
                                "\"Base Layer\""
                              ]
                            },
                            {
                              "type": {
                                "value": "Delete"
                              },
                              "parameters": [
                                "ProjectilesThatDieToProjectileKillers",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "folded": true,
                  "name": "Control Projectile Despawning for ProjectilesThatDespawnOnLifetime",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AjoutObjConcern"
                          },
                          "parameters": [
                            "",
                            "ProjectilesThatDespawnOnLifetime"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Starting the timer is still left to the base ShootingEnemy since not all of them have manually-lifetimed projectiles and I don't see a clean way to group those into another object group and do a \"belongs to group\" check in ShootingEnemies' Shoot() code (like instanceof in Java or something)"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CompareObjectTimer"
                              },
                              "parameters": [
                                "ProjectilesThatDespawnOnLifetime",
                                "\"TimeAlive\"",
                                ">=",
                                "ProjectilesThatDespawnOnLifetime.Variable(Lifetime)"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Create"
                              },
                              "parameters": [
                                "",
                                "BloodParticles",
                                "ProjectilesThatDespawnOnLifetime.X() + ProjectilesThatDespawnOnLifetime.Width() / 2",
                                "ProjectilesThatDespawnOnLifetime.Y() + ProjectilesThatDespawnOnLifetime.Height() / 2",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "Delete"
                              },
                              "parameters": [
                                "ProjectilesThatDespawnOnLifetime",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "name": "Flying Demon",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "folded": true,
                  "name": "Fire Demon",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AnimatableCapability::AnimatableBehavior::Name"
                          },
                          "parameters": [
                            "FireDemon",
                            "Animation",
                            "=",
                            "\"Fire\""
                          ]
                        },
                        {
                          "type": {
                            "value": "ObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "FireDemon",
                            "IsKillable",
                            "True"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "FireDemon",
                            "IsKillable",
                            "False"
                          ]
                        },
                        {
                          "type": {
                            "value": "EffectCapability::EffectBehavior::EnableEffect"
                          },
                          "parameters": [
                            "FireDemon",
                            "Effect",
                            "\"ChromaticAberration\"",
                            "yes"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "AnimatableCapability::AnimatableBehavior::Name"
                          },
                          "parameters": [
                            "FireDemon",
                            "Animation",
                            "=",
                            "\"Fire\""
                          ]
                        },
                        {
                          "type": {
                            "value": "ObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "FireDemon",
                            "IsKillable",
                            "False"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "FireDemon",
                            "IsKillable",
                            "True"
                          ]
                        },
                        {
                          "type": {
                            "value": "EffectCapability::EffectBehavior::EnableEffect"
                          },
                          "parameters": [
                            "FireDemon",
                            "Effect",
                            "\"ChromaticAberration\"",
                            "no"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "name": "Horizontal Demon",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "name": "Spike Demon",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "name": "Stalactite Demon",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "name": "Stalagmite Demon",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "folded": true,
                  "name": "Laser Demon",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "LaserDemon_Beam",
                            "OrgPosition_X",
                            "=",
                            "LaserDemon_Beam.X()"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "LaserDemon_Beam",
                            "OrgPosition_Y",
                            "=",
                            "LaserDemon_Beam.Y()"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "LaserDemon_BeamSingle",
                            "OrgPosition_X",
                            "=",
                            "LaserDemon_BeamSingle.X()"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "LaserDemon_BeamSingle",
                            "OrgPosition_Y",
                            "=",
                            "LaserDemon_BeamSingle.Y()"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "FireOffsetTime",
                                "=",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SetObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "NeedsOffsetReset",
                                "False"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Precondition: FireOffsetTimer <= OnOffTime >= 0.5 sec"
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Laser Base Timer",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "DepartScene"
                              },
                              "parameters": [
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "\"FireTimer\""
                              ]
                            },
                            {
                              "type": {
                                "value": "OpacityCapability::OpacityBehavior::SetValue"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "Opacity",
                                "=",
                                "50"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Split into two conditions since if FireOffsetTimer < 1, we have to charge up at end of "
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "FireOffsetTime",
                                "<",
                                "1"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Make sure if beam is supposed to come on almost immediately, we still play a short charging up animation"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedUp",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "Tween",
                                    "\"ChargeUp\"",
                                    "255",
                                    "\"linear\"",
                                    "max(LaserDemon_Base.FireOffsetTime, 0.15)",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedUp",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedDown",
                                    "False"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Charging down animation 0.5 sec before laser disappears"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedDown",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "NeedsOffsetReset",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "\"FireTimer\"",
                                    ">=",
                                    "LaserDemon_Base.OnOffTime - 0.5"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "Tween",
                                    "\"ChargeDown\"",
                                    "50",
                                    "\"linear\"",
                                    "0.5",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedDown",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedUp",
                                    "False"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "TextContainerCapability::TextContainerBehavior::SetValue"
                                  },
                                  "parameters": [
                                    "Test",
                                    "Text",
                                    "=",
                                    "ToString(RandomFloat(1))"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Start charging up again before the end of the cycle if FireOffsetTime < 1"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedDown",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedUp",
                                    "False"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "\"FireTimer\"",
                                    ">=",
                                    "(2 * LaserDemon_Base.OnOffTime) - LaserDemon_Base.FireOffsetTime - (1 - LaserDemon_Base.FireOffsetTime)"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "Tween",
                                    "\"ChargeUp\"",
                                    "255",
                                    "\"linear\"",
                                    "1",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedUp",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "TextContainerCapability::TextContainerBehavior::SetValue"
                                  },
                                  "parameters": [
                                    "Test2",
                                    "Text",
                                    "=",
                                    "ToString(RandomFloat(1))"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "FireOffsetTime",
                                ">=",
                                "1"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Charging up animation (glow) 1 sec before laser appears"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedUp",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "\"FireTimer\"",
                                    ">=",
                                    "LaserDemon_Base.FireOffsetTime - 1"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "Tween",
                                    "\"ChargeUp\"",
                                    "255",
                                    "\"linear\"",
                                    "1",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedUp",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedDown",
                                    "False"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Charging down animation 0.5 sec before laser disappears"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedDown",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "NeedsOffsetReset",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "\"FireTimer\"",
                                    ">=",
                                    "LaserDemon_Base.OnOffTime - 0.5"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "Tween",
                                    "\"ChargeDown\"",
                                    "50",
                                    "\"linear\"",
                                    "0.5",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "CurrentlyChargingOrHasChargedDown",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "TextContainerCapability::TextContainerBehavior::SetValue"
                                  },
                                  "parameters": [
                                    "Test",
                                    "Text",
                                    "=",
                                    "ToString(RandomFloat(1))"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Reset timer if offset reached"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "ObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "NeedsOffsetReset",
                                "True"
                              ]
                            },
                            {
                              "type": {
                                "value": "CompareObjectTimer"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "\"FireTimer\"",
                                ">=",
                                "LaserDemon_Base.FireOffsetTime"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SetObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "NeedsOffsetReset",
                                "False"
                              ]
                            },
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "\"FireTimer\""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Reset timer when the full cycle of OnOffTime * 2 secs ends"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CompareObjectTimer"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "\"FireTimer\"",
                                ">=",
                                "2 * LaserDemon_Base.OnOffTime - LaserDemon_Base.FireOffsetTime"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "\"FireTimer\""
                              ]
                            },
                            {
                              "type": {
                                "value": "SetObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "CurrentlyChargingOrHasChargedUp",
                                "False"
                              ]
                            },
                            {
                              "type": {
                                "value": "SetObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "LaserDemon_Base",
                                "CurrentlyChargingOrHasChargedDown",
                                "False"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "VarObjet"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "FireOffsetTime",
                                    "!=",
                                    "0"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserDemon_Base",
                                    "NeedsOffsetReset",
                                    "True"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Precondition: laser beam instance variables are the same as their respective bases'"
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "folded": true,
                      "name": "Laser Beam Timer",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "DepartScene"
                              },
                              "parameters": [
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "LaserBeams",
                                "\"FireTimer\""
                              ]
                            },
                            {
                              "type": {
                                "value": "MettreXY"
                              },
                              "parameters": [
                                "LaserBeams",
                                "=",
                                "0",
                                "=",
                                "4000"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "AjoutObjConcern"
                              },
                              "parameters": [
                                "",
                                "LaserBeams"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Charging up animation for the first 0.15 secs of the laser being shown (after base has already fully charged up and \"activated\" the laser)"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "CurrentlyChargingOrHasChargedUp",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "\"FireTimer\"",
                                    ">=",
                                    "LaserBeams.FireOffsetTime"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "CurrentlyChargingOrHasChargedUp",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ResetObjectTimer"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "\"FireTimer\""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "OpacityCapability::OpacityBehavior::SetValue"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "Opacity",
                                    "=",
                                    "60"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "MettreXY"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "=",
                                    "LaserBeams.OrgPosition_X",
                                    "=",
                                    "LaserBeams.OrgPosition_Y"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "Tween",
                                    "\"ChargeUp\"",
                                    "255",
                                    "\"linear\"",
                                    "0.15",
                                    ""
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Charging down animation for the last 0.3 secs of the laser being shown (concurrently to the base changing down)"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "CurrentlyChargingOrHasChargedDown",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "CurrentlyChargingOrHasChargedUp",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "\"FireTimer\"",
                                    ">=",
                                    "LaserBeams.OnOffTime - 0.3"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "CurrentlyChargingOrHasChargedDown",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "Tween",
                                    "\"ChargeDown\"",
                                    "60",
                                    "\"linear\"",
                                    "0.3",
                                    ""
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Move laser beam away to hide it"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "CurrentlyChargingOrHasChargedDown",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "PosY"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "!=",
                                    "6000"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "\"FireTimer\"",
                                    ">=",
                                    "LaserBeams.OnOffTime"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "MettreXY"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "=",
                                    "0",
                                    "=",
                                    "4000"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Reset laser beam timer when the full cycle of OnOffTime * 2 secs ends"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "CurrentlyChargingOrHasChargedDown",
                                    "True"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "\"FireTimer\"",
                                    ">=",
                                    "2 * LaserBeams.OnOffTime- LaserBeams.FireOffsetTime"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "ResetObjectTimer"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "\"FireTimer\""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "CurrentlyChargingOrHasChargedUp",
                                    "False"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "LaserBeams",
                                    "CurrentlyChargingOrHasChargedDown",
                                    "False"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "folded": true,
                  "name": "Laser Demon Permanent",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "folded": true,
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ChangePlan"
                          },
                          "parameters": [
                            "LaserRing",
                            "=",
                            "999"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Start of scene: reset everything, play very brief charging up animation for laser demon base, laser beam and laser ring"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "OpacityCapability::OpacityBehavior::SetValue"
                              },
                              "parameters": [
                                "LaserDemon_BasePermanent",
                                "Opacity",
                                "=",
                                "40"
                              ]
                            },
                            {
                              "type": {
                                "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                              },
                              "parameters": [
                                "LaserDemon_BasePermanent",
                                "Tween",
                                "\"ChargeUp\"",
                                "255",
                                "\"easeInQuad\"",
                                "0.15",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserDemon_BeamPermanent",
                                "Effect",
                                "\"Bloom\"",
                                "\"bloomScale\"",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserDemon_BeamPermanent",
                                "Effect",
                                "\"Bloom\"",
                                "\"brightness\"",
                                "0.25"
                              ]
                            },
                            {
                              "type": {
                                "value": "Wait"
                              },
                              "parameters": [
                                "0.05"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserDemon_BeamPermanent",
                                "Effect",
                                "\"Bloom\"",
                                "\"brightness\"",
                                "0.5"
                              ]
                            },
                            {
                              "type": {
                                "value": "Wait"
                              },
                              "parameters": [
                                "0.05"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserDemon_BeamPermanent",
                                "Effect",
                                "\"Bloom\"",
                                "\"bloomScale\"",
                                "1"
                              ]
                            },
                            {
                              "type": {
                                "value": "Wait"
                              },
                              "parameters": [
                                "0.05"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserDemon_BeamPermanent",
                                "Effect",
                                "\"Bloom\"",
                                "\"bloomScale\"",
                                "2"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserDemon_BeamPermanentSingle",
                                "Effect",
                                "\"Bloom\"",
                                "\"bloomScale\"",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserDemon_BeamPermanentSingle",
                                "Effect",
                                "\"Bloom\"",
                                "\"brightness\"",
                                "0.25"
                              ]
                            },
                            {
                              "type": {
                                "value": "Wait"
                              },
                              "parameters": [
                                "0.05"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserDemon_BeamPermanentSingle",
                                "Effect",
                                "\"Bloom\"",
                                "\"brightness\"",
                                "0.5"
                              ]
                            },
                            {
                              "type": {
                                "value": "Wait"
                              },
                              "parameters": [
                                "0.05"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserDemon_BeamPermanentSingle",
                                "Effect",
                                "\"Bloom\"",
                                "\"bloomScale\"",
                                "1"
                              ]
                            },
                            {
                              "type": {
                                "value": "Wait"
                              },
                              "parameters": [
                                "0.05"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserDemon_BeamPermanentSingle",
                                "Effect",
                                "\"Bloom\"",
                                "\"bloomScale\"",
                                "2"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserRing",
                                "Effect",
                                "\"Bloom\"",
                                "\"bloomScale\"",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserRing",
                                "Effect",
                                "\"Bloom\"",
                                "\"brightness\"",
                                "0.25"
                              ]
                            },
                            {
                              "type": {
                                "value": "Wait"
                              },
                              "parameters": [
                                "0.05"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserRing",
                                "Effect",
                                "\"Bloom\"",
                                "\"brightness\"",
                                "0.5"
                              ]
                            },
                            {
                              "type": {
                                "value": "Wait"
                              },
                              "parameters": [
                                "0.05"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserRing",
                                "Effect",
                                "\"Bloom\"",
                                "\"bloomScale\"",
                                "1"
                              ]
                            },
                            {
                              "type": {
                                "value": "Wait"
                              },
                              "parameters": [
                                "0.05"
                              ]
                            },
                            {
                              "type": {
                                "value": "EffectCapability::EffectBehavior::SetEffectDoubleParameter"
                              },
                              "parameters": [
                                "LaserRing",
                                "Effect",
                                "\"Bloom\"",
                                "\"bloomScale\"",
                                "2"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "folded": true,
                  "name": "Turret Demon",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Spike Homing",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "AddForceVers"
                              },
                              "parameters": [
                                "TurretDemon_Spike",
                                "Player",
                                "350",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "RotateTowardPosition"
                              },
                              "parameters": [
                                "TurretDemon_Spike",
                                "Player.CenterX()",
                                "Player.CenterY()",
                                "90",
                                ""
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Eye Rotation Towards Player",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "RotateTowardPosition"
                              },
                              "parameters": [
                                "TurretDemon_Eye",
                                "Player.CenterX()",
                                "Player.CenterY()",
                                "0",
                                ""
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "name": "Shockwave Demon",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Player Collides With Shockwave Projectile",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CollisionNP"
                              },
                              "parameters": [
                                "Player",
                                "ShockwaveDemon_Shockwave",
                                "",
                                "",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AddForceAL"
                              },
                              "parameters": [
                                "Player",
                                "180 + ShockwaveDemon_Shockwave.Angle()",
                                "ShockwaveDemon_Shockwave.Variable(Power)",
                                ""
                              ]
                            }
                          ],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::IsFalling"
                                  },
                                  "parameters": [
                                    "Player",
                                    "PlatformerObject"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentFallSpeed"
                                  },
                                  "parameters": [
                                    "Player",
                                    "PlatformerObject",
                                    "=",
                                    "Player.PlatformerObject::MaxFallingSpeed() / (ShockwaveDemon_Shockwave.Variable(Lifetime) * 50)"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Don't let players kill enemies while in shockwave since they are usually technically \"falling\" but just really slowly"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "Player",
                                    "IsInShockwave",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "SetObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "Player",
                                    "IsInShockwave",
                                    "True"
                                  ]
                                }
                              ],
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Begin smooth camera catch-up speed increase if we just entered a shockwave, and make sure we aren't trying to do both at the same time by pausing the other timer (see next section below)"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "PauseObjectTimer"
                                      },
                                      "parameters": [
                                        "Player",
                                        "\"CameraDecreaseSpeed\""
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "ResetObjectTimer"
                                      },
                                      "parameters": [
                                        "Player",
                                        "\"CameraIncreaseSpeed\""
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "UnPauseObjectTimer"
                                      },
                                      "parameters": [
                                        "Player",
                                        "\"CameraIncreaseSpeed\""
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 133,
                                    "g": 76,
                                    "r": 76,
                                    "textB": 255,
                                    "textG": 255,
                                    "textR": 255
                                  },
                                  "comment": "Unrelated, but hijack this condition to also make it slower for players to hold D or something and leave a vertical shockwave (this doesn't need to be done gradually, fortunately)"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "PlatformBehavior::MaxSpeed"
                                      },
                                      "parameters": [
                                        "Player",
                                        "PlatformerObject",
                                        "=",
                                        "Player.PlatformerObject::MaxSpeed() / (ShockwaveDemon_Shockwave.Variable(Lifetime) * 3)"
                                      ]
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "For the first 0.5 secs of entering a shockwave (coordinated by CameraIncreaseSpeed timer from above), increase smooth camera's catch-up speed to keep up with player while making sure normal gameplay is still on a slower catch-up speed that doesn't look jerky. However, we do have to gradually increase the catch-up speed because if we just jump from 0.9 to 1, the camera will jump to re-center to the player and will cause a massive jerk."
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "ObjectTimerPaused"
                                  },
                                  "parameters": [
                                    "Player",
                                    "\"CameraIncreaseSpeed\""
                                  ]
                                }
                              ],
                              "actions": [],
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "CompareObjectTimer"
                                      },
                                      "parameters": [
                                        "Player",
                                        "\"CameraIncreaseSpeed\"",
                                        "<=",
                                        "0.5"
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "SmoothCamera::SmoothCamera::SetLeftwardSpeed"
                                      },
                                      "parameters": [
                                        "Player",
                                        "SmoothCamera",
                                        "0.9 + Player.ObjectTimerElapsedTime(\"CameraIncreaseSpeed\") / 5",
                                        ""
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "SmoothCamera::SmoothCamera::SetRightwardSpeed"
                                      },
                                      "parameters": [
                                        "Player",
                                        "SmoothCamera",
                                        "0.9 + Player.ObjectTimerElapsedTime(\"CameraIncreaseSpeed\") / 5",
                                        ""
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "SmoothCamera::SmoothCamera::SetUpwardSpeed"
                                      },
                                      "parameters": [
                                        "Player",
                                        "SmoothCamera",
                                        "0.75 + Player.ObjectTimerElapsedTime(\"CameraIncreaseSpeed\") / 2",
                                        ""
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "SmoothCamera::SmoothCamera::SetDownwardSpeed"
                                      },
                                      "parameters": [
                                        "Player",
                                        "SmoothCamera",
                                        "0.9 + Player.ObjectTimerElapsedTime(\"CameraIncreaseSpeed\") / 5",
                                        ""
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "CompareObjectTimer"
                                      },
                                      "parameters": [
                                        "Player",
                                        "\"CameraIncreaseSpeed\"",
                                        ">",
                                        "0.5"
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "PauseObjectTimer"
                                      },
                                      "parameters": [
                                        "Player",
                                        "\"CameraIncreaseSpeed\""
                                      ]
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Shockwaves have difficulty picking up players/mites vertically from the ground so we have to simulate jump on initial hit by a vertically-moving shockwave"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::IsFalling"
                                  },
                                  "parameters": [
                                    "Player",
                                    "PlatformerObject"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CollisionNP"
                                  },
                                  "parameters": [
                                    "Player",
                                    "Platforms",
                                    "",
                                    "",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::CompareNumbers"
                                  },
                                  "parameters": [
                                    "mod(ShockwaveDemon_Shockwave.Angle(), 360)",
                                    "=",
                                    "90"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::SimulateJumpKey"
                                  },
                                  "parameters": [
                                    "Player",
                                    "PlatformerObject"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "ObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "Player",
                                "IsInShockwave",
                                "True"
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Or"
                              },
                              "parameters": [],
                              "subInstructions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PosY"
                                  },
                                  "parameters": [
                                    "Player",
                                    ">",
                                    "CameraBorderTop() + 100"
                                  ]
                                },
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "CollisionNP"
                                  },
                                  "parameters": [
                                    "Player",
                                    "ShockwaveDemon_Shockwave",
                                    "",
                                    "",
                                    ""
                                  ]
                                }
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SetObjectVariableAsBoolean"
                              },
                              "parameters": [
                                "Player",
                                "IsInShockwave",
                                "False"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Similarly, begin smooth camera catch-up speed decrease if we just left a shockwave/hit scene' top boundary, and make sure we aren't trying to do both at the same time by pausing the other timer"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PauseObjectTimer"
                                  },
                                  "parameters": [
                                    "Player",
                                    "\"CameraIncreaseSpeed\""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ResetObjectTimer"
                                  },
                                  "parameters": [
                                    "Player",
                                    "\"CameraDecreaseSpeed\""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "UnPauseObjectTimer"
                                  },
                                  "parameters": [
                                    "Player",
                                    "\"CameraDecreaseSpeed\""
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 133,
                                "g": 76,
                                "r": 76,
                                "textB": 255,
                                "textG": 255,
                                "textR": 255
                              },
                              "comment": "Again unrelated, but yes"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::MaxSpeed"
                                  },
                                  "parameters": [
                                    "Player",
                                    "PlatformerObject",
                                    "=",
                                    "600"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Same gradual change with slowing the smooth-camera's catch-up speed after leaving a shockwave so normal gameplay doesn't look jerky; however we also wait for 0.5 seconds after last shockwave collision detected to start slowing down since for some reason GDevelop keeps rapidly flickering between \"colliding with shockwave\" and \"not colliding with shockwave\" and jerking the camera since it might've just started speeding up when we ask it to suddenly slow down from 1 then suddenly go back to speeding up from 0.9 etc., so catch-up speed goes like 0.91 -> 0.99 -> 0.91 constantly which is still jerky"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "ObjectTimerPaused"
                              },
                              "parameters": [
                                "Player",
                                "\"CameraDecreaseSpeed\""
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "Player",
                                    "\"CameraDecreaseSpeed\"",
                                    ">",
                                    "0.5"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "Player",
                                    "\"CameraDecreaseSpeed\"",
                                    "<=",
                                    "1"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "SmoothCamera::SmoothCamera::SetLeftwardSpeed"
                                  },
                                  "parameters": [
                                    "Player",
                                    "SmoothCamera",
                                    "1 - (Player.ObjectTimerElapsedTime(\"CameraDecreaseSpeed\") - 0.5) / 5",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SmoothCamera::SmoothCamera::SetRightwardSpeed"
                                  },
                                  "parameters": [
                                    "Player",
                                    "SmoothCamera",
                                    "1 - (Player.ObjectTimerElapsedTime(\"CameraDecreaseSpeed\") - 0.5) / 5",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SmoothCamera::SmoothCamera::SetUpwardSpeed"
                                  },
                                  "parameters": [
                                    "Player",
                                    "SmoothCamera",
                                    "1 - (Player.ObjectTimerElapsedTime(\"CameraDecreaseSpeed\") - 0.5) / 2",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "SmoothCamera::SmoothCamera::SetDownwardSpeed"
                                  },
                                  "parameters": [
                                    "Player",
                                    "SmoothCamera",
                                    "1 - (Player.ObjectTimerElapsedTime(\"CameraDecreaseSpeed\") - 0.5) / 5",
                                    ""
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "Player",
                                    "\"CameraDecreaseSpeed\"",
                                    ">",
                                    "1"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PauseObjectTimer"
                                  },
                                  "parameters": [
                                    "Player",
                                    "\"CameraDecreaseSpeed\""
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Mite Collides With Shockwave Projectile",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CollisionNP"
                              },
                              "parameters": [
                                "MiteDemon_Mite",
                                "ShockwaveDemon_Shockwave",
                                "",
                                "",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AddForceAL"
                              },
                              "parameters": [
                                "MiteDemon_Mite",
                                "180 + ShockwaveDemon_Shockwave.Angle()",
                                "ShockwaveDemon_Shockwave.Variable(Power)",
                                ""
                              ]
                            }
                          ],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::IsFalling"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "PlatformerObject"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentFallSpeed"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "PlatformerObject",
                                    "=",
                                    "MiteDemon_Mite.PlatformerObject::MaxFallingSpeed() / (ShockwaveDemon_Shockwave.Variable(LifeTimer) * 50)"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::IsFalling"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "PlatformerObject"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CollisionNP"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "Platforms",
                                    "",
                                    "",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::CompareNumbers"
                                  },
                                  "parameters": [
                                    "mod(ShockwaveDemon_Shockwave.Angle(), 360)",
                                    "=",
                                    "90"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::SimulateJumpKey"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "PlatformerObject"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Shockwave Expiration Timer",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CompareObjectTimer"
                              },
                              "parameters": [
                                "ShockwaveDemon_Shockwave",
                                "\"TimeAlive\"",
                                ">=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "Tween::IsPlaying"
                              },
                              "parameters": [
                                "ShockwaveDemon_Shockwave",
                                "Tween",
                                "\"Despawn\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Tween::TweenBehavior::AddObjectOpacityTween2"
                              },
                              "parameters": [
                                "ShockwaveDemon_Shockwave",
                                "Tween",
                                "\"Despawn\"",
                                "0",
                                "\"linear\"",
                                "ShockwaveDemon_Shockwave.Variable(Lifetime)",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CompareObjectTimer"
                              },
                              "parameters": [
                                "ShockwaveDemon_Shockwave",
                                "\"TimeAlive\"",
                                ">=",
                                "ShockwaveDemon_Shockwave.Variable(Lifetime)"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Delete"
                              },
                              "parameters": [
                                "ShockwaveDemon_Shockwave",
                                ""
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "name": "Mite Demon",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "I don't know if there is a way to do this in the JS that controlls shooting projectiles/spawning mites so this is the rather sloppy solution"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::MaxSpeed"
                          },
                          "parameters": [
                            "MiteDemon_Mite",
                            "PlatformerObject",
                            "!=",
                            "MiteDemon_Mite.MaxSpeed"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::MaxSpeed"
                          },
                          "parameters": [
                            "MiteDemon_Mite",
                            "PlatformerObject",
                            "=",
                            "MiteDemon_Mite.MaxSpeed"
                          ]
                        },
                        {
                          "type": {
                            "value": "PlatformBehavior::LadderClimbingSpeed"
                          },
                          "parameters": [
                            "MiteDemon_Mite",
                            "PlatformerObject",
                            "=",
                            "MiteDemon_Mite.MaxSpeed"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::ForEach",
                      "object": "MiteDemon_Mite",
                      "conditions": [],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CollisionNP"
                              },
                              "parameters": [
                                "MiteDemon_Mite",
                                "MiteKillers",
                                "",
                                "",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Create"
                              },
                              "parameters": [
                                "",
                                "BloodParticles",
                                "MiteDemon_Mite.X()+MiteDemon_Mite.Width()/2",
                                "MiteDemon_Mite.Y()+MiteDemon_Mite.Height()/2",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "Delete"
                              },
                              "parameters": [
                                "MiteDemon_Mite",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Mite Movement",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "This comment is left as a reminder that I spent 3 hours debugging this only to find the hitbox for a specific platform was not right and happened to have a corner too sharp to climb."
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Or"
                              },
                              "parameters": [],
                              "subInstructions": [
                                {
                                  "type": {
                                    "value": "CollisionNP"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "Platforms",
                                    "",
                                    "",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CollisionNP"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "Ladder",
                                    "",
                                    "",
                                    ""
                                  ]
                                }
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "CenterX"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "<",
                                    "Player.CenterX()"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "SetAngle"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "=",
                                    "0"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "PlatformBehavior::SimulateRightKey"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "PlatformerObject"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "CenterX"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    ">=",
                                    "Player.CenterX()"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "SetAngle"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "=",
                                    "180"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "PlatformBehavior::SimulateLeftKey"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "PlatformerObject"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CollisionNP"
                              },
                              "parameters": [
                                "MiteDemon_Mite",
                                "Ladder",
                                "",
                                "",
                                ""
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "CenterY"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "<=",
                                    "Player.CenterY()"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::SimulateDownKey"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "PlatformerObject"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "CenterY"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    ">",
                                    "Player.CenterY()"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::SimulateUpKey"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "PlatformerObject"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "PlatformBehavior::SimulateLadderKey"
                                  },
                                  "parameters": [
                                    "MiteDemon_Mite",
                                    "PlatformerObject"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": []
            },
            {
              "colorB": 224,
              "colorG": 16,
              "colorR": 189,
              "creationTime": 0,
              "folded": true,
              "name": "Platforms",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "folded": true,
                  "name": "Moving Platforms",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Set original position for resets & fix orientation issues if any/dynamically set orientation"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "Enemy::SetEarlyResetPosition"
                              },
                              "parameters": [
                                "",
                                "HorizontalMovingPlatformLeft",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "Enemy::SetEarlyResetPosition"
                              },
                              "parameters": [
                                "",
                                "HorizontalMovingPlatformRight",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "Enemy::SetEarlyResetPosition"
                              },
                              "parameters": [
                                "",
                                "VerticalMovingPlatformUp",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "Enemy::SetEarlyResetPosition"
                              },
                              "parameters": [
                                "",
                                "VerticalMovingPlatformDown",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "Enemy::SetEarlyResetPosition"
                              },
                              "parameters": [
                                "",
                                "SpinningPlatformClockwise",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "Enemy::SetEarlyResetPosition"
                              },
                              "parameters": [
                                "",
                                "SpinningPlatformCounterclockwise",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "Enemy::SetEarlyResetPosition"
                              },
                              "parameters": [
                                "",
                                "SpinningRotatingPlatformClockwise",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "Enemy::SetEarlyResetPosition"
                              },
                              "parameters": [
                                "",
                                "SpinningRotatingPlatformCounterclockwise",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "FlippingPlatform",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ResetTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip\""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip\"",
                            ">=",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "FlippingPlatform",
                            "\"PlatformFlip\"",
                            "<",
                            "2"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "RotateTowardAngle"
                          },
                          "parameters": [
                            "FlippingPlatform",
                            "0",
                            "0",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip\"",
                            ">=",
                            "2"
                          ]
                        },
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "FlippingPlatform",
                            "\"PlatformFlip\"",
                            "<",
                            "3"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale"
                          },
                          "parameters": [
                            "FlippingPlatform",
                            "ShakeObject_PositionAngleScale",
                            "1",
                            "2",
                            "2",
                            "1",
                            "0",
                            "0.04",
                            "",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip\"",
                            ">=",
                            "3"
                          ]
                        },
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip\"",
                            "<",
                            "5"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "RotateTowardAngle"
                          },
                          "parameters": [
                            "FlippingPlatform",
                            "-80",
                            "0",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip\"",
                            ">=",
                            "5"
                          ]
                        },
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip\"",
                            "<",
                            "6"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale"
                          },
                          "parameters": [
                            "FlippingPlatform",
                            "ShakeObject_PositionAngleScale",
                            "1",
                            "2",
                            "2",
                            "1",
                            "0",
                            "0.04",
                            "",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip\"",
                            ">=",
                            "6"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "RotateTowardAngle"
                          },
                          "parameters": [
                            "FlippingPlatform",
                            "0",
                            "0",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "ResetTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip\""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "folded": true,
                  "name": "FlippingPlatform2",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ResetTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip2\""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip2\"",
                            ">=",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip2\"",
                            "<",
                            "2"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "RotateTowardAngle"
                          },
                          "parameters": [
                            "FlippingPlatform2",
                            "-80",
                            "0",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip2\"",
                            ">=",
                            "2"
                          ]
                        },
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip2\"",
                            "<",
                            "3"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale"
                          },
                          "parameters": [
                            "FlippingPlatform2",
                            "ShakeObject_PositionAngleScale",
                            "1",
                            "2",
                            "2",
                            "1",
                            "0",
                            "0.04",
                            "",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip2\"",
                            ">=",
                            "3"
                          ]
                        },
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "FlippingPlatform",
                            "\"PlatformFlip2\"",
                            "<",
                            "5"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "RotateTowardAngle"
                          },
                          "parameters": [
                            "FlippingPlatform2",
                            "0",
                            "0",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip2\"",
                            ">=",
                            "5"
                          ]
                        },
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "FlippingPlatform",
                            "\"PlatformFlip2\"",
                            "<",
                            "6"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ShakeObject::ShakeObject_PositionAngleScale::ShakeObject_PositionAngleScale"
                          },
                          "parameters": [
                            "FlippingPlatform2",
                            "ShakeObject_PositionAngleScale",
                            "1",
                            "2",
                            "2",
                            "1",
                            "0",
                            "0.04",
                            "",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CompareTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip2\"",
                            ">=",
                            "6"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "RotateTowardAngle"
                          },
                          "parameters": [
                            "FlippingPlatform2",
                            "0",
                            "0",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "ResetTimer"
                          },
                          "parameters": [
                            "",
                            "\"PlatformFlip2\""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": []
            },
            {
              "colorB": 224,
              "colorG": 16,
              "colorR": 189,
              "creationTime": 0,
              "name": "Game Environment",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "UI",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "TiledUnitsBar::TiledUnitsBar::SetValue"
                          },
                          "parameters": [
                            "LivesBar",
                            "=",
                            "Player.Variable(Lives)",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetValue"
                          },
                          "parameters": [
                            "HopeBar",
                            "=",
                            "Player.Variable(LifeForce)",
                            "Player.LifeForce"
                          ]
                        },
                        {
                          "type": {
                            "value": "TextContainerCapability::TextContainerBehavior::SetValue"
                          },
                          "parameters": [
                            "FrameRate",
                            "Text",
                            "=",
                            "ToString(roundTo(1 / TimeDelta(), 2))"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "BuiltinExternalLayouts::CreateObjectsFromExternalLayout"
                          },
                          "parameters": [
                            "",
                            "\"LevelUI\"",
                            "",
                            "",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinExternalLayouts::CreateObjectsFromExternalLayout"
                          },
                          "parameters": [
                            "",
                            "\"LevelEndScreen\"",
                            "",
                            "",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Camera",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Opacity 0 instead of hide for CameraGlitchFix to work (camera glitch: turns background into black sometimes above the highest visible object hitbox on screen or below the lowest hitbox; thus CameraGlitchFix is a visible (but opacity 0) object 2000 pixels long always on the player)"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Create"
                          },
                          "parameters": [
                            "",
                            "CameraGlitchFix",
                            "0",
                            "-6000",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "OpacityCapability::OpacityBehavior::SetValue"
                          },
                          "parameters": [
                            "HelperObjects",
                            "Opacity",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Make sure smooth camera speed is reset in case of final-dying on the last run in the middle of a shockwave or something"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "PauseObjectTimer"
                              },
                              "parameters": [
                                "Player",
                                "\"CameraIncreaseSpeed\""
                              ]
                            },
                            {
                              "type": {
                                "value": "PauseObjectTimer"
                              },
                              "parameters": [
                                "Player",
                                "\"CameraDecreaseSpeed\""
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetLeftwardSpeed"
                              },
                              "parameters": [
                                "Player",
                                "SmoothCamera",
                                "0.9",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetRightwardSpeed"
                              },
                              "parameters": [
                                "Player",
                                "SmoothCamera",
                                "0.9",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetUpwardSpeed"
                              },
                              "parameters": [
                                "Player",
                                "SmoothCamera",
                                "0.75",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetDownwardSpeed"
                              },
                              "parameters": [
                                "Player",
                                "SmoothCamera",
                                "0.9",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Boundary objects act like invisible walls for the player and they also define where the camera can move"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ClampCamera"
                          },
                          "parameters": [
                            "",
                            "LeftBoundary.X()+LeftBoundary.Width()",
                            "TopBoundary.Y()+TopBoundary.Height()",
                            "RightBoundary.X()",
                            "BottomBoundary.Y()",
                            "",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "MettreXY"
                          },
                          "parameters": [
                            "CameraGlitchFix",
                            "=",
                            "Player.X() - 3000",
                            "=",
                            "Player.Y() - 3000"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Background",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "disabled": true,
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlaySound"
                          },
                          "parameters": [
                            "",
                            "crickets.aac",
                            "yes",
                            "30",
                            "1"
                          ]
                        }
                      ]
                    },
                    {
                      "disabled": true,
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlaySound"
                          },
                          "parameters": [
                            "",
                            "AssetDev/Audio/509444__erokia__ambient-wave-54-msfxp7-1_3-psess.wav",
                            "yes",
                            "20",
                            "1"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ResetTimer"
                          },
                          "parameters": [
                            "",
                            "\"RandomNoiseTimer\""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Background motion (parallax) and adjust size to fit screen"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "TiledSpriteObject::Width"
                          },
                          "parameters": [
                            "BackgroundPlants",
                            "=",
                            "CameraWidth()"
                          ]
                        },
                        {
                          "type": {
                            "value": "TiledSpriteObject::XOffset"
                          },
                          "parameters": [
                            "BackgroundPlants",
                            "=",
                            "CameraBorderLeft() / 3 + 2400"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "folded": true,
                  "name": "Portal Sound Effect",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "DepartScene"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlaySoundCanal"
                          },
                          "parameters": [
                            "",
                            "door.aac",
                            "0",
                            "yes",
                            "100",
                            "1"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CollisionNP"
                          },
                          "parameters": [
                            "Player",
                            "Portal",
                            "",
                            "",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlaySound"
                          },
                          "parameters": [
                            "",
                            "Assets/Sounds/Portal/PortalInteract.wav",
                            "",
                            "GlobalVariable(Volume_SFX)",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Increase volume of portal as the player gets closer"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "SceneInstancesCount"
                          },
                          "parameters": [
                            "",
                            "Player",
                            ">",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "VolumeFalloff::SetVolumeFalloff"
                          },
                          "parameters": [
                            "",
                            "0",
                            "\"Sound\"",
                            "Portal",
                            "Player",
                            "0",
                            "100",
                            "750",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "folded": true,
              "name": "Game End Logic",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Start the game with the \"EndScreen\" layer hidden and make the overlay semi-transparent"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "DepartScene"
                      },
                      "parameters": [
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "HideLayer"
                      },
                      "parameters": [
                        "",
                        "\"EndScreen\""
                      ]
                    },
                    {
                      "type": {
                        "value": "TiledSpriteObject::SetOpacity"
                      },
                      "parameters": [
                        "UI_Sinage_Background",
                        "=",
                        "180\n"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Detect when the player reaches the portal; also stop any heartbeat sounds (only seems to work here)"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "CollisionNP"
                          },
                          "parameters": [
                            "Player",
                            "Portal",
                            "",
                            "",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Player",
                            "Lives",
                            "<=",
                            "0"
                          ]
                        }
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ShowLayer"
                      },
                      "parameters": [
                        "",
                        "\"EndScreen\""
                      ]
                    },
                    {
                      "type": {
                        "value": "HideLayer"
                      },
                      "parameters": [
                        "",
                        "\"UI\""
                      ]
                    },
                    {
                      "type": {
                        "value": "HideLayer"
                      },
                      "parameters": [
                        "",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "HideLayer"
                      },
                      "parameters": [
                        "",
                        "\"Background\""
                      ]
                    },
                    {
                      "type": {
                        "value": "StopSoundCanal"
                      },
                      "parameters": [
                        "",
                        "2"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Stop controlling player movement with platformer behavior and then use tweens to animate the player falling into the portal"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ActivateBehavior"
                          },
                          "parameters": [
                            "Player",
                            "PlatformerObject",
                            "no"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Player",
                            "Lives",
                            ">",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Player::AnimateFallingIntoPortal"
                          },
                          "parameters": [
                            "",
                            "Player",
                            "Tween",
                            "Portal",
                            "Portal"
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "LayerVisible"
                      },
                      "parameters": [
                        "",
                        "\"EndScreen\""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Update UI depending on if it's a death or a level end, since they use the same end screen sprite"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "Player",
                                "Lives",
                                ">",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Cache"
                              },
                              "parameters": [
                                "UI_Sinage_DeathText"
                              ]
                            },
                            {
                              "type": {
                                "value": "Cache"
                              },
                              "parameters": [
                                "UI_Sinage_RetryButton"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "Player",
                                "Lives",
                                ">",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Cache"
                              },
                              "parameters": [
                                "UI_Sinage_MemoryAcquired"
                              ]
                            },
                            {
                              "type": {
                                "value": "Cache"
                              },
                              "parameters": [
                                "UI_Sinage_ProceedButton"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Center objects and resize the overlay to cover entire screen"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "UserInterface::StretchToFillScreen"
                          },
                          "parameters": [
                            "",
                            "UI_Sinage_Background",
                            "EndScreenBestText",
                            "EndScreenChallengeText",
                            "EndScreenHeader",
                            "EndScreenRetryText",
                            "EndScreenSubHeader",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "SetCenterX"
                          },
                          "parameters": [
                            "EndScreenObjects",
                            "=",
                            "CameraX(\"EndScreen\")"
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "name": "Dev Keybinds",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "y"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ModVarObjet"
                      },
                      "parameters": [
                        "Player",
                        "IsImmortal",
                        "=",
                        "1"
                      ]
                    },
                    {
                      "type": {
                        "value": "MettreXY"
                      },
                      "parameters": [
                        "Player",
                        "=",
                        "Player.GodModeX",
                        "=",
                        "Player.GodModeY"
                      ]
                    },
                    {
                      "type": {
                        "value": "Checkpoints::SaveCheckpoint"
                      },
                      "parameters": [
                        "",
                        "Player",
                        "Player.GodModeX",
                        "Player.GodModeY",
                        "\"Checkpoint\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "u"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ModVarObjet"
                      },
                      "parameters": [
                        "Player",
                        "IsImmortal",
                        "=",
                        "1"
                      ]
                    },
                    {
                      "type": {
                        "value": "Checkpoints::SaveCheckpoint"
                      },
                      "parameters": [
                        "",
                        "Player",
                        "Player.X()",
                        "Player.Y()",
                        "\"Checkpoint\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyFromTextPressed"
                      },
                      "parameters": [
                        "",
                        "\"i\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ModVarObjet"
                      },
                      "parameters": [
                        "Player",
                        "IsImmortal",
                        "=",
                        "1 - Player.IsImmortal"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "n"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"MainMenu\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "r"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "CurrentSceneName()",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "l"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"TestingLevel\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "m"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Mindscape\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "t"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Tutorial\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Num1"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level1\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Num2"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level2\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Num3"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level3\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Num4"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level4\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Num5"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level5\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Num6"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level6\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Num7"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level7\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Num8"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level8\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Num9"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level9\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyPressed"
                      },
                      "parameters": [
                        "",
                        "Num0"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Scene"
                      },
                      "parameters": [
                        "",
                        "\"Level10\"",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            }
          ],
          "parameters": []
        }
      ]
    }
  ],
  "eventsFunctionsExtensions": [
    {
      "author": "Entropy",
      "category": "Movement",
      "extensionNamespace": "",
      "fullName": "Advanced platformer movements",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSI3IiByPSIzIi8+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOCwxMGwyLjgtMi44QzEyLDYsMTQsNiwxNS4yLDcuMmw3LjksNy45YzEuMSwxLjEsMi44LDEuMiw0LjEsMC4yTDMwLDEzIi8+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTcsMTBsLTQuNyw0LjdjLTEuNSwxLjUtMSw0LjIsMSw1bDMuOSwxLjVjMS4xLDAuNCwxLjksMS41LDEuOSwyLjd2NiIvPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTE0LDIwbC0yLjYsMi42Yy0wLjgsMC44LTIuMSwwLjgtMi44LDBMNSwxOSIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjE2IiB5MT0iMTgiIHgyPSIyMSIgeTI9IjEzIi8+DQo8L3N2Zz4NCg==",
      "name": "AdvancedJump",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Sports and Fitness/Sports and Fitness_training_running_run.svg",
      "shortDescription": "Let platformer characters: air jump, wall jump wall sliding, coyote time and dashing.",
      "version": "0.1.2",
      "description": [
        "This extension provides behaviors to:",
        "",
        "* Jump in mid-air",
        "* Jump and slide against walls",
        "* Dash horizontally",
        "* Dash toward the floor",
        "* Do coyote time, also known as \"ledge tolerance\". It lets players jumping even after their character is no longer touching the ground for a given amount of time. It aims to give players a feeling of control and reduce frustration.",
        "",
        "An example allows to check it out ([open the project online](https://editor.gdevelop.io/?project=example://platformer-moves))."
      ],
      "origin": {
        "identifier": "AdvancedJump",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "platformer",
        "platform",
        "jump",
        "ledge tolerance",
        "coyote time",
        "air jump",
        "wall jump",
        "wall sliding",
        "dash",
        "dive"
      ],
      "authorIds": [
        "IWykYNRvhCZBN3vEgKEbBPOR3Oc2",
        "JD2xwvKWgodlqsGiL1GCH3tDEwq1",
        "q8ubdigLvIRXLxsJDDTaokO41mc2",
        "UMcf9dzu8pVV84ZSLaGAtUB8PyF2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Let platformer characters jump shortly after leaving a platform and also jump in mid-air.",
          "fullName": "Coyote time and air jump",
          "name": "AdvancedJump",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Coyote time",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Avoid any side effect if the feature is not used."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedJump::AdvancedJump::PropertyCoyoteTimeFrameDuration"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ">",
                            "0"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "The timeframe is starting."
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "AdvancedJump::AdvancedJump::PropertyWasInTheAir"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "PlatformBehavior::IsFalling"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "Object",
                                "\"__CoyoteTime_CoyoteJump\""
                              ]
                            },
                            {
                              "type": {
                                "value": "PlatformBehavior::SetCanJump"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "AdvancedJump::AdvancedJump::SetPropertyCanCoyoteJump"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "disabled": true,
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "DebuggerTools::ConsoleLog"
                                  },
                                  "parameters": [
                                    "\"Start\"",
                                    "\"info\"",
                                    "\"CoyoteTime\""
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "AdvancedJump::AdvancedJump::PropertyCanCoyoteJump"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "The timeframe is missed."
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"__CoyoteTime_CoyoteJump\"",
                                    ">=",
                                    "Object.Behavior::PropertyCoyoteTimeFrameDuration()"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::SetCanNotAirJump"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerBehavior"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "AdvancedJump::AdvancedJump::SetPropertyCanCoyoteJump"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "no"
                                  ]
                                }
                              ],
                              "events": [
                                {
                                  "disabled": true,
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "DebuggerTools::ConsoleLog"
                                      },
                                      "parameters": [
                                        "\"End\"",
                                        "\"info\"",
                                        "\"CoyoteTime\""
                                      ]
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Coyote jump"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::IsJumping"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerBehavior"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AdvancedJump::AdvancedJump::SetPropertyCanCoyoteJump"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "no"
                                  ]
                                }
                              ],
                              "events": [
                                {
                                  "disabled": true,
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "DebuggerTools::ConsoleLog"
                                      },
                                      "parameters": [
                                        "\"Coyote jump\"",
                                        "\"info\"",
                                        "\"CoyoteTime\""
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "The new value will be used next frame."
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedJump::AdvancedJump::UpdateWasInTheAir"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Air Jump",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "While in the coyote jump frame, the Object is treated as being on the floor. No air jump can happen."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "PlatformBehavior::IsOnFloor"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerBehavior"
                          ]
                        },
                        {
                          "type": {
                            "inverted": true,
                            "value": "AdvancedJump::AdvancedJump::CanCoyoteJump"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "AdvancedJump::AdvancedJump::PropertyAreFloorJumpCountedAsAirJump"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "PlatformBehavior::IsJumping"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedJump::AdvancedJump::SetPropertyAirJumpCount"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "1"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "disabled": true,
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "DebuggerTools::ConsoleLog"
                                  },
                                  "parameters": [
                                    "\"Floor jump: \" + ToString(Object.Behavior::PropertyAirJumpCountMaximum() - Object.Behavior::PropertyAirJumpCount()) + \" + 0\"",
                                    "\"info\"",
                                    "\"AirJump\""
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "When the object fall, it doesn't jump but air jumps must be allowed"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::IsFalling"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedJump::AdvancedJump::SetPropertyWasJumpKeyReleased"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "disabled": true,
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "DebuggerTools::ConsoleLog"
                                  },
                                  "parameters": [
                                    "\"Falling\"",
                                    "\"info\"",
                                    "\"AirJump\""
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "The order of these events is important because the idle state is:\non the floor and jump key released but the 1st jump must not count."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerBehavior",
                            "\"Jump\""
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::AdvancedJump::SetPropertyWasJumpKeyReleased"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "yes"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "disabled": true,
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "DebuggerTools::ConsoleLog"
                              },
                              "parameters": [
                                "\"Jump released: \" + ToString(Object.Behavior::PropertyAirJumpCountMaximum() - Object.Behavior::PropertyAirJumpCount()) + \" + 0\"",
                                "\"info\"",
                                "\"AirJump\""
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Reset air jump counter."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "PlatformBehavior::IsFalling"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerBehavior"
                          ]
                        },
                        {
                          "type": {
                            "inverted": true,
                            "value": "PlatformBehavior::IsJumping"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerBehavior"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::AdvancedJump::SetPropertyAirJumpCount"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "AdvancedJump::AdvancedJump::SetPropertyWasJumpKeyReleased"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "False"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "disabled": true,
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Once"
                              },
                              "parameters": []
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "DebuggerTools::ConsoleLog"
                              },
                              "parameters": [
                                "\"Reset air jump counter\"",
                                "\"info\"",
                                "\"AirJump\""
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Allow air jumps."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "PlatformBehavior::CanJump"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerBehavior"
                          ]
                        },
                        {
                          "type": {
                            "value": "AdvancedJump::AdvancedJump::PropertyAirJumpCount"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "<",
                            "Object.Behavior::PropertyAirJumpCountMaximum()"
                          ]
                        },
                        {
                          "type": {
                            "value": "AdvancedJump::AdvancedJump::PropertyWasJumpKeyReleased"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SetCanJump"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerBehavior"
                          ]
                        },
                        {
                          "type": {
                            "value": "AdvancedJump::AdvancedJump::SetPropertyWasJumpKeyReleased"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "False"
                          ]
                        },
                        {
                          "type": {
                            "value": "AdvancedJump::AdvancedJump::SetPropertyAirJumpCount"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "+",
                            "1"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "disabled": true,
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "DebuggerTools::ConsoleLog"
                              },
                              "parameters": [
                                "\"Jump allowed: \" + ToString(Object.Behavior::PropertyAirJumpCountMaximum() - Object.Behavior::PropertyAirJumpCount()) + \" + 1\"",
                                "\"info\"",
                                "\"AirJump\""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::UpdateWasInTheAir"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onDeActivate",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RemoveObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__CoyoteTime_CoyoteJump\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onActivate",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Coyote time was disabled, so WasInTheAir may not have been updated for a long time."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::UpdateWasInTheAir"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the coyote time duration of an object (in seconds).",
              "fullName": "Coyote timeframe",
              "functionType": "Action",
              "group": "Coyote time",
              "name": "SetCoyoteTime",
              "sentence": "Change coyote time of _PARAM0_: _PARAM2_ seconds",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Coyote time was disabled, so WasInTheAir may not have been updated for a long time."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::PropertyCoyoteTimeFrameDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::UpdateWasInTheAir"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::SetPropertyCoyoteTimeFrameDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"CoyoteTime\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                },
                {
                  "description": "Duration",
                  "longDescription": "Coyote time duration in seconds.",
                  "name": "CoyoteTime",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if a coyote jump can currently happen.",
              "fullName": "Can coyote jump",
              "functionType": "Condition",
              "group": "Coyote time",
              "name": "CanCoyoteJump",
              "sentence": "_PARAM0_ can coyote jump",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::PropertyCanCoyoteJump"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "Update WasInTheAir",
              "functionType": "Action",
              "group": "Coyote time",
              "name": "UpdateWasInTheAir",
              "private": true,
              "sentence": "Update WasInTheAir property of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::SetPropertyWasInTheAir"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "PlatformBehavior::IsOnFloor"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerBehavior"
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "PlatformBehavior::IsGrabbingPlatform"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerBehavior"
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "PlatformBehavior::IsOnLadder"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerBehavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::SetPropertyWasInTheAir"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Number of jumps in mid-air that are allowed.",
              "fullName": "Maximal jump number",
              "functionType": "Expression",
              "group": "Air jump",
              "name": "AirJumpsMax",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyAirJumpCountMaximum()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Number of jumps in mid-air that are still allowed.",
              "fullName": "Remaining jump",
              "functionType": "Expression",
              "group": "Air jump",
              "name": "RemainingAirJumps",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "PlatformBehavior::CanJump"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerBehavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "max(0, Object.Behavior::PropertyAirJumpCountMaximum() - Object.Behavior::PropertyAirJumpCount())"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "When the jump is allowed but not yet done, it must not be counted."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::CanJump"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerBehavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "clamp(1 + Object.Behavior::PropertyAirJumpCountMaximum() - Object.Behavior::PropertyAirJumpCount(), 0, Object.Behavior::PropertyAirJumpCountMaximum())"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the number of times the character can jump in mid-air.",
              "fullName": "Air jumps",
              "functionType": "Action",
              "group": "Air jump",
              "name": "SetAirJumpCountMaximum",
              "sentence": "Change the number of times _PARAM0_ can jump in mid-air: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::SetPropertyAirJumpCountMaximum"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"AirJumpCountMaximum\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                },
                {
                  "description": "Number of air jumps",
                  "name": "AirJumpCountMaximum",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Remove one of the remaining air jumps of a character.",
              "fullName": "Remove a remaining air jump",
              "functionType": "Action",
              "group": "Air jump",
              "name": "RemoveOneRemainingAirJump",
              "sentence": "Remove one of the remaining air jumps of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::SetPropertyAirJumpCount"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "+",
                        "1"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Avoid to jump again before the current jump input ends."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerBehavior",
                            "\"Jump\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::AdvancedJump::SetPropertyWasJumpKeyReleased"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "False"
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Allow back all air jumps of a character.",
              "fullName": "Reset air jumps",
              "functionType": "Action",
              "group": "Air jump",
              "name": "ResetAirJumpCounter",
              "sentence": "Allow back all air jumps of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::SetPropertyAirJumpCount"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "This avoid to give an extra jump if the character was already allowed to jump in mid-air."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::SetCanNotAirJump"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerBehavior"
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::SetPropertyWasJumpKeyReleased"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Avoid to jump again before the current jump input ends."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerBehavior",
                        "\"Jump\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::SetPropertyWasJumpKeyReleased"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "False"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if floor jumps are counted as air jumps for an object.",
              "fullName": "Floor jumps count as air jumps",
              "functionType": "Condition",
              "group": "Air jump",
              "name": "AreFloorJumpCountedAsAirJump",
              "sentence": "Floor jumps count as air jumps for _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedJump::AdvancedJump::PropertyAreFloorJumpCountedAsAirJump"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::AdvancedJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer character behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "PlatformBehavior::PlatformerObjectBehavior"
              ],
              "hidden": false,
              "name": "PlatformerBehavior"
            },
            {
              "value": "0.25",
              "type": "Number",
              "unit": "Second",
              "label": "Coyote time duration",
              "description": "",
              "group": "Coyote time",
              "extraInformation": [],
              "hidden": false,
              "name": "CoyoteTimeFrameDuration"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Can coyote jump",
              "description": "",
              "group": "Coyote time",
              "extraInformation": [],
              "hidden": true,
              "name": "CanCoyoteJump"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Was in the air",
              "description": "",
              "group": "Coyote time",
              "extraInformation": [],
              "hidden": true,
              "name": "WasInTheAir"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Number of air jumps",
              "description": "",
              "group": "Air jump",
              "extraInformation": [],
              "hidden": false,
              "name": "AirJumpCountMaximum"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Floor jumps count as air jumps",
              "description": "",
              "group": "Air jump",
              "extraInformation": [],
              "hidden": false,
              "name": "AreFloorJumpCountedAsAirJump"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "Air jump",
              "extraInformation": [],
              "hidden": true,
              "name": "AirJumpCount"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "Air jump",
              "extraInformation": [],
              "hidden": true,
              "name": "WasJumpKeyReleased"
            }
          ],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Let platformer characters jump and slide against walls.",
          "fullName": "Wall jump",
          "name": "WallJump",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "\"Jump\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Avoid a jump from the floor to do a wall jump because of the allowed timeframe."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::PropertyWasInTheAir"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::RememberJumpKeyPressed"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "\"Jump\"",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Reset default character configuration when a jump that is not a wall jump happens (for instance an air jump)."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "AdvancedJump::WallJump::PropertyHasJustWallJump"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::SetPropertyIsWallJumping"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "no"
                          ]
                        },
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::ToggleSideSpeed"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "To know when jumping from the floor or not."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::SetPropertyWasInTheAir"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::IsFalling"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        },
                        {
                          "type": {
                            "value": "PlatformBehavior::IsJumping"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::SetPropertyWasInTheAir"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Wall jump end",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::PropertyIsWallJumping"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Reset default character configuration when the character change of direction or start to fall."
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Or"
                              },
                              "parameters": [],
                              "subInstructions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::IsFalling"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::And"
                                  },
                                  "parameters": [],
                                  "subInstructions": [
                                    {
                                      "type": {
                                        "value": "AdvancedJump::WallJump::PropertyIsJumpingLeft"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                                      },
                                      "parameters": [
                                        "Object",
                                        "PlatformerCharacter",
                                        "\"Left\""
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::And"
                                  },
                                  "parameters": [],
                                  "subInstructions": [
                                    {
                                      "type": {
                                        "inverted": true,
                                        "value": "AdvancedJump::WallJump::PropertyIsJumpingLeft"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                                      },
                                      "parameters": [
                                        "Object",
                                        "PlatformerCharacter",
                                        "\"Right\""
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::SetPropertyIsWallJumping"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "no"
                              ]
                            },
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::ToggleSideSpeed"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Wall detection",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "When the character tries to move but can't actually move, it's against a wall."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::SetPropertyIsAgainstWall"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "no"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::PropertyPreviousX"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "Object.X()"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::And"
                              },
                              "parameters": [],
                              "subInstructions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter",
                                    "\"Left\""
                                  ]
                                },
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter",
                                    "\"Right\""
                                  ]
                                }
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::And"
                              },
                              "parameters": [],
                              "subInstructions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter",
                                    "\"Left\""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter",
                                    "\"Right\""
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::SetPropertyIsAgainstWall"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "yes"
                          ]
                        },
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::RememberIsAgainstWall"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter",
                                "\"Left\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::SetPropertyIsJumpingLeft"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter",
                                "\"Right\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::SetPropertyIsJumpingLeft"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Save the previous position for the wall detection."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::SetPropertyPreviousX"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "Object.X()"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Wall jump",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::SetPropertyHasJustWallJump"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "no"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::PropertyIsAgainstWall"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::WasAgainstWall"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "Object.Behavior::PropertyJumpTimeFrame()",
                                ""
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "To be permissive, when the jump key was pressed right before the character touch the wall,\nit is still detected as a wall jump which reset the air jump counter."
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::WasJumpKeyPressed"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "Object.Behavior::PropertyJumpTimeFrame()",
                                "\"Jump\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::ForgetJumpKeyPressed"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "\"Jump\"",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "PlatformBehavior::SetCanJump"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            },
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::SetPropertyIsWallJumping"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes"
                              ]
                            },
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::ToggleSideSpeed"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::ForgetIsAgainstWall"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::SetPropertyHasJustWallJump"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes"
                              ]
                            },
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "Object",
                                "\"__WallJump_TimeFromJumpStart\""
                              ]
                            }
                          ],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "AdvancedJump::WallJump::PropertyIsJumpingLeft"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter",
                                    "=",
                                    "-Object.Behavior::PropertyWallJumpSpeedX()"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "AdvancedJump::WallJump::PropertyIsJumpingLeft"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter",
                                    "=",
                                    "Object.Behavior::PropertyWallJumpSpeedX()"
                                  ]
                                }
                              ]
                            },
                            {
                              "disabled": true,
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "DebuggerTools::ConsoleLog"
                                  },
                                  "parameters": [
                                    "\"Wall jump\"",
                                    "\"info\"",
                                    "\"WallJump\""
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Sustain jump speed",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::PropertyIsWallJumping"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        },
                        {
                          "type": {
                            "value": "CompareObjectTimer"
                          },
                          "parameters": [
                            "Object",
                            "\"__WallJump_TimeFromJumpStart\"",
                            "<=",
                            "Object.Behavior::PropertySideSpeedSustainTime()"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::PropertyIsJumpingLeft"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter",
                                "=",
                                "-Object.Behavior::PropertyWallJumpSpeedX()"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "AdvancedJump::WallJump::PropertyIsJumpingLeft"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter",
                                "=",
                                "Object.Behavior::PropertyWallJumpSpeedX()"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Wall sliding",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "AdvancedJump::WallJump::PropertyIsAgainstWall"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter",
                                "\"Left\""
                              ]
                            },
                            {
                              "type": {
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter",
                                "\"Right\""
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::SetPropertyMovedAwayFromTheWall"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "yes"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::PropertyIsAgainstWall"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        },
                        {
                          "type": {
                            "value": "PlatformBehavior::IsFalling"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::PropertyMovedAwayFromTheWall"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::AbsorbFallingSpeed"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "Object.Behavior::PropertyWallSlidingSpeedAbsorption()",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::SetPropertyMovedAwayFromTheWall"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "no"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "disabled": true,
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "DebuggerTools::ConsoleLog"
                                  },
                                  "parameters": [
                                    "\"Absob speed\"",
                                    "\"info\"",
                                    "\"WallJump\""
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::SlideOnWall"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "AdvancedJump::WallJump::PropertyAutomaticSliding"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "AdvancedJump::WallJump::PropertyIsWallJumping"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter",
                                    "\"Left\""
                                  ]
                                },
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter",
                                    "\"Right\""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::SimulateLeftKey"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter",
                                    "\"Left\""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter",
                                    "\"Right\""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::SimulateRightKey"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "AdvancedJump::WallJump::PropertyIsAgainstWall"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "PlatformBehavior::IsFalling"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::WallJump::SlideOnWall"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "no",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object has just wall jumped.",
              "fullName": "Has just wall jumped",
              "functionType": "Condition",
              "name": "HasJustWallJumped",
              "sentence": "_PARAM0_ has just jumped from a wall",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::PropertyHasJustWallJump"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object is wall jumping.",
              "fullName": "Is wall jumping",
              "functionType": "Condition",
              "name": "IsWallJumping",
              "sentence": "_PARAM0_ jumped from a wall",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::PropertyIsWallJumping"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object is against a wall.",
              "fullName": "Against a wall",
              "functionType": "Condition",
              "name": "IsAgaintWall",
              "sentence": "_PARAM0_ is against a wall",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::PropertyIsAgainstWall"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Remember that the character was against a wall.",
              "fullName": "Remember is against wall",
              "functionType": "Action",
              "group": "Private",
              "name": "RememberIsAgainstWall",
              "private": true,
              "sentence": "_PARAM0_ remembers having been against a wall",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__WallJump_IsAgainstWall\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Forget that the character was against a wall.",
              "fullName": "Forget is against wall",
              "functionType": "Action",
              "group": "Private",
              "name": "ForgetIsAgainstWall",
              "private": true,
              "sentence": "_PARAM0_ forgets to had been against a wall",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RemoveObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__WallJump_IsAgainstWall\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Remember that the character was against a wall within the time frame.",
              "fullName": "Was against wall",
              "functionType": "Condition",
              "group": "Private",
              "name": "WasAgainstWall",
              "private": true,
              "sentence": "_PARAM0_ remembers to had been against a wall within _PARAM2_ seconds",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__WallJump_IsAgainstWall\"",
                        "<=",
                        "GetArgumentAsNumber(\"TimeFrame\")"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Time frame",
                  "longDescription": "The time frame in seconds.",
                  "name": "TimeFrame",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Remember that the jump key was pressed.",
              "fullName": "Remember key pressed",
              "functionType": "Action",
              "group": "Private",
              "name": "RememberJumpKeyPressed",
              "private": true,
              "sentence": "_PARAM0_ remembers the _PARAM2_ key was pressed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__WallJump_KeyPressed_\" + GetArgumentAsString(\"Key\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Key",
                  "name": "Key",
                  "supplementaryInformation": "[\"Jump\",\"Left\",\"Right\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Forget that the jump key was pressed.",
              "fullName": "Forget key pressed",
              "functionType": "Action",
              "group": "Private",
              "name": "ForgetJumpKeyPressed",
              "private": true,
              "sentence": "_PARAM0_ forgets the _PARAM2_ key was pressed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RemoveObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__WallJump_KeyPressed_\" + GetArgumentAsString(\"Key\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "",
                  "name": "Key",
                  "supplementaryInformation": "[\"Jump\",\"Left\",\"Right\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the key was pressed within the time frame.",
              "fullName": "Remember key pressed",
              "functionType": "Condition",
              "group": "Private",
              "name": "WasJumpKeyPressed",
              "private": true,
              "sentence": "_PARAM0_ remembers _PARAM3_ key was pressed within _PARAM2_ seconds",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__WallJump_KeyPressed_\" + GetArgumentAsString(\"Key\")",
                        "<=",
                        "GetArgumentAsNumber(\"TimeFrame\")"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Time frame",
                  "longDescription": "The time frame in seconds.",
                  "name": "TimeFrame",
                  "type": "expression"
                },
                {
                  "description": "",
                  "name": "Key",
                  "supplementaryInformation": "[\"Jump\",\"Left\",\"Right\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Enable side speed.",
              "fullName": "Toggle side speed",
              "functionType": "Action",
              "group": "Private",
              "name": "ToggleSideSpeed",
              "private": true,
              "sentence": "Enable side speed for _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Don't save the wrong acceleration and speed if the action is called 2 times with true."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"EnableSideSpeed\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureAcceleration"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "Object.Behavior::PropertyWallJumpAccelerationX()",
                        "\"WallJumpLeap\"",
                        ""
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::MaxSpeed"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter",
                            "<",
                            "Object.Behavior::PropertyWallJumpSpeedX()"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureMaxSpeed"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerConfigurationStack",
                            "Object.Behavior::PropertyWallJumpSpeedX()",
                            "\"WallJumpLeap\"",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Don't do it if speed wasn't saved by the previous event at some point."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"EnableSideSpeed\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::RevertConfiguration"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "\"WallJumpLeap\"",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Enable side speed",
                  "name": "EnableSideSpeed",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Enable wall sliding.",
              "fullName": "Slide on wall",
              "functionType": "Action",
              "group": "Private",
              "name": "SlideOnWall",
              "private": true,
              "sentence": "Enable wall sliding for _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Don't save the wrong gravity and maximum speed if the action is called 2 times with true."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"EnableWallSliding\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureGravity"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "Object.Behavior::PropertyWallSlidingGravity()",
                        "\"WallJumpSliding\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureMaxFallSpeed"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "Object.Behavior::PropertyWallSlidingMaxFallingSpeed()",
                        "\"WallJumpSliding\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Don't do it if gravity wasn't saved by the previous event at some point."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"EnableWallSliding\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::RevertConfiguration"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "\"WallJumpSliding\"",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Enable wall sliding",
                  "name": "EnableWallSliding",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Absorb falling speed of an object.",
              "fullName": "Absorb falling speed",
              "functionType": "Action",
              "group": "Private",
              "name": "AbsorbFallingSpeed",
              "private": true,
              "sentence": "Absorb falling speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::AbortJump"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter"
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentFallSpeed"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "=",
                        "max(Object.Behavior::PropertyWallSlidingFallingSpeedMin(), Object.PlatformerCharacter::CurrentFallSpeed() - Object.PlatformerCharacter::CurrentJumpSpeed() - GetArgumentAsNumber(\"SpeedAbsorption\")) + Object.PlatformerCharacter::CurrentJumpSpeed()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Speed absorption (in pixels per second)",
                  "name": "SpeedAbsorption",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "The wall jump detection time frame of an object (in seconds).",
              "fullName": "Jump time frame",
              "functionType": "Expression",
              "group": "Wall jump configuration",
              "name": "JumpTimeFrame",
              "sentence": "Change the wall jump detection time frame of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyJumpTimeFrame()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the wall jump detection time frame of an object (in seconds).",
              "fullName": "Jump time frame",
              "functionType": "Action",
              "group": "Wall jump configuration",
              "name": "SetJumpTimeFrame",
              "sentence": "Change the wall jump detection time frame of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::SetPropertyJumpTimeFrame"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"JumpTimeFrame\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Jump detection time frame (in seconds)",
                  "name": "JumpTimeFrame",
                  "type": "objectList"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "The side speed of wall jumps of an object (in pixels per second).",
              "fullName": "Side speed",
              "functionType": "Expression",
              "group": "Wall jump configuration",
              "name": "WallJumpSpeedX",
              "sentence": "Change the side speed of wall jumps of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyWallJumpSpeedX()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the side speed of wall jumps of an object (in pixels per second).",
              "fullName": "Side speed",
              "functionType": "Action",
              "group": "Wall jump configuration",
              "name": "SetWallJumpSpeedX",
              "sentence": "Change the side speed of wall jumps of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::SetPropertyWallJumpSpeedX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"WallJumpSpeedX\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Side speed",
                  "name": "WallJumpSpeedX",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "The side acceleration of wall jumps of an object (in pixels per second per second).",
              "fullName": "Side acceleration",
              "functionType": "Expression",
              "group": "Wall jump configuration",
              "name": "WallJumpAccelerationX",
              "sentence": "Change the side acceleration of wall jumps of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyWallJumpAccelerationX()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the side acceleration of wall jumps of an object (in pixels per second per second).",
              "fullName": "Side acceleration",
              "functionType": "Action",
              "group": "Wall jump configuration",
              "name": "SetWallJumpAccelerationX",
              "sentence": "Change the side acceleration of wall jumps of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::SetPropertyWallJumpAccelerationX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"WallJumpAccelerationX\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Side acceleration",
                  "name": "WallJumpAccelerationX",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "The wall sliding gravity of an object (in pixels per second per second).",
              "fullName": "Gravity",
              "functionType": "Expression",
              "group": "Wall sliding configuration",
              "name": "WallSlidingGravity",
              "sentence": "Change the wall sliding gravity of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyWallSlidingGravity()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the wall sliding gravity of an object (in pixels per second per second).",
              "fullName": "Gravity",
              "functionType": "Action",
              "group": "Wall sliding configuration",
              "name": "SetWallSlidingGravity",
              "sentence": "Change the wall sliding gravity of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::SetPropertyWallSlidingGravity"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"WallSlidingGravity\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Gravity",
                  "name": "WallSlidingGravity",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "The wall sliding maximum falling speed of an object (in pixels per second).",
              "fullName": "Maximum falling speed",
              "functionType": "Expression",
              "group": "Wall sliding configuration",
              "name": "WallSlidingMaxFallingSpeed",
              "sentence": "Change the wall sliding maximum falling speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyWallSlidingMaxFallingSpeed()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the wall sliding maximum falling speed of an object (in pixels per second).",
              "fullName": "Maximum falling speed",
              "functionType": "Action",
              "group": "Wall sliding configuration",
              "name": "SetWallSlidingMaxFallingSpeed",
              "sentence": "Change the wall sliding maximum falling speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::SetPropertyWallSlidingGravity"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"WallSlidingMaxFallingSpeed\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Maximum falling speed",
                  "name": "WallSlidingMaxFallingSpeed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the impact speed absorption of an object.",
              "fullName": "Impact speed absorption",
              "functionType": "Expression",
              "group": "Wall sliding configuration",
              "name": "WallSlidingSpeedAbsorption",
              "sentence": "Change the impact speed absorption of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyWallSlidingSpeedAbsorption()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the impact speed absorption of an object.",
              "fullName": "Impact speed absorption",
              "functionType": "Action",
              "group": "Wall sliding configuration",
              "name": "SetWallSlidingSpeedAbsorption",
              "sentence": "Change the impact speed absorption of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::WallJump::SetPropertyWallSlidingSpeedAbsorption"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Firebase::GetRemoteConfigNumber(\"WallSlidingSpeedAbsorption\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::WallJump",
                  "type": "behavior"
                },
                {
                  "description": "Impact speed absorption",
                  "name": "WallSlidingSpeedAbsorption",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer character behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "PlatformBehavior::PlatformerObjectBehavior"
              ],
              "hidden": false,
              "name": "PlatformerCharacter"
            },
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer character configuration stack",
              "description": "",
              "group": "",
              "extraInformation": [
                "AdvancedJump::PlatformerConfigurationStack"
              ],
              "hidden": false,
              "name": "PlatformerConfigurationStack"
            },
            {
              "value": "0.125",
              "type": "Number",
              "unit": "Second",
              "label": "Jump detection time frame",
              "description": "",
              "group": "Wall jump",
              "extraInformation": [],
              "hidden": false,
              "name": "JumpTimeFrame"
            },
            {
              "value": "250",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Side speed",
              "description": "",
              "group": "Wall jump",
              "extraInformation": [],
              "hidden": false,
              "name": "WallJumpSpeedX"
            },
            {
              "value": "1500",
              "type": "Number",
              "unit": "PixelAcceleration",
              "label": "Side acceleration",
              "description": "",
              "group": "Wall jump",
              "extraInformation": [],
              "hidden": false,
              "name": "WallJumpAccelerationX"
            },
            {
              "value": "0.2",
              "type": "Number",
              "unit": "Second",
              "label": "Side speed sustain time",
              "description": "",
              "group": "Wall jump",
              "extraInformation": [],
              "hidden": false,
              "name": "SideSpeedSustainTime"
            },
            {
              "value": "500",
              "type": "Number",
              "unit": "PixelAcceleration",
              "label": "Gravity",
              "description": "",
              "group": "Wall sliding",
              "extraInformation": [],
              "hidden": false,
              "name": "WallSlidingGravity"
            },
            {
              "value": "350",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Maximum falling speed",
              "description": "",
              "group": "Wall sliding",
              "extraInformation": [],
              "hidden": false,
              "name": "WallSlidingMaxFallingSpeed"
            },
            {
              "value": "350",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Impact speed absorption",
              "description": "",
              "group": "Wall sliding",
              "extraInformation": [],
              "hidden": false,
              "name": "WallSlidingSpeedAbsorption"
            },
            {
              "value": "50",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Minimal falling speed",
              "description": "",
              "group": "Wall sliding",
              "extraInformation": [],
              "hidden": false,
              "name": "WallSlidingFallingSpeedMin"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Keep sliding without holding a key",
              "description": "",
              "group": "Wall sliding",
              "extraInformation": [],
              "hidden": false,
              "name": "AutomaticSliding"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "PreviousX"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "IsAgainstWall"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "WasLeftOrRightPressed"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "IsWallJumping"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "IsJumpingLeft"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "WasInTheAir"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "HasJustWallJump"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "MovedAwayFromTheWall"
            }
          ],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Make platformer characters dash toward the floor.",
          "fullName": "Dive dash",
          "name": "DiveDash",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Revert default configuration"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::IsOnFloor"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter"
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::DiveDash::PropertyIsDiving"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::RevertConfiguration"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "\"DiveDash\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::DiveDash::SetPropertyIsDiving"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::DiveDash",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Simulate a press of dive key to make the object dives to the floor if it can dive.",
              "fullName": "Simulate dive key",
              "functionType": "Action",
              "name": "SimulateDiveKey",
              "sentence": "Simulate pressing dive key for _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Vertical dash to smash the ground"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedJump::DiveDash::CanDive"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::AbortJump"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter"
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureMaxFallSpeed"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "Object.Behavior::PropertyDiveMaxFallingSpeed()",
                        "\"DiveDash\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureGravity"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "Object.Behavior::PropertyDiveGravity()",
                        "\"DiveDash\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentFallSpeed"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "=",
                        "Object.Behavior::PropertyDiveInitialFallingSpeed()"
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::DiveDash::SetPropertyIsDiving"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::DiveDash",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object can dive.",
              "fullName": "Can dive",
              "functionType": "Condition",
              "name": "CanDive",
              "sentence": "_PARAM0_ can dive",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::IsJumping"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        },
                        {
                          "type": {
                            "value": "PlatformBehavior::IsFalling"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "AdvancedJump::DiveDash::PropertyIsDiving"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::DiveDash",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object is diving.",
              "fullName": "Is diving",
              "functionType": "Condition",
              "name": "IsDiving",
              "sentence": "_PARAM0_ is diving",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedJump::DiveDash::PropertyIsDiving"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::DiveDash",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer character behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "PlatformBehavior::PlatformerObjectBehavior"
              ],
              "hidden": false,
              "name": "PlatformerCharacter"
            },
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer character configuration stack",
              "description": "",
              "group": "",
              "extraInformation": [
                "AdvancedJump::PlatformerConfigurationStack"
              ],
              "hidden": false,
              "name": "PlatformerConfigurationStack"
            },
            {
              "value": "3000",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Maximum falling speed",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DiveMaxFallingSpeed"
            },
            {
              "value": "1000",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Initial falling speed",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DiveInitialFallingSpeed"
            },
            {
              "value": "8000",
              "type": "Number",
              "unit": "PixelAcceleration",
              "label": "Gravity",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DiveGravity"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "IsDiving"
            }
          ],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Make platformer characters dash horizontally.",
          "fullName": "Horizontal dash",
          "name": "HorizontalDash",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "\"Left\""
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "\"Right\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::HorizontalDash::SetPropertyLastDirectionIsLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "\"Left\""
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "\"Right\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::HorizontalDash::SetPropertyLastDirectionIsLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "AdvancedJump::HorizontalDash::IsDashing"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "AdvancedJump::HorizontalDash::PropertyDashKeyIsPressed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__PlatformerDash_CoolDown\"",
                        "<",
                        "Object.Behavior::PropertyCoolDownDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::HorizontalDash::SetPropertyCanDash"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedJump::HorizontalDash::IsDashing"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::IsJumping"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::PlatformerConfigurationStack::RevertConfiguration"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerConfigurationStack",
                            "\"HorizontalDashGravity\"",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Sustain"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedJump::HorizontalDash::PropertyIsSustainning"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "disabled": true,
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "DebuggerTools::ConsoleLog"
                              },
                              "parameters": [
                                "\"Sustain: \" + ToString(Object.PlatformerCharacter::CurrentSpeed())",
                                "",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::CurrentSpeed"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter",
                                "<",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateLeftKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::CurrentSpeed"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter",
                                ">",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateRightKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Or"
                              },
                              "parameters": [],
                              "subInstructions": [
                                {
                                  "type": {
                                    "value": "CompareObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"__PlatformerDash_SustainTime\"",
                                    ">",
                                    "Object.Behavior::PropertyDashSustainDurationMax()"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::And"
                                  },
                                  "parameters": [],
                                  "subInstructions": [
                                    {
                                      "type": {
                                        "inverted": true,
                                        "value": "AdvancedJump::HorizontalDash::PropertyDashKeyIsPressed"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "CompareObjectTimer"
                                      },
                                      "parameters": [
                                        "Object",
                                        "\"__PlatformerDash_SustainTime\"",
                                        "<=",
                                        "Object.Behavior::PropertyDashSustainDurationMin()"
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedJump::HorizontalDash::SetPropertyIsSustainning"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureDeceleration"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerConfigurationStack",
                                "Object.Behavior::PropertyDashDecceleration()",
                                "\"HorizontalDash\"",
                                ""
                              ]
                            }
                          ],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::IsJumping"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerCharacter"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureGravity"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerConfigurationStack",
                                    "Object.Behavior::PropertyDashGravity()",
                                    "\"HorizontalDashGravity\"",
                                    ""
                                  ]
                                }
                              ]
                            },
                            {
                              "disabled": true,
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "DebuggerTools::ConsoleLog"
                                  },
                                  "parameters": [
                                    "\"Sustain end\"",
                                    "",
                                    ""
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "After sustain"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "AdvancedJump::HorizontalDash::PropertyIsSustainning"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateLeftKey"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        },
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateRightKey"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "disabled": true,
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "DebuggerTools::ConsoleLog"
                              },
                              "parameters": [
                                "ToString(Object.PlatformerCharacter::CurrentSpeed())",
                                "",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Dashing end"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::CurrentSpeed"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter",
                            "<=",
                            "Object.PlatformerConfigurationStack::UsualMaxSpeed()"
                          ]
                        },
                        {
                          "type": {
                            "value": "PlatformBehavior::CurrentSpeed"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter",
                            ">=",
                            "-Object.PlatformerConfigurationStack::UsualMaxSpeed()"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "AdvancedJump::HorizontalDash::AbortDash"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        }
                      ],
                      "events": [
                        {
                          "disabled": true,
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "DebuggerTools::ConsoleLog"
                              },
                              "parameters": [
                                "\"Dash end\"",
                                "",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::HorizontalDash::SetPropertyDashKeyIsPressed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::HorizontalDash",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Simulate a press of dash key.",
              "fullName": "Simulate dash key",
              "functionType": "Action",
              "name": "SimulateDashKey",
              "sentence": "Simulate pressing dash key for _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::HorizontalDash::SetPropertyDashKeyIsPressed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedJump::HorizontalDash::PropertyCanDash"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__PlatformerDash_SustainTime\""
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::HorizontalDash::SetPropertyIsSustainning"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::AbortJump"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter"
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentFallSpeed"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "=",
                        "0"
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureGravity"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "Object.Behavior::PropertyDashSustainGravity()",
                        "\"HorizontalDashGravity\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureMaxSpeed"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "Object.Behavior::PropertyDashSustainSpeedMax()",
                        "\"HorizontalDash\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureAcceleration"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "Object.Behavior::PropertyDashSustainAcceleration()",
                        "\"HorizontalDash\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureDeceleration"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "0",
                        "\"HorizontalDash\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::HorizontalDash::SetPropertyCanDash"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedJump::HorizontalDash::PropertyLastDirectionIsLeft"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter",
                            "=",
                            "-Object.Behavior::PropertyDashInitialSpeed()"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "AdvancedJump::HorizontalDash::PropertyLastDirectionIsLeft"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter",
                            "=",
                            "Object.Behavior::PropertyDashInitialSpeed()"
                          ]
                        }
                      ]
                    },
                    {
                      "disabled": true,
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "DebuggerTools::ConsoleLog"
                          },
                          "parameters": [
                            "\"Dash start\"",
                            "",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::HorizontalDash",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object is dashing.",
              "fullName": "Is dashing",
              "functionType": "Condition",
              "name": "IsDashing",
              "sentence": "_PARAM0_ is dashing",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__PlatformerDash_SustainTime\"",
                        ">=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::HorizontalDash",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Abort the current dash and set the object to its usual horizontal speed.",
              "fullName": "Abort dash",
              "functionType": "Action",
              "name": "AbortDash",
              "sentence": "Abort the current dash of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::RevertConfiguration"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "\"HorizontalDash\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::RevertConfiguration"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerConfigurationStack",
                        "\"HorizontalDashGravity\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "RemoveObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__PlatformerDash_SustainTime\""
                      ]
                    },
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__PlatformerDash_CoolDown\""
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::CurrentSpeed"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter",
                            "<",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter",
                            "=",
                            "-Object.PlatformerConfigurationStack::UsualMaxSpeed()"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::CurrentSpeed"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter",
                            ">",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::PlatformerObjectBehavior::SetCurrentSpeed"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter",
                            "=",
                            "Object.PlatformerConfigurationStack::UsualMaxSpeed()"
                          ]
                        }
                      ]
                    },
                    {
                      "disabled": true,
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "DebuggerTools::ConsoleLog"
                          },
                          "parameters": [
                            "\"Dash end\"",
                            "",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::HorizontalDash",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer character behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "PlatformBehavior::PlatformerObjectBehavior"
              ],
              "hidden": false,
              "name": "PlatformerCharacter"
            },
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer charcacter configuration stack",
              "description": "",
              "group": "",
              "extraInformation": [
                "AdvancedJump::PlatformerConfigurationStack"
              ],
              "hidden": false,
              "name": "PlatformerConfigurationStack"
            },
            {
              "value": "500",
              "type": "Number",
              "label": "Initial speed",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DashInitialSpeed"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Sustain minimum duration",
              "description": "",
              "group": "Sustain",
              "extraInformation": [],
              "hidden": false,
              "name": "DashSustainDurationMin"
            },
            {
              "value": "0.25",
              "type": "Number",
              "label": "Sustain maxiumum duration",
              "description": "",
              "group": "Sustain",
              "extraInformation": [],
              "hidden": false,
              "name": "DashSustainDurationMax"
            },
            {
              "value": "1500",
              "type": "Number",
              "label": "Sustain acceleration",
              "description": "",
              "group": "Sustain",
              "extraInformation": [],
              "hidden": false,
              "name": "DashSustainAcceleration"
            },
            {
              "value": "750",
              "type": "Number",
              "label": "Sustain maxiumum speed",
              "description": "",
              "group": "Sustain",
              "extraInformation": [],
              "hidden": false,
              "name": "DashSustainSpeedMax"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Sustain gravity",
              "description": "",
              "group": "Sustain",
              "extraInformation": [],
              "hidden": false,
              "name": "DashSustainGravity"
            },
            {
              "value": "3000",
              "type": "Number",
              "label": "Decceleration",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DashDecceleration"
            },
            {
              "value": "1000",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DashGravity"
            },
            {
              "value": "0.25",
              "type": "Number",
              "label": "Cool down duration",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "CoolDownDuration"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "LastDirectionIsLeft"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "DashKeyIsPressed"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "IsSustainning"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "CanDash"
            }
          ],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Resolve conflict between platformer character configuration changes.",
          "fullName": "Platformer character configuration stack",
          "name": "PlatformerConfigurationStack",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::JsCode",
                  "inlineCode": [
                    "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");",
                    "const object = objects[0];",
                    "const behavior = object.getBehavior(behaviorName);",
                    "/** @type {gdjs.PlatformerObjectRuntimeBehavior} */",
                    "const character = object.getBehavior(behavior._getPlatformerCharacter());",
                    "",
                    "behavior.__settingNames = behavior.__settingNames || [\"gravity\", \"maxFallSpeed\", \"jumpSpeed\", \"jumpSustainTime\", \"acceleration\", \"deceleration\", \"maxSpeed\"];",
                    "",
                    "/** @type {{id:string, gravity: float, maxFallSpeed: float, jumpSpeed: float, jumpSustainTime: float, acceleration: float, deceleration: float, maxSpeed: float}[]} */",
                    "const configurationChanges = [];",
                    "behavior.__configurationChanges = configurationChanges;",
                    "// Add the default configuration",
                    "configurationChanges.push(({",
                    "    id: undefined,",
                    "    gravity: character.getGravity(),",
                    "    maxFallSpeed: character.getMaxFallingSpeed(),",
                    "    jumpSpeed: character.getJumpSpeed(),",
                    "    jumpSustainTime: character.getJumpSustainTime(),",
                    "    acceleration: character.getAcceleration(),",
                    "    deceleration: character.getDeceleration(),",
                    "    maxSpeed: character.getMaxSpeed()",
                    "}));",
                    ""
                  ],
                  "parameterObjects": "Object",
                  "useStrict": true,
                  "eventsSheetExpanded": true
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::PlatformerConfigurationStack",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Revert configuration changes for one identifier and update the character configuration to use the most recent ones.",
              "fullName": "Revert configuration",
              "functionType": "Action",
              "name": "RevertConfiguration",
              "sentence": "Revert configuration changes: _PARAM2_ on _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::JsCode",
                  "inlineCode": [
                    "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");",
                    "const object = objects[0];",
                    "const behavior = object.getBehavior(behaviorName);",
                    "/** @type {gdjs.PlatformerObjectRuntimeBehavior} */",
                    "const character = object.getBehavior(behavior._getPlatformerCharacter());",
                    "/** @type {string} */",
                    "const id = eventsFunctionContext.getArgument(\"Identifier\");",
                    "",
                    "if (id === undefined) {",
                    "    return;",
                    "}",
                    "",
                    "/** @type {{id:string, gravity: float, maxFallSpeed: float, jumpSpeed: float, jumpSustainTime: float, acceleration: float, deceleration: float, maxSpeed: float}[]} */",
                    "const configurationChanges = behavior.__configurationChanges || [];",
                    "",
                    "const index = configurationChanges.findIndex(value => value.id === id);",
                    "if (index >= 0) {",
                    "    configurationChanges.splice(index, 1);",
                    "",
                    "    // Update the configuration with the most recent changes.",
                    "    /** @type {string[]} */",
                    "    const settingNames = behavior.__settingNames;",
                    "    for (const settingName of settingNames) {",
                    "        const configuration = configurationChanges.find(value => value[settingName] !== undefined);",
                    "        const settingValue = configuration[settingName];",
                    "        // Methods can't be stored because the character instance could change.",
                    "        switch (settingName) {",
                    "            case \"gravity\":",
                    "                character.setGravity(settingValue);",
                    "                break;",
                    "            case \"maxFallSpeed\":",
                    "                character.setMaxFallingSpeed(settingValue);",
                    "                break;",
                    "            case \"jumpSpeed\":",
                    "                character.setJumpSpeed(settingValue);",
                    "                break;",
                    "            case \"jumpSustainTime\":",
                    "                character.setJumpSustainTime(settingValue);",
                    "                break;",
                    "            case \"acceleration\":",
                    "                character.setAcceleration(settingValue);",
                    "                break;",
                    "            case \"deceleration\":",
                    "                character.setDeceleration(settingValue);",
                    "                break;",
                    "            case \"maxSpeed\":",
                    "                character.setMaxSpeed(settingValue);",
                    "                break;",
                    "        }",
                    "    }",
                    "}",
                    ""
                  ],
                  "parameterObjects": "Object",
                  "useStrict": true,
                  "eventsSheetExpanded": true
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::PlatformerConfigurationStack",
                  "type": "behavior"
                },
                {
                  "description": "Configuration identifier",
                  "name": "Identifier",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the character property value when no change applies on it.",
              "fullName": "Setting",
              "functionType": "Expression",
              "name": "UsualSetting",
              "private": true,
              "sentence": "Configure the _PARAM2_ of _PARAM0_: _PARAM3_ with the identifier: _PARAM4_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::JsCode",
                  "inlineCode": [
                    "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");",
                    "const object = objects[0];",
                    "const behavior = object.getBehavior(behaviorName);",
                    "/** @type {gdjs.PlatformerObjectRuntimeBehavior} */",
                    "const character = object.getBehavior(behavior._getPlatformerCharacter());",
                    "/** @type {string} */",
                    "const settingName = eventsFunctionContext.getArgument(\"SettingName\");",
                    "/** @type {float} */",
                    "const settingValue = eventsFunctionContext.getArgument(\"SettingValue\");",
                    "/** @type {string} */",
                    "const id = eventsFunctionContext.getArgument(\"Identifier\");",
                    "",
                    "/** @type {{id:string, gravity: float, maxFallSpeed: float, jumpSpeed: float, jumpSustainTime: float, acceleration: float, deceleration: float, maxSpeed: float}[]} */",
                    "const configurationChanges = behavior.__configurationChanges || [];",
                    "",
                    "eventsFunctionContext.returnValue = configurationChanges[configurationChanges.length - 1][settingName];",
                    ""
                  ],
                  "parameterObjects": "Object",
                  "useStrict": true,
                  "eventsSheetExpanded": true
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::PlatformerConfigurationStack",
                  "type": "behavior"
                },
                {
                  "description": "",
                  "name": "SettingName",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the usual maximum horizontal speed when no configuration change applies on it.",
              "fullName": "Usual maximum horizontal speed",
              "functionType": "Expression",
              "name": "UsualMaxSpeed",
              "sentence": "Configure the maximum horizontal speed of _PARAM0_: _PARAM2_ with the identifier: _PARAM3_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::UsualSetting(\"maxSpeed\")"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::PlatformerConfigurationStack",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Configure a character property for a given configuration layer and move this layer on top.",
              "fullName": "Configure setting",
              "functionType": "Action",
              "name": "ConfigureSetting",
              "private": true,
              "sentence": "Configure the _PARAM2_ of _PARAM0_: _PARAM3_ with the identifier: _PARAM4_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::JsCode",
                  "inlineCode": [
                    "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");",
                    "const object = objects[0];",
                    "const behavior = object.getBehavior(behaviorName);",
                    "/** @type {gdjs.PlatformerObjectRuntimeBehavior} */",
                    "const character = object.getBehavior(behavior._getPlatformerCharacter());",
                    "/** @type {string} */",
                    "const settingName = eventsFunctionContext.getArgument(\"SettingName\");",
                    "/** @type {float} */",
                    "const settingValue = eventsFunctionContext.getArgument(\"SettingValue\");",
                    "/** @type {string} */",
                    "const id = eventsFunctionContext.getArgument(\"Identifier\");",
                    "",
                    "/** @type {{id:string, gravity: float, maxFallSpeed: float, jumpSpeed: float, jumpSustainTime: float, acceleration: float, deceleration: float, maxSpeed: float}[]} */",
                    "const configurationChanges = behavior.__configurationChanges || [];",
                    "",
                    "const index = configurationChanges.findIndex(value => value.id === id);",
                    "let configurationChange;",
                    "if (index < 0) {",
                    "    configurationChange = {id:id, gravity: undefined, maxFallSpeed: undefined, jumpSpeed: undefined, jumpSustainTime: undefined, acceleration: undefined, deceleration: undefined, maxSpeed: undefined}",
                    "    configurationChanges.splice(0, 0, configurationChange);",
                    "}",
                    "else {",
                    "    configurationChange = configurationChanges[index];",
                    "    // Move the configuration change on top",
                    "    if (index > 0) {",
                    "        configurationChanges.splice(index, 1);",
                    "        configurationChanges.splice(0, 0, configurationChange);",
                    "    }",
                    "}",
                    "configurationChange[settingName] = settingValue;",
                    ""
                  ],
                  "parameterObjects": "Object",
                  "useStrict": true,
                  "eventsSheetExpanded": true
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::PlatformerConfigurationStack",
                  "type": "behavior"
                },
                {
                  "description": "",
                  "name": "SettingName",
                  "type": "string"
                },
                {
                  "description": "Setting value",
                  "name": "SettingValue",
                  "type": "expression"
                },
                {
                  "description": "Configuration identifier",
                  "name": "Identifier",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Configure character gravity for a given configuration layer and move this layer on top.",
              "fullName": "Configure gravity",
              "functionType": "Action",
              "name": "ConfigureGravity",
              "sentence": "Configure the gravity of _PARAM0_: _PARAM2_ with the identifier: _PARAM3_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureSetting"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "\"gravity\"",
                        "GetArgumentAsNumber(\"SettingValue\")",
                        "GetArgumentAsString(\"Identifier\")",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::Gravity"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "=",
                        "GetArgumentAsNumber(\"SettingValue\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::PlatformerConfigurationStack",
                  "type": "behavior"
                },
                {
                  "description": "Gravity",
                  "name": "SettingValue",
                  "type": "expression"
                },
                {
                  "description": "Configuration identifier",
                  "name": "Identifier",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Configure character deceleration for a given configuration layer and move this layer on top.",
              "fullName": "Configure horizontal deceleration",
              "functionType": "Action",
              "name": "ConfigureDeceleration",
              "sentence": "Configure the horizontal deceleration of _PARAM0_: _PARAM2_ with the identifier: _PARAM3_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureSetting"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "\"deceleration\"",
                        "GetArgumentAsNumber(\"SettingValue\")",
                        "GetArgumentAsString(\"Identifier\")",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::Deceleration"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "=",
                        "GetArgumentAsNumber(\"SettingValue\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::PlatformerConfigurationStack",
                  "type": "behavior"
                },
                {
                  "description": "Acceleration",
                  "name": "SettingValue",
                  "type": "expression"
                },
                {
                  "description": "Configuration identifier",
                  "name": "Identifier",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Configure character maximum speed for a given configuration layer and move this layer on top.",
              "fullName": "Configure maximum horizontal speed",
              "functionType": "Action",
              "name": "ConfigureMaxSpeed",
              "sentence": "Configure the maximum horizontal speed of _PARAM0_: _PARAM2_ with the identifier: _PARAM3_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureSetting"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "\"maxSpeed\"",
                        "GetArgumentAsNumber(\"SettingValue\")",
                        "GetArgumentAsString(\"Identifier\")",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::MaxSpeed"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "=",
                        "GetArgumentAsNumber(\"SettingValue\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::PlatformerConfigurationStack",
                  "type": "behavior"
                },
                {
                  "description": "Maximum horizontal speed",
                  "name": "SettingValue",
                  "type": "expression"
                },
                {
                  "description": "Configuration identifier",
                  "name": "Identifier",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Configure character acceleration for a given configuration layer and move this layer on top.",
              "fullName": "Configure horizontal acceleration",
              "functionType": "Action",
              "name": "ConfigureAcceleration",
              "sentence": "Configure the horizontal acceleration of _PARAM0_: _PARAM2_ with the identifier: _PARAM3_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureSetting"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "\"acceleration\"",
                        "GetArgumentAsNumber(\"SettingValue\")",
                        "GetArgumentAsString(\"Identifier\")",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::Acceleration"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "=",
                        "GetArgumentAsNumber(\"SettingValue\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::PlatformerConfigurationStack",
                  "type": "behavior"
                },
                {
                  "description": "Acceleration",
                  "name": "SettingValue",
                  "type": "expression"
                },
                {
                  "description": "Configuration identifier",
                  "name": "Identifier",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Configure character maximum falling speed for a given configuration layer and move this layer on top.",
              "fullName": "Configure maximum falling speed",
              "functionType": "Action",
              "name": "ConfigureMaxFallSpeed",
              "sentence": "Configure the maximum falling speed of _PARAM0_: _PARAM2_ with the identifier: _PARAM3_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedJump::PlatformerConfigurationStack::ConfigureSetting"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "\"maxFallSpeed\"",
                        "GetArgumentAsNumber(\"SettingValue\")",
                        "GetArgumentAsString(\"Identifier\")",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::MaxFallingSpeed"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter",
                        "=",
                        "GetArgumentAsNumber(\"SettingValue\")",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedJump::PlatformerConfigurationStack",
                  "type": "behavior"
                },
                {
                  "description": "Maximum falling speed",
                  "name": "SettingValue",
                  "type": "expression"
                },
                {
                  "description": "Configuration identifier",
                  "name": "Identifier",
                  "type": "string"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer character behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "PlatformBehavior::PlatformerObjectBehavior"
              ],
              "hidden": false,
              "name": "PlatformerCharacter"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "@4ian",
      "category": "Game mechanic",
      "extensionNamespace": "",
      "fullName": "Fire bullets",
      "helpPath": "/extensions/fire-bullet/details",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWJ1bGxldCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNCwyMkgxMFYyMUgxNFYyMk0xMywxMFY3SDExVjEwTDEwLDExLjVWMjBIMTRWMTEuNUwxMywxME0xMiwyQzEyLDIgMTEsMyAxMSw1VjZIMTNWNUMxMyw1IDEzLDMgMTIsMloiIC8+PC9zdmc+",
      "name": "FireBullet",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/bullet.svg",
      "shortDescription": "Fire bullets, manage ammo, reloading and overheating.",
      "version": "0.6.3",
      "description": [
        "This extension allows objects to fire bullets.",
        "",
        "It handles:",
        "- Cooldown between shots",
        "- Firing multiple bullets at a time ([open the project online](https://editor.gdevelop.io/?project=example://fire-bullet))",
        "- Ammo management",
        "- Overheat",
        "",
        "It can be used for:",
        "- Twin-stick shooters ([open the project online](https://editor.gdevelop.io/?project=example://conviction-of-gun-dude-desktop))",
        "- Shoot'em up ([open the project online](https://editor.gdevelop.io/?project=example://space-shooter))",
        "",
        "A simple example shows how to make firing patterns ([open the project online](https://editor.gdevelop.io/?project=example://firing-patterns))."
      ],
      "origin": {
        "identifier": "FireBullet",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "fire",
        "bullet",
        "spawn",
        "firerate",
        "reload",
        "weapon",
        "ranged",
        "ammo",
        "overheat"
      ],
      "authorIds": [
        "wWP8BSlAW0UP4NeaHa2LcmmDzmH2",
        "xpwUwByyImTDcHEqDUqfyg0oRBt1",
        "2OwwM8ToR9dx9RJ2sAKTcrLmCB92",
        "gqDaZjCfevOOxBYkK6zlhtZnXCg1"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Fire bullets, manage ammo, reloading, and overheating.",
          "fullName": "Fire bullets",
          "name": "FireBullet",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__FireBullet.FiringCooldown\""
                      ]
                    },
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyStartingAmmo()"
                      ]
                    },
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyShotsPerReload()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "colorB": 224,
                  "colorG": 16,
                  "colorR": 189,
                  "creationTime": 0,
                  "name": "Take a shot (if triggered)",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Creators can use the \"FireBullet\" action multiple times in a frame and it will be counted as a single \"shot\"."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::PropertyHasJustFired"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Reset firing cooldown",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "ResetObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"__FireBullet.FiringCooldown\""
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Update ammo",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Subtract 1 from ammo (if not unlimited ammo)"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "-",
                                    "1"
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Update reloading counter",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::PropertyShotsPerReload"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    ">",
                                    "0"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "-",
                                    "1"
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Automatically reload gun when needed",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::PropertyAutomaticReloading"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::IsReloadNeeded"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "FireBullet::FireBullet::IsReloadInProgress"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::ReloadAmmo"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    ""
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Update Overheat",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Increase heat (if needed)"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::PropertyHeatIncreasePerShot"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    ">",
                                    "0"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::SetPropertyHeatLevel"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "+",
                                    "Object.Behavior::PropertyHeatIncreasePerShot()"
                                  ]
                                }
                              ],
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Check if this caused overheat"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "FireBullet::FireBullet::PropertyOverheatDuration"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior",
                                        ">",
                                        "0"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "FireBullet::FireBullet::IsOverheated"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior",
                                        ""
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "ResetObjectTimer"
                                      },
                                      "parameters": [
                                        "Object",
                                        "\"__FireBullet.OverheatDuration\""
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Update statistics",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "+",
                                    "1"
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Reset firing detection",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::SetPropertyHasJustFired"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "="
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Reload gun when needed",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Detect when reload is completed"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::IsReloadInProgress"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "CompareObjectTimer"
                          },
                          "parameters": [
                            "Object",
                            "\"__FireBullet.ReloadingTimer\"",
                            ">=",
                            "Object.Behavior::PropertyReloadDuration()"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "+",
                            "1"
                          ]
                        },
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::SetPropertyReloadInProgress"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "no"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "FireBullet::FireBullet::IsUnlimitedAmmo"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "Object.Behavior::PropertyShotsPerReload()"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Only reload the amount of ammo available"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "FireBullet::FireBullet::IsUnlimitedAmmo"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "min(Object.Behavior::PropertyShotsPerReload(), Object.Behavior::PropertyAmmoQuantity())"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Reduce heat level (based on cooling rate)",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::CompareNumbers"
                          },
                          "parameters": [
                            "Object.Behavior::HeatLevel()",
                            ">",
                            "0"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "FireBullet::FireBullet::PropertyExponentialCoolingRate"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ">",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "FireBullet::FireBullet::SetPropertyHeatLevel"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyExponentialCoolingRate() * Object.Behavior::PropertyHeatLevel())"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "FireBullet::FireBullet::PropertyLinearCoolingRate"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ">",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "FireBullet::FireBullet::SetPropertyHeatLevel"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "max(0, Object.Behavior::PropertyHeatLevel() - TimeDelta() * Object.Behavior::PropertyLinearCoolingRate())"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Fire bullets toward an object.",
              "fullName": "Fire bullets toward an object",
              "functionType": "Action",
              "name": "FireTowardObject",
              "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward _PARAM5_ with speed _PARAM6_ px/s",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Calculate the trajectory angle and use the \"Fire bullets\" action",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::Fire"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "GetArgumentAsNumber(\"XPosition\")",
                            "GetArgumentAsNumber(\"YPosition\")",
                            "Bullet",
                            "Object.AngleToObject(TargetObject)",
                            "GetArgumentAsNumber(\"Speed\")",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "X position, where to create the bullet",
                  "name": "XPosition",
                  "type": "expression"
                },
                {
                  "description": "Y position, where to create the bullet",
                  "name": "YPosition",
                  "type": "expression"
                },
                {
                  "description": "The bullet object",
                  "name": "Bullet",
                  "type": "objectListOrEmptyIfJustDeclared"
                },
                {
                  "description": "Target object",
                  "name": "TargetObject",
                  "type": "objectList"
                },
                {
                  "description": "Speed of the bullet, in pixels per second",
                  "name": "Speed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Fire bullets toward a position.",
              "fullName": "Fire bullets toward a position",
              "functionType": "Action",
              "name": "FireTowardPosition",
              "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward position _PARAM5_;_PARAM6_ with speed _PARAM7_ px/s",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Calculate the trajectory angle and use the \"Fire bullets\" action",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::Fire"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "GetArgumentAsNumber(\"XPosition\")",
                            "GetArgumentAsNumber(\"YPosition\")",
                            "Bullet",
                            "Object.AngleToPosition(GetArgumentAsNumber(\"TargetXPosition\"), GetArgumentAsNumber(\"TargetYPosition\"))",
                            "GetArgumentAsNumber(\"Speed\")",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "X position, where to create the bullet",
                  "name": "XPosition",
                  "type": "expression"
                },
                {
                  "description": "Y position, where to create the bullet",
                  "name": "YPosition",
                  "type": "expression"
                },
                {
                  "description": "The bullet object",
                  "name": "Bullet",
                  "type": "objectListOrEmptyIfJustDeclared"
                },
                {
                  "description": "Target X position",
                  "name": "TargetXPosition",
                  "type": "expression"
                },
                {
                  "description": "Target Y position",
                  "name": "TargetYPosition",
                  "type": "expression"
                },
                {
                  "description": "Speed of the bullet, in pixels per second",
                  "name": "Speed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Fire bullets in the direction of a given angle.",
              "fullName": "Fire bullets toward an angle",
              "functionType": "Action",
              "name": "Fire",
              "sentence": "Fire _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, toward angle _PARAM5_ and speed _PARAM6_ px/s",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Check if ready to shoot",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::IsReadyToShoot"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::SetPropertyHasJustFired"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "yes"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Single bullet",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::CompareNumbers"
                                  },
                                  "parameters": [
                                    "Object.Behavior::PropertyBulletQuantity()",
                                    "=",
                                    "1"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "FireBullet::FireBullet::FireSingleBullet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "GetArgumentAsNumber(\"XPosition\")",
                                    "GetArgumentAsNumber(\"YPosition\")",
                                    "Bullet",
                                    "GetArgumentAsNumber(\"Angle\")",
                                    "GetArgumentAsNumber(\"Speed\")",
                                    ""
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Multiple bullets",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::CompareNumbers"
                                  },
                                  "parameters": [
                                    "Object.Behavior::PropertyBulletQuantity()",
                                    ">",
                                    "1"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__FireBullet.CurrentBulletAngle",
                                    "=",
                                    "GetArgumentAsNumber(\"Angle\") - Object.Behavior::PropertyFiringArc()/2"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__FireBullet.BatchOrderID",
                                    "=",
                                    "0"
                                  ]
                                }
                              ],
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Repeat",
                                  "repeatExpression": "Object.Behavior::PropertyBulletQuantity()",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "FireBullet::FireBullet::FireSingleBullet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior",
                                        "GetArgumentAsNumber(\"XPosition\")",
                                        "GetArgumentAsNumber(\"YPosition\")",
                                        "Bullet",
                                        "Object.Variable(__FireBullet.CurrentBulletAngle) + RandomInRange(-Object.Behavior::PropertyAngleVariance(),Object.Behavior::PropertyAngleVariance())",
                                        "GetArgumentAsNumber(\"Speed\")",
                                        ""
                                      ]
                                    }
                                  ],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Move temp variable to the next angle a bullet will be sent"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "ModVarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__FireBullet.CurrentBulletAngle",
                                            "+",
                                            "Object.Behavior::PropertyFiringArc() / (Object.Behavior::PropertyBulletQuantity() - 1)"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "ModVarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__FireBullet.BatchOrderID",
                                            "+",
                                            "1"
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "X position, where to create the bullet",
                  "name": "XPosition",
                  "type": "expression"
                },
                {
                  "description": "Y position, where to create the bullet",
                  "name": "YPosition",
                  "type": "expression"
                },
                {
                  "description": "The bullet object",
                  "name": "Bullet",
                  "type": "objectListOrEmptyIfJustDeclared"
                },
                {
                  "description": "Angle of the bullet, in degrees",
                  "name": "Angle",
                  "type": "expression"
                },
                {
                  "description": "Speed of the bullet, in pixels per second",
                  "name": "Speed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Fire a single bullet. This is only meant to be used inside the \"Fire bullet\" action.",
              "fullName": "Fire a single bullet",
              "functionType": "Action",
              "group": "Firing",
              "name": "FireSingleBullet",
              "private": true,
              "sentence": "Fire a single bullet _PARAM4_ from _PARAM0_, at position _PARAM2_; _PARAM3_, with angle _PARAM5_ and speed _PARAM6_ px/s",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Fire a single bullet",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Create bullet"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "Create"
                          },
                          "parameters": [
                            "",
                            "Bullet",
                            "GetArgumentAsNumber(\"XPosition\")",
                            "GetArgumentAsNumber(\"YPosition\")",
                            "Object.Behavior::PropertyBulletLayer()"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Move bullet (apply angle and bullet speed variances)"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "FireBullet::FireBullet::SetPropertyRandomizedAngle"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "GetArgumentAsNumber(\"Angle\") + RandomInRange(-Object.Behavior::PropertyAngleVariance(), Object.Behavior::PropertyAngleVariance())"
                              ]
                            },
                            {
                              "type": {
                                "value": "AddForceAL"
                              },
                              "parameters": [
                                "Bullet",
                                "Object.Behavior::PropertyRandomizedAngle()",
                                "GetArgumentAsNumber(\"Speed\") + RandomInRange(-Object.Behavior::PropertyBulletSpeedVariance(), Object.Behavior::PropertyBulletSpeedVariance())",
                                "1"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Add identifier variables (to enable advanced picking by users)"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "Bullet",
                                "__FireBullet.BulletID",
                                "=",
                                "Object.Behavior::PropertyTotalBulletsCreated()"
                              ]
                            },
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "Bullet",
                                "__FireBullet.BatchID",
                                "=",
                                "Object.Behavior::PropertyTotalShotsFired()"
                              ]
                            },
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "Bullet",
                                "__FireBullet.BatchOrderID",
                                "=",
                                "0"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Rotate newly created bullet, if needed"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "FireBullet::FireBullet::PropertyRotateBullet"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SetAngle"
                              },
                              "parameters": [
                                "Bullet",
                                "=",
                                "Object.Behavior::PropertyRandomizedAngle()"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Update statistics"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "+",
                            "1"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "X position, where to create the bullet",
                  "name": "XPosition",
                  "type": "expression"
                },
                {
                  "description": "Y position, where to create the bullet",
                  "name": "YPosition",
                  "type": "expression"
                },
                {
                  "description": "The bullet object",
                  "name": "Bullet",
                  "type": "objectListOrEmptyIfJustDeclared"
                },
                {
                  "description": "Angle of the bullet, in degrees",
                  "name": "Angle",
                  "type": "expression"
                },
                {
                  "description": "Speed of the bullet, in pixels per second",
                  "name": "Speed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Reload ammo.",
              "fullName": "Reload ammo",
              "functionType": "Action",
              "name": "ReloadAmmo",
              "sentence": "Reload ammo on _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "FireBullet::FireBullet::IsOutOfAmmo"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyReloadInProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    },
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__FireBullet.ReloadingTimer\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object has just fired something.",
              "fullName": "Has just fired",
              "functionType": "Condition",
              "group": "Firing",
              "name": "HasJustFired",
              "sentence": "_PARAM0_ has just fired",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "False"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyHasJustFired"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if bullet rotates to match trajectory.",
              "fullName": "Is bullet rotation enabled",
              "functionType": "Condition",
              "group": "Firing",
              "name": "BulletRotationEnabled",
              "sentence": "Bullet rotation enabled on _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyRotateBullet"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the firing arc (in degrees) where bullets are shot. Bullets are evenly spaced out inside the firing arc.",
              "fullName": "Firing arc",
              "functionType": "ExpressionAndCondition",
              "group": "Multi-Fire",
              "name": "FiringArc",
              "sentence": "the firing arc",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyFiringArc()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "FiringArc",
              "name": "SetFiringArcOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyFiringArc"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Firing arc (degrees) Range: 0 to 360",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the firing arc (in degrees) where bullets will be shot. Bullets will be evenly spaced out inside the firing arc.",
              "fullName": "Set firing arc (deprecated)",
              "functionType": "Action",
              "group": "Multi-Fire",
              "name": "SetFiringArc",
              "private": true,
              "sentence": "Set firing arc of _PARAM0_ to _PARAM2_ degrees",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetFiringArcOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Firing arc (degrees) Range: 0 to 360",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the angle variance (in degrees) applied to each bullet.",
              "fullName": "Angle variance",
              "functionType": "ExpressionAndCondition",
              "group": "Firing variance",
              "name": "AngleVariance",
              "sentence": "the angle variance",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyAngleVariance()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "AngleVariance",
              "name": "SetAngleVarianceOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyAngleVariance"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Angle variance (degrees) Range: 0 to 180",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the angle variance (in degrees) applied to each bullet.",
              "fullName": "Set angle variance (deprecated)",
              "functionType": "Action",
              "group": "Firing",
              "name": "SetAngleVariance",
              "private": true,
              "sentence": "Set angle variance of _PARAM0_ to _PARAM2_ degrees",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetAngleVarianceOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Angle variance (degrees) Range: 0 to 180",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the bullet speed variance (pixels per second) applied to each bullet.",
              "fullName": "Bullet speed variance",
              "functionType": "ExpressionAndCondition",
              "group": "Firing variance",
              "name": "BulletSpeedVariance",
              "sentence": "the bullet speed variance",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyBulletSpeedVariance()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "BulletSpeedVariance",
              "name": "SetBulletSpeedVarianceOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyBulletSpeedVariance"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Angle variance (degrees) Range: 0 to 180",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the speed variance (pixels per second) applied to each bullet.",
              "fullName": "Set bullet speed variance (deprecated)",
              "functionType": "Action",
              "group": "Multi-Fire",
              "name": "SetBulletSpeedVariance",
              "private": true,
              "sentence": "Set bullet speed variance of _PARAM0_ to _PARAM2_ pixels per second",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetBulletSpeedVarianceOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Angle variance (degrees) Range: 0 to 180",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the number of bullets shot every time the \"fire bullet\" action is used.",
              "fullName": "Bullets per shot",
              "functionType": "ExpressionAndCondition",
              "group": "Multi-Fire",
              "name": "BulletQuantity",
              "sentence": "the number of bullets per shot",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyBulletQuantity()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "BulletQuantity",
              "name": "SetBulletQuantityOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyBulletQuantity"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Bullets",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the number of bullets shot every time the \"fire bullet\" action is used.",
              "fullName": "Set number of bullets per shot (deprecated)",
              "functionType": "Action",
              "group": "Multi-Fire",
              "name": "SetBulletQuantity",
              "private": true,
              "sentence": "Set number of bullets per shot of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetBulletQuantityOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Bullets",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the layer that bullets are created on.",
              "fullName": "Set bullet layer",
              "functionType": "Action",
              "group": "Firing",
              "name": "SetBulletLayer",
              "sentence": "Set the layer used to create bullets fired by _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyBulletLayer"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Layer",
                  "name": "Value",
                  "type": "layer"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Enable bullet rotation.",
              "fullName": "Enable (or disable) bullet rotation",
              "functionType": "Action",
              "group": "Firing",
              "name": "SetRotateBullet",
              "sentence": "Enable bullet rotation on _PARAM0_:  _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"RotateBullet\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyRotateBullet"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"RotateBullet\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyRotateBullet"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "defaultValue": "yes",
                  "description": "Rotate bullet to match trajetory",
                  "name": "RotateBullet",
                  "optional": true,
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Enable unlimited ammo.",
              "fullName": "Enable (or disable) unlimited ammo",
              "functionType": "Action",
              "group": "Ammo",
              "name": "SetUnlimitedAmmo",
              "sentence": "Enable unlimited ammo on _PARAM0_:  _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"UnlimitedAmmo\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"UnlimitedAmmo\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyUnlimitedAmmo"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "defaultValue": "yes",
                  "description": "Unlimited ammo",
                  "name": "UnlimitedAmmo",
                  "optional": true,
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the firing cooldown (in seconds) also known as rate of fire.",
              "fullName": "Firing cooldown",
              "functionType": "ExpressionAndCondition",
              "group": "Firing",
              "name": "Cooldown",
              "sentence": "the firing cooldown",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyFireCooldown()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "Cooldown",
              "name": "SetCooldownOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyFireCooldown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Cooldown in seconds",
                  "name": "NewCooldown",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the firing cooldown, which changes the rate of fire.",
              "fullName": "Set firing cooldown (deprecated)",
              "functionType": "Action",
              "group": "Firing",
              "name": "SetCooldown",
              "private": true,
              "sentence": "Set the fire rate of _PARAM0_ to _PARAM2_ seconds",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetCooldownOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"NewCooldown\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Cooldown in seconds",
                  "name": "NewCooldown",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the reload duration (in seconds).",
              "fullName": "Reload duration",
              "functionType": "ExpressionAndCondition",
              "group": "Reload",
              "name": "ReloadDuration",
              "sentence": "the reload duration",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyReloadDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "ReloadDuration",
              "name": "SetReloadDurationOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyReloadDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Reload duration (seconds)",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the duration to reload ammo.",
              "fullName": "Set reload duration (deprecated)",
              "functionType": "Action",
              "group": "Reload",
              "name": "SetReloadDuration",
              "private": true,
              "sentence": "Set the reload duration of _PARAM0_ to _PARAM2_ seconds",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetReloadDurationOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Reload duration (seconds)",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the overheat duration (in seconds). When an object is overheated, it can't fire for this duration.",
              "fullName": "Overheat duration",
              "functionType": "ExpressionAndCondition",
              "group": "Overheat",
              "name": "OverheatDuration",
              "sentence": "the overheat duration",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyOverheatDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "OverheatDuration",
              "name": "SetOverheatDurationOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyOverheatDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Overheat duration (seconds)",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the duration after becoming overheated.",
              "fullName": "Set overheat duration (deprecated)",
              "functionType": "Action",
              "group": "Overheat",
              "name": "SetOverheatDuration",
              "private": true,
              "sentence": "Set the overheat duration of _PARAM0_ to _PARAM2_ seconds",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetOverheatDurationOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Overheat duration (seconds)",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the ammo quantity.",
              "fullName": "Ammo quantity",
              "functionType": "ExpressionAndCondition",
              "group": "Ammo",
              "name": "AmmoQuantity",
              "sentence": "the ammo quantity",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyAmmoQuantity()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "AmmoQuantity",
              "name": "SetAmmoQuantityOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Ammo",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the quantity of ammo.",
              "fullName": "Set ammo quantity (deprecated)",
              "functionType": "Action",
              "group": "Ammo",
              "name": "SetAmmoQuantity",
              "private": true,
              "sentence": "Set the ammo quantity of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetAmmoQuantityOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Ammo",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the heat increase per shot.",
              "fullName": "Heat increase per shot",
              "functionType": "ExpressionAndCondition",
              "group": "Overheat",
              "name": "HeatIncreasePerShot",
              "sentence": "the heat increase per shot",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyHeatIncreasePerShot()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "HeatIncreasePerShot",
              "name": "SetHeatPerShotOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyHeatIncreasePerShot"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Heat increase per shot (Range: 0 to 1)",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the heat increase per shot.",
              "fullName": "Set heat increase per shot (deprecated)",
              "functionType": "Action",
              "group": "Overheat",
              "name": "SetHeatPerShot",
              "private": true,
              "sentence": "Set the heat increase of _PARAM0_ to _PARAM2_ per shot",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetHeatPerShotOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Heat increase per shot (Range: 0 to 1)",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the max ammo.",
              "fullName": "Max ammo",
              "functionType": "ExpressionAndCondition",
              "group": "Ammo",
              "name": "MaxAmmo",
              "sentence": "the max ammo",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyMaxAmmo()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "MaxAmmo",
              "name": "SetMaxAmmoOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyMaxAmmo"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyMaxAmmo"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Max ammo",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the max ammo.",
              "fullName": "Set max ammo (deprecated)",
              "functionType": "Action",
              "group": "Ammo",
              "name": "SetMaxAmmo",
              "private": true,
              "sentence": "Set the max ammo of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetMaxAmmoOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Max ammo",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Reset total shots fired.",
              "fullName": "Reset total shots fired",
              "functionType": "Action",
              "group": "Stats",
              "name": "ResetTotalShotsFired",
              "sentence": "Reset total shots fired by _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyTotalShotsFired"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Reset total bullets created.",
              "fullName": "Reset total bullets created",
              "functionType": "Action",
              "group": "Stats",
              "name": "ResetTotalBulletsCreated",
              "sentence": "Reset total bullets created by _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyTotalBulletsCreated"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Reset total reloads completed.",
              "fullName": "Reset total reloads completed",
              "functionType": "Action",
              "group": "Stats",
              "name": "ResetTotalReloadsCompleted",
              "sentence": "Reset total reloads completed by _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyTotalReloadsCompleted"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the number of shots per reload.",
              "fullName": "Shots per reload",
              "functionType": "ExpressionAndCondition",
              "group": "Reload",
              "name": "ShotsPerReload",
              "sentence": "the shots per reload",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyShotsPerReload()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "ShotsPerReload",
              "name": "SetShotsPerReloadOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyShotsPerReload"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">",
                        "Object.Behavior::PropertyShotsPerReload()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyShotsBeforeNextReload"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyShotsPerReload()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Shots per reload",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the number of shots per reload.",
              "fullName": "Set shots per reload (deprecated)",
              "functionType": "Action",
              "group": "Reload",
              "name": "SetShotsPerReload",
              "private": true,
              "sentence": "Set the shots per reload of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetShotsPerReloadOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Shots per reload",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Enable (or disable) automatic reloading.",
              "fullName": "Enable (or disable) automatic reloading",
              "functionType": "Action",
              "group": "Reload",
              "name": "SetAutomaticReload",
              "sentence": "Enable automatic reloading on _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "="
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"Value\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyAutomaticReloading"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "defaultValue": "yes",
                  "description": "Enable automatic reloading",
                  "name": "Value",
                  "optional": true,
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the linear cooling rate (per second).",
              "fullName": "Linear cooling rate",
              "functionType": "ExpressionAndCondition",
              "group": "Overheat",
              "name": "LinearCoolingRate",
              "sentence": "the linear cooling rate",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyLinearCoolingRate()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "LinearCoolingRate",
              "name": "SetLinearCoolingRateOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyLinearCoolingRate"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Heat cooling rate (per second)",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the linear rate of cooling.",
              "fullName": "Set linear cooling rate (deprecated)",
              "functionType": "Action",
              "group": "Overheat",
              "name": "SetLinearCoolingRate",
              "private": true,
              "sentence": "Set the linear cooling rate of _PARAM0_ to _PARAM2_ per second",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetLinearCoolingRateOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Heat cooling rate (per second)",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the exponential cooling rate, per second.",
              "fullName": "Exponential cooling rate",
              "functionType": "ExpressionAndCondition",
              "group": "Overheat",
              "name": "ExponentialCoolingRate",
              "sentence": "the exponential cooling rate",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyExponentialCoolingRate()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "ExponentialCoolingRate",
              "name": "SetExponentialCoolingRateOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyExponentialCoolingRate"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Exponential cooling rate",
                  "name": "Value",
                  "supplementaryInformation": "[\"Exponential\",\"Linear\"]",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the exponential rate of cooling.",
              "fullName": "Set exponential cooling rate (deprecated)",
              "functionType": "Action",
              "group": "Overheat",
              "name": "SetExponentialCoolingRate",
              "private": true,
              "sentence": "Set the exponential cooling rate of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetExponentialCoolingRateOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Exponential cooling rate",
                  "name": "Value",
                  "supplementaryInformation": "[\"Exponential\",\"Linear\"]",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Increase ammo quantity.",
              "fullName": "Increase ammo",
              "functionType": "Action",
              "name": "IncreaseAmmo",
              "sentence": "Increase ammo of _PARAM0_ by _PARAM2_ shots",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "+",
                        "GetArgumentAsNumber(\"AmmoGained\")"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "If Max Ammo is set, do not exceed the value"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyMaxAmmo"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::SetPropertyAmmoQuantity"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "min(Object.Behavior::MaxAmmo(),Object.Behavior::AmmoQuantity())"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::IsReloadNeeded"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyAutomaticReloading"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::ReloadAmmo"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                },
                {
                  "description": "Ammo gained",
                  "name": "AmmoGained",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Layer that bullets are created on.",
              "fullName": "Bullet layer",
              "functionType": "StringExpression",
              "group": "Multi-Fire",
              "name": "BulletLayer",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnString"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyBulletLayer()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "layer"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the heat level (range: 0 to 1).",
              "fullName": "Heat level",
              "functionType": "ExpressionAndCondition",
              "group": "Overheat",
              "name": "HeatLevel",
              "sentence": "the heat level",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "min(1,Object.Behavior::PropertyHeatLevel())"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Total shots fired (multi-bullet shots are considered one shot).",
              "fullName": "Shots fired",
              "functionType": "Expression",
              "group": "Stats",
              "name": "TotalShotsFired",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyTotalShotsFired()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Total bullets created.",
              "fullName": "Bullets created",
              "functionType": "Expression",
              "group": "Stats",
              "name": "TotalBulletsCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyTotalBulletsCreated()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Reloads completed.",
              "fullName": "Reloads completed",
              "functionType": "Expression",
              "group": "Stats",
              "name": "TotalReloadsCompleted",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyTotalReloadsCompleted()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the remaining shots before the next reload is required.",
              "fullName": "Shots before next reload",
              "functionType": "ExpressionAndCondition",
              "group": "Reload",
              "name": "ShotsBeforeNextReload",
              "sentence": "the remaining shots (before the next reload)",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyShotsBeforeNextReload()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the remaining duration before the cooldown will permit a bullet to be fired, in seconds.",
              "fullName": "Duration before cooldown end",
              "functionType": "ExpressionAndCondition",
              "group": "Firing",
              "name": "CooldownTimeLeft",
              "sentence": "the remaining duration before the cooldown end",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "max(0,Object.Behavior::Cooldown() - Object.ObjectTimerElapsedTime(\"__FireBullet.FiringCooldown\"))"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the remaining duration before the overheat penalty ends, in seconds.",
              "fullName": "Duration before overheat end",
              "functionType": "ExpressionAndCondition",
              "group": "Overheat",
              "name": "OverheatTimeLeft",
              "sentence": "the remaining duration before the overheat end",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__FireBullet.OverheatDuration\"",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "max(0, Object.Behavior::PropertyOverheatDuration() - Object.ObjectTimerElapsedTime(\"__FireBullet.OverheatDuration\"))"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if object is currently performing an ammo reload.",
              "fullName": "Is ammo reloading in progress",
              "functionType": "Condition",
              "group": "Reload",
              "name": "IsReloadInProgress",
              "sentence": "_PARAM0_ is reloading ammo",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "False"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyReloadInProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if object is ready to shoot.",
              "fullName": "Is ready to shoot",
              "functionType": "Condition",
              "group": "Firing",
              "name": "IsReadyToShoot",
              "sentence": "_PARAM0_ is ready to shoot",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "False"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::PropertyHasJustFired"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::And"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "BehaviorActivated"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "FireBullet::FireBullet::IsOutOfAmmo"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "FireBullet::FireBullet::IsReloadNeeded"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "FireBullet::FireBullet::IsReloadInProgress"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "FireBullet::FireBullet::IsFiringCooldownActive"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "FireBullet::FireBullet::IsOverheated"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if automatic reloading is enabled.",
              "fullName": "Is automatic reloading enabled",
              "functionType": "Condition",
              "group": "Reload",
              "name": "IsAutomaticReloadingEnabled",
              "sentence": "Automatic reloading is enabled on_PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "False"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyAutomaticReloading"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if ammo is unlimited.",
              "fullName": "Is ammo unlimited",
              "functionType": "Condition",
              "group": "Ammo",
              "name": "IsUnlimitedAmmo",
              "sentence": "_PARAM0_ has unlimited ammo",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "False"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyUnlimitedAmmo"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if object has no ammo available.",
              "fullName": "Is out of ammo",
              "functionType": "Condition",
              "group": "Ammo",
              "name": "IsOutOfAmmo",
              "sentence": "_PARAM0_ is out of ammo",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "False"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "FireBullet::FireBullet::IsUnlimitedAmmo"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyAmmoQuantity"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if object needs to reload ammo.",
              "fullName": "Is a reload needed",
              "functionType": "Condition",
              "group": "Reload",
              "name": "IsReloadNeeded",
              "sentence": "_PARAM0_ needs to reload ammo",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "False"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Shots per reload must not be \"0\""
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyShotsPerReload"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">",
                        "0"
                      ]
                    },
                    {
                      "type": {
                        "value": "FireBullet::FireBullet::PropertyShotsBeforeNextReload"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if object is overheated.",
              "fullName": "Is overheated",
              "functionType": "Condition",
              "group": "Overheat",
              "name": "IsOverheated",
              "sentence": "_PARAM0_ is overheated",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "False"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "FireBullet::FireBullet::PropertyHeatLevel"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ">=",
                            "1"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::CompareNumbers"
                          },
                          "parameters": [
                            "Object.Behavior::OverheatTimeLeft()",
                            ">",
                            "0"
                          ]
                        }
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if firing cooldown is active.",
              "fullName": "Is firing cooldown active",
              "functionType": "Condition",
              "group": "Firing",
              "name": "IsFiringCooldownActive",
              "sentence": "Firing cooldown is active on _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "False"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CooldownTimeLeft()",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "FireBullet::FireBullet",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "0.1",
              "type": "Number",
              "unit": "Second",
              "label": "Firing cooldown",
              "description": "Objects cannot shoot while firing cooldown is active",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "FireCooldown"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "HasJustFired"
            },
            {
              "value": "45",
              "type": "Number",
              "unit": "DegreeAngle",
              "label": "Firing arc",
              "description": "Multi-Fire bullets will be evenly spaced inside the firing arc",
              "group": "Multi-Fire",
              "extraInformation": [],
              "hidden": false,
              "name": "FiringArc"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Number of bullets created at once (Multi-Fire)",
              "description": "Multi-Fire bullets will be evenly spaced inside the firing arc",
              "group": "Multi-Fire",
              "extraInformation": [],
              "hidden": false,
              "name": "BulletQuantity"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "DegreeAngle",
              "label": "Angle variance",
              "description": "Make imperfect aim (Range: 0 to 180 degrees)",
              "group": "Firing variance",
              "extraInformation": [],
              "hidden": false,
              "name": "AngleVariance"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Rotate bullets to match their trajectory",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "RotateBullet"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Ammo quantity (current)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "AmmoQuantity"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Shots per reload ",
              "description": "Use 0 to disable reloading",
              "group": "Reload",
              "extraInformation": [],
              "hidden": false,
              "name": "ShotsPerReload"
            },
            {
              "value": "1",
              "type": "Number",
              "unit": "Second",
              "label": "Reloading duration",
              "description": "Objects cannot shoot while reloading is in progress",
              "group": "Reload",
              "extraInformation": [],
              "hidden": false,
              "name": "ReloadDuration"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Max ammo ",
              "description": "",
              "group": "Ammo",
              "extraInformation": [],
              "hidden": false,
              "name": "MaxAmmo"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Shots before next reload",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ShotsBeforeNextReload"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Total shots fired",
              "description": "Regardless of how many bullets are created, only 1 shot will be counted per frame",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "TotalShotsFired"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Total bullets created",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "TotalBulletsCreated"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Starting ammo",
              "description": "",
              "group": "Ammo",
              "extraInformation": [],
              "hidden": false,
              "name": "StartingAmmo"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Total reloads completed",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "TotalReloadsCompleted"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Unlimited ammo",
              "description": "",
              "group": "Ammo",
              "extraInformation": [],
              "hidden": false,
              "name": "UnlimitedAmmo"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ReloadInProgress"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Heat increase per shot (Range: 0 to 1)",
              "description": " Object is overheated when Heat reaches 1",
              "group": "Overheat",
              "extraInformation": [],
              "hidden": false,
              "name": "HeatIncreasePerShot"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Heat level (Range: 0 to 1)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "HeatLevel"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Reload automatically",
              "description": "",
              "group": "Reload",
              "extraInformation": [],
              "hidden": false,
              "name": "AutomaticReloading"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Second",
              "label": "Overheat duration",
              "description": "Object cannot shoot while overheat duration is active",
              "group": "Overheat",
              "extraInformation": [],
              "hidden": false,
              "name": "OverheatDuration"
            },
            {
              "value": "0.1",
              "type": "Number",
              "label": "Linear cooling rate (per second)",
              "description": "",
              "group": "Overheat",
              "extraInformation": [],
              "hidden": false,
              "name": "LinearCoolingRate"
            },
            {
              "value": "0.3",
              "type": "Number",
              "label": "Exponential cooling rate (per second)",
              "description": "Happens faster when heat is high and slower when heat is low",
              "group": "Overheat",
              "extraInformation": [
                "Linear",
                "Exponential"
              ],
              "hidden": false,
              "name": "ExponentialCoolingRate"
            },
            {
              "value": "",
              "type": "String",
              "label": "Layer the bullets are created on",
              "description": "Base layer by default",
              "group": "Shooting configuration",
              "extraInformation": [],
              "hidden": true,
              "name": "BulletLayer"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "RandomizedAngle"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Bullet speed variance",
              "description": "Bullet speed will be adjusted by a random value within this range",
              "group": "Firing variance",
              "extraInformation": [],
              "hidden": false,
              "name": "BulletSpeedVariance"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "Silver-Streak, @Bouh, Tristan Rhodes",
      "category": "Game mechanic",
      "extensionNamespace": "",
      "fullName": "Object \"Is On Screen\" Detection",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLW1vbml0b3Itc2NyZWVuc2hvdCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik05LDZINVYxMEg3VjhIOU0xOSwxMEgxN1YxMkgxNVYxNEgxOU0yMSwxNkgzVjRIMjFNMjEsMkgzQzEuODksMiAxLDIuODkgMSw0VjE2QTIsMiAwIDAsMCAzLDE4SDEwVjIwSDhWMjJIMTZWMjBIMTRWMThIMjFBMiwyIDAgMCwwIDIzLDE2VjRDMjMsMi44OSAyMi4xLDIgMjEsMiIgLz48L3N2Zz4=",
      "name": "IsOnScreen",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/monitor-screenshot.svg",
      "shortDescription": "This adds a condition to detect if an object is on screen based off its current layer.",
      "version": "1.2.1",
      "description": [
        "This extension adds conditions to check if an object is located within the visible portion of its layer's camera. The condition also allows for specifying padding to the virtual screen border.",
        "",
        "Note that this does not take into account any object visibility, such as being hidden or 0 opacity, but can be combined with those existing conditions."
      ],
      "origin": {
        "identifier": "IsOnScreen",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "is on screen",
        "condition",
        "visible",
        "hide",
        "screen"
      ],
      "authorIds": [
        "2OwwM8ToR9dx9RJ2sAKTcrLmCB92",
        "8Ih1aa8f5gWUp4UB2BdhQ2iXWxJ3",
        "gqDaZjCfevOOxBYkK6zlhtZnXCg1"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "This behavior provides a condition to check if the object is located within the visible portion of its layer's camera. The condition also allows for specifying padding to the virtual screen border.\nNote that object visibility, such as being hidden or 0 opacity, is not considered (but you can use those existing conditions in addition to this behavior).",
          "fullName": "Is on screen",
          "name": "InOnScreen",
          "objectType": "",
          "eventsFunctions": [
            {
              "description": "Checks if an object position is within the viewport of its layer.",
              "fullName": "Is on screen",
              "functionType": "Condition",
              "name": "IsOnScreen",
              "sentence": "_PARAM0_ is on screen (padded by _PARAM2_ pixels)",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::JsCode",
                  "inlineCode": [
                    "/*",
                    "Get the object layer, convert the position from this layer to the screen coordinates.",
                    "Get the point on each side on the object on screen, and compare with the screen area.",
                    "",
                    "This way even if the camera has a rotation or custom scale the object is always compared to the screen area.",
                    "*/",
                    "",
                    "",
                    "// Get the layer of the object.",
                    "const object = objects[0];",
                    "const layer = runtimeScene.getLayer(object.getLayer());",
                    "",
                    "// Get the aabb of the object on his layer.",
                    "const aabb = object.getVisibilityAABB();",
                    "",
                    "// Get the layer to convert the coordinates of the AABB to the screen coordinates",
                    "const topLeft = layer.convertInverseCoords(aabb.min[0], aabb.min[1]);",
                    "const topRight = layer.convertInverseCoords(aabb.max[0], aabb.min[1]);",
                    "const bottomRight = layer.convertInverseCoords(aabb.max[0], aabb.max[1]);",
                    "const bottomLeft = layer.convertInverseCoords(aabb.min[0], aabb.max[1]);",
                    "",
                    "// Get the points on each side of the object on screen.",
                    "const posLeftObjectOnScreen = Math.min(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);",
                    "const posRightObjectOnScreen = Math.max(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);",
                    "const posUpObjectOnScreen = Math.min(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);",
                    "const posDownObjectOnScreen = Math.max(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);",
                    "",
                    "const padding = eventsFunctionContext.getArgument(\"Padding\");",
                    "",
                    "if (",
                    "    !(posLeftObjectOnScreen - padding > runtimeScene.getGame().getGameResolutionWidth() ||",
                    "        posUpObjectOnScreen - padding > runtimeScene.getGame().getGameResolutionHeight() ||",
                    "        posRightObjectOnScreen + padding < 0 ||",
                    "        posDownObjectOnScreen + padding < 0",
                    "        )",
                    ") {",
                    "    eventsFunctionContext.returnValue = true;",
                    "}",
                    ""
                  ],
                  "parameterObjects": "Object",
                  "useStrict": true,
                  "eventsSheetExpanded": true
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "IsOnScreen::InOnScreen",
                  "type": "behavior"
                },
                {
                  "description": "Padding (in pixels)",
                  "longDescription": "Number of pixels to pad the screen border. Zero by default. A negative value goes inside the screen, a positive value go outside.",
                  "name": "Padding",
                  "type": "expression"
                }
              ],
              "objectGroups": [
                {
                  "name": "Group",
                  "objects": []
                }
              ]
            }
          ],
          "propertyDescriptors": [],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "VegeTato, D8H",
      "category": "Visual effect",
      "extensionNamespace": "",
      "fullName": "3D Flip",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZsaXAtaG9yaXpvbnRhbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNSAyMUgxN1YxOUgxNU0xOSA5SDIxVjdIMTlNMyA1VjE5QzMgMjAuMSAzLjkgMjEgNSAyMUg5VjE5SDVWNUg5VjNINUMzLjkgMyAzIDMuOSAzIDVNMTkgM1Y1SDIxQzIxIDMuOSAyMC4xIDMgMTkgM00xMSAyM0gxM1YxSDExTTE5IDE3SDIxVjE1SDE5TTE1IDVIMTdWM0gxNU0xOSAxM0gyMVYxMUgxOU0xOSAyMUMyMC4xIDIxIDIxIDIwLjEgMjEgMTlIMTlaIiAvPjwvc3ZnPg==",
      "name": "ThreeDFlip",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/flip-horizontal.svg",
      "shortDescription": "Flip sprites with a 3D rotation effect.",
      "version": "1.0.1",
      "description": [
        "Flip sprites with a 3D rotation effect.",
        "",
        "Note that the X origin point must be at the center for the best results."
      ],
      "origin": {
        "identifier": "ThreeDFlip",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "flip"
      ],
      "authorIds": [
        "IRIhkkTTl2UHhfjrLTTH5GYwkYu1",
        "IWykYNRvhCZBN3vEgKEbBPOR3Oc2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Flip a Sprite with a 3D effect.",
          "fullName": "3D Flip",
          "name": "ThreeDFlip",
          "objectType": "Sprite",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::PropertyIsFlipping"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ThreeDFlip::ThreeDFlip::SetPropertyElapsedTime"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "+",
                            "TimeDelta() * 1000"
                          ]
                        },
                        {
                          "type": {
                            "value": "ChangeWidth"
                          },
                          "parameters": [
                            "Object",
                            "=",
                            "Object.Behavior::PropertyWidth() * abs(cos(3.141592 * Object.Behavior::PropertyElapsedTime() / Object.Behavior::PropertyDuration()))"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Egal"
                          },
                          "parameters": [
                            "Object.Behavior::PropertyElapsedTime()",
                            ">=",
                            "Object.Behavior::PropertyDuration() / 2"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "ThreeDFlip::ThreeDFlip::PropertyIsFlipped"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "FlipX"
                              },
                              "parameters": [
                                "Object",
                                "no"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "ThreeDFlip::ThreeDFlip::PropertyIsFlipped"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "FlipX"
                              },
                              "parameters": [
                                "Object",
                                "yes"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Egal"
                          },
                          "parameters": [
                            "Object.Behavior::PropertyElapsedTime()",
                            ">=",
                            "Object.Behavior::PropertyDuration()"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ChangeWidth"
                          },
                          "parameters": [
                            "Object",
                            "=",
                            "Object.Behavior::PropertyWidth()"
                          ]
                        },
                        {
                          "type": {
                            "value": "ThreeDFlip::ThreeDFlip::SetPropertyIsFlipping"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "no"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "FlippedX"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ThreeDFlip::ThreeDFlip::SetPropertyIsFlipped"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "FlippedX"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ThreeDFlip::ThreeDFlip::SetPropertyIsFlipped"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "no"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ThreeDFlip::ThreeDFlip",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Start a flipping animation on the object.",
              "fullName": "Flip the object",
              "functionType": "Action",
              "name": "Flip",
              "sentence": "Flip _PARAM0_ over _PARAM2_ms",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "The previous animation is not yet finished, flip the other way around starting from there."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::IsFlipping"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::SetPropertyElapsedTime"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyDuration() - Object.Behavior::PropertyElapsedTime() * GetArgumentAsNumber(\"Duration\") / Object.Behavior::PropertyDuration()"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Set the flipped property as if the previous animation has finished."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ThreeDFlip::ThreeDFlip::SetPropertyToggle"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "no"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "ThreeDFlip::ThreeDFlip::IsFlipped"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "inverted": true,
                            "value": "ThreeDFlip::ThreeDFlip::PropertyToggle"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ThreeDFlip::ThreeDFlip::SetPropertyIsFlipped"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "yes"
                          ]
                        },
                        {
                          "type": {
                            "value": "ThreeDFlip::ThreeDFlip::SetPropertyToggle"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "yes"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "ThreeDFlip::ThreeDFlip::IsFlipped"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "inverted": true,
                            "value": "ThreeDFlip::ThreeDFlip::PropertyToggle"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ThreeDFlip::ThreeDFlip::SetPropertyIsFlipped"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "no"
                          ]
                        },
                        {
                          "type": {
                            "value": "ThreeDFlip::ThreeDFlip::SetPropertyToggle"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "yes"
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Start a new flipping animation."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "ThreeDFlip::ThreeDFlip::IsFlipping"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::SetPropertyWidth"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Width()"
                      ]
                    },
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::SetPropertyElapsedTime"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::SetPropertyIsFlipping"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    },
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::SetPropertyDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Duration\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ThreeDFlip::ThreeDFlip",
                  "type": "behavior"
                },
                {
                  "description": "Duration (in milliseconds)",
                  "name": "Duration",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Stops flipping the object.",
              "fullName": "Stop the flip",
              "functionType": "Action",
              "name": "StopFlip",
              "sentence": "Stop flipping _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::SetPropertyIsFlipping"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangeWidth"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.Behavior::PropertyWidth()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "FlippedX"
                      },
                      "parameters": [
                        "Object"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::SetPropertyIsFlipped"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "FlippedX"
                      },
                      "parameters": [
                        "Object"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::SetPropertyIsFlipped"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ThreeDFlip::ThreeDFlip",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Checks if a flipping animation is currently playing.",
              "fullName": "Flipping is playing",
              "functionType": "Condition",
              "name": "IsFlipping",
              "sentence": "_PARAM0_ is flipping",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::PropertyIsFlipping"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ThreeDFlip::ThreeDFlip",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Checks if the object has been flipped.",
              "fullName": "Is flipped",
              "functionType": "Condition",
              "name": "IsFlipped",
              "sentence": "_PARAM0_ is flipped",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::PropertyIsFlipped"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ThreeDFlip::ThreeDFlip",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Flips the object to one specific side.",
              "fullName": "Flip to a side",
              "functionType": "Action",
              "name": "FlipTo",
              "sentence": "Flip _PARAM0_ reverse side: _PARAM2_ over _PARAM3_ms",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "When the object is flipping, the \"is flipped\" parameter is not yet set,\nso it's value is the opposite of the animation goal."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::And"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "ThreeDFlip::ThreeDFlip::IsFlipping"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "GetArgumentAsBoolean"
                              },
                              "parameters": [
                                "\"Flip\""
                              ]
                            },
                            {
                              "type": {
                                "value": "ThreeDFlip::ThreeDFlip::IsFlipped"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::And"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "ThreeDFlip::ThreeDFlip::IsFlipping"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "GetArgumentAsBoolean"
                              },
                              "parameters": [
                                "\"Flip\""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "ThreeDFlip::ThreeDFlip::IsFlipped"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::And"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "ThreeDFlip::ThreeDFlip::IsFlipping"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "GetArgumentAsBoolean"
                              },
                              "parameters": [
                                "\"Flip\""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "ThreeDFlip::ThreeDFlip::IsFlipped"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::And"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "ThreeDFlip::ThreeDFlip::IsFlipping"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "GetArgumentAsBoolean"
                              },
                              "parameters": [
                                "\"Flip\""
                              ]
                            },
                            {
                              "type": {
                                "value": "ThreeDFlip::ThreeDFlip::IsFlipped"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ThreeDFlip::ThreeDFlip::Flip"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "GetArgumentAsNumber(\"Duration\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ThreeDFlip::ThreeDFlip",
                  "type": "behavior"
                },
                {
                  "description": "Reverse side",
                  "name": "Flip",
                  "supplementaryInformation": "[\"Flipped\",\"Unflipped\"]",
                  "type": "yesorno"
                },
                {
                  "description": "Duration (in milliseconds)",
                  "name": "Duration",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "500",
              "type": "Number",
              "label": "Rotation duration (in milliseconds)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "Duration"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "IsFlipped"
            },
            {
              "value": "\"r\"",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "IsFlipping"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "Width"
            },
            {
              "value": "",
              "type": "Number",
              "label": "Elapse time",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ElapsedTime"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "Toggle"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "",
      "category": "Input",
      "extensionNamespace": "",
      "fullName": "Behavior Remapper",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFscGhhLXctYm94LW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOSwxN0EyLDIgMCAwLDEgNywxNVY3SDlWMTVIMTFWOEgxM1YxNUgxNVY3SDE3VjE1QTIsMiAwIDAsMSAxNSwxN0g5TTUsM0gxOUEyLDIgMCAwLDEgMjEsNVYxOUEyLDIgMCAwLDEgMTksMjFINUEyLDIgMCAwLDEgMywxOVY1QTIsMiAwIDAsMSA1LDNNNSw1VjE5SDE5VjVINVoiIC8+PC9zdmc+",
      "name": "BehaviorRemapper",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/alpha-w-box-outline.svg",
      "shortDescription": "Quickly remap Behavior controls to different keys. ",
      "version": "1.0.0",
      "description": [
        "Make sure to disable default controls unless you want two keys to do the same action.",
        "",
        "Actions have two versions. `custom` allow the movement keys to be changed to what ever you would like. `presets` provide a common key-bindings that can be selected from a list.",
        "",
        "### Available Presets:",
        "",
        "##### `WASD`",
        "-\tW: Up",
        "-\tA: Left",
        "-\tS: Down",
        "-\tD: Right",
        "-\tSpace: Jump",
        "",
        "##### `ZQSD`",
        "-\tZ: Up",
        "-\tQ: Left",
        "-\tS: Down",
        "-\tD: Right",
        "-\tSpace: Jump",
        "",
        "##### `Numpad` (Num lock must be disabled)",
        "-\tNumpad Up: Up",
        "-\tNumpad Left: Left",
        "-\tNumpad Down: Down",
        "-\tNumpad Right: Right",
        "-\tNumpad Return/Enter: Jump",
        "",
        "##### `IJKL`",
        "-\tI: Up",
        "-\tJ: Left",
        "-\tK: Down",
        "-\tL: Right",
        "-\tReturn/Enter: Jump",
        ""
      ],
      "origin": {
        "identifier": "BehaviorRemapper",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "remapper",
        "key",
        "bindings",
        "presets",
        "platformer",
        "platform",
        "top-down"
      ],
      "authorIds": [
        "AlZ3D1xkH0QDao7T37VZZUeYNpn1"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Allows for the controls of a Top-Down behavior to be re-mapped via a single action.",
          "fullName": "Remap Top-down",
          "name": "RemapForTopdown",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyFromTextPressed"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyUp()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "TopDownMovementBehavior::SimulateUpKey"
                      },
                      "parameters": [
                        "Object",
                        "Topdown"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyFromTextPressed"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyLeft()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "TopDownMovementBehavior::SimulateLeftKey"
                      },
                      "parameters": [
                        "Object",
                        "Topdown"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyFromTextPressed"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyRight()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "TopDownMovementBehavior::SimulateRightKey"
                      },
                      "parameters": [
                        "Object",
                        "Topdown"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyFromTextPressed"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyDown()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "TopDownMovementBehavior::SimulateDownKey"
                      },
                      "parameters": [
                        "Object",
                        "Topdown"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "BehaviorRemapper::RemapForTopdown",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Remaps Top-Down behavior controls to a custom control scheme.",
              "fullName": "Remap Top-Down controls to a custom scheme",
              "functionType": "Action",
              "name": "SetCustom",
              "sentence": "Remap controls of _PARAM0_: Up: _PARAM2_, Left: _PARAM3_, Down: _PARAM4_, Right: _PARAM5_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyUp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"up\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"left\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"right\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"down\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "BehaviorRemapper::RemapForTopdown",
                  "type": "behavior"
                },
                {
                  "description": "Up key",
                  "name": "up",
                  "type": "key"
                },
                {
                  "description": "Left key",
                  "name": "left",
                  "type": "key"
                },
                {
                  "description": "Down key",
                  "name": "down",
                  "type": "key"
                },
                {
                  "description": "Right key",
                  "name": "right",
                  "type": "key"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Remaps Top-Down behavior controls to a preset control scheme.",
              "fullName": "Remap Top-Down controls to a preset",
              "functionType": "Action",
              "name": "SetPreset",
              "sentence": "Remap controls of _PARAM0_ to preset _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "QWERTY bindings"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "StrEqual"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"options\")",
                        "=",
                        "\"WASD\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyUp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"w\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"a\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"s\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"d\""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "AZERTY bindings"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "StrEqual"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"options\")",
                        "=",
                        "\"ZQSD\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyUp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"z\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"q\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"s\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"d\""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Numpad bindings"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "StrEqual"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"options\")",
                        "=",
                        "\"Numpad\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyUp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"NumpadUp\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"NumpadLeft\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"NumpadDown\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"NumpadRight\""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "QWERTY player 2 bindings "
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "StrEqual"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"options\")",
                        "=",
                        "\"IJKL\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyUp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"i\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"j\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"k\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForTopdown::SetPropertyRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"l\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "BehaviorRemapper::RemapForTopdown",
                  "type": "behavior"
                },
                {
                  "description": "Preset name",
                  "name": "options",
                  "supplementaryInformation": "[\"WASD\",\"ZQSD\",\"Numpad\",\"IJKL\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "w",
              "type": "String",
              "label": "Up key",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Up"
            },
            {
              "value": "a",
              "type": "String",
              "label": "Left key",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Left"
            },
            {
              "value": "d",
              "type": "String",
              "label": "Right key",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Right"
            },
            {
              "value": "s",
              "type": "String",
              "label": "Down key",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Down"
            },
            {
              "value": "",
              "type": "Behavior",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [
                "TopDownMovementBehavior::TopDownMovementBehavior"
              ],
              "hidden": false,
              "name": "Topdown"
            }
          ],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Allows for the controls of a platformer behavior to be re-mapped via a single action.",
          "fullName": "Remap Platformer controls",
          "name": "RemapForPlatformer",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyFromTextPressed"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyUp()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateUpKey"
                      },
                      "parameters": [
                        "Object",
                        "Platformer"
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateLadderKey"
                      },
                      "parameters": [
                        "Object",
                        "Platformer"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyFromTextPressed"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyLeft()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateLeftKey"
                      },
                      "parameters": [
                        "Object",
                        "Platformer"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyFromTextPressed"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyRight()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateRightKey"
                      },
                      "parameters": [
                        "Object",
                        "Platformer"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyFromTextPressed"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyDown()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateDownKey"
                      },
                      "parameters": [
                        "Object",
                        "Platformer"
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateReleaseLadderKey"
                      },
                      "parameters": [
                        "Object",
                        "Platformer"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "KeyFromTextPressed"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyJump()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateJumpKey"
                      },
                      "parameters": [
                        "Object",
                        "Platformer"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "BehaviorRemapper::RemapForPlatformer",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Remaps Platformer behavior controls to a custom control scheme.",
              "fullName": "Remap Platformer controls to a custom scheme",
              "functionType": "Action",
              "name": "SetCustom",
              "sentence": "Remap controls of _PARAM0_: Up: _PARAM2_, Left: _PARAM3_, Down: _PARAM4_, Right: _PARAM5_, Jump: _PARAM6_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyUp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"up\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"left\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"right\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"down\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyJump"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"jump\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "BehaviorRemapper::RemapForPlatformer",
                  "type": "behavior"
                },
                {
                  "description": "Up key",
                  "name": "up",
                  "type": "key"
                },
                {
                  "description": "Left key",
                  "name": "left",
                  "type": "key"
                },
                {
                  "description": "Down key",
                  "name": "down",
                  "type": "key"
                },
                {
                  "description": "Right key",
                  "name": "right",
                  "type": "key"
                },
                {
                  "description": "Jump key",
                  "name": "jump",
                  "type": "key"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Remaps Platformer behavior controls to a preset control scheme.",
              "fullName": "Remap Platformer controls to a preset",
              "functionType": "Action",
              "name": "SetPreset",
              "sentence": "Remap controls of _PARAM0_ to preset _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "QWERTY bindings"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "StrEqual"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"options\")",
                        "=",
                        "\"WASD\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyUp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"w\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"a\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"s\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"d\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyJump"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Space\""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "AZERTY bindings"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "StrEqual"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"options\")",
                        "=",
                        "\"ZQSD\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyUp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"z\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"q\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"s\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"d\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyJump"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Space\""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Numpad bindings"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "StrEqual"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"options\")",
                        "=",
                        "\"Numpad\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyUp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"NumpadUp\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"NumpadLeft\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"NumpadDown\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"NumpadRight\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyJump"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"NumpadReturn\""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "QWERTY player 2 bindings "
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "StrEqual"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"options\")",
                        "=",
                        "\"IJKL\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyUp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"i\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"j\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyDown"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"k\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"l\""
                      ]
                    },
                    {
                      "type": {
                        "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyJump"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Return\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "BehaviorRemapper::RemapForPlatformer",
                  "type": "behavior"
                },
                {
                  "description": "Preset name",
                  "name": "options",
                  "supplementaryInformation": "[\"WASD\",\"ZQSD\",\"Numpad\",\"IJKL\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "String",
              "label": "Up key",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Up"
            },
            {
              "value": "",
              "type": "String",
              "label": "Left key",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Left"
            },
            {
              "value": "",
              "type": "String",
              "label": "Down key",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Down"
            },
            {
              "value": "",
              "type": "String",
              "label": "Right key",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Right"
            },
            {
              "value": "",
              "type": "String",
              "label": "Jump key",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Jump"
            },
            {
              "value": "",
              "type": "Behavior",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [
                "PlatformBehavior::PlatformerObjectBehavior"
              ],
              "hidden": false,
              "name": "Platformer"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "@4ian",
      "category": "Movement",
      "extensionNamespace": "",
      "fullName": "Animated Back and Forth Movement",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXJlcGVhdCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNywxN0g3VjE0TDMsMThMNywyMlYxOUgxOVYxM0gxN003LDdIMTdWMTBMMjEsNkwxNywyVjVINVYxMUg3VjdaIiAvPjwvc3ZnPg==",
      "name": "AnimatedBackAndForthMovement",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/repeat.svg",
      "shortDescription": "Make the object go on the left, then when some distance is reached, flip and go back to the right. Make sure that your object has two animations called \"GoLeft\" and \"TurnLeft\".",
      "version": "0.0.2",
      "description": "Make the object go on the left, then when some distance is reached, flip and go back to the right. **Make sure** that your object has **two animations called \"GoLeft\" and \"TurnLeft\"**.",
      "origin": {
        "identifier": "AnimatedBackAndForthMovement",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "back",
        "forth",
        "movement"
      ],
      "authorIds": [
        "wWP8BSlAW0UP4NeaHa2LcmmDzmH2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Make the object go on the left, then when some distance is reached, flip and go back to the right. Make sure that your object has two animations called \"GoLeft\" and \"TurnLeft\".",
          "fullName": "Animated Back and Forth (mirrored) Movement",
          "name": "AnimatedBackAndForthMirroredMovement",
          "objectType": "Sprite",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AnimatedBackAndForthMovement::AnimatedBackAndForthMirroredMovement::PropertyInitialX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AnimatedBackAndForthMovement::AnimatedBackAndForthMirroredMovement::SetPropertyInitialX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.X()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Move the object to the left or right"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AnimationName"
                      },
                      "parameters": [
                        "Object",
                        "\"GoLeft\""
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "FlippedX"
                      },
                      "parameters": [
                        "Object"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AddForceXY"
                      },
                      "parameters": [
                        "Object",
                        "-Object.Behavior::PropertySpeedX()",
                        "0",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AnimationName"
                      },
                      "parameters": [
                        "Object",
                        "\"GoLeft\""
                      ]
                    },
                    {
                      "type": {
                        "value": "FlippedX"
                      },
                      "parameters": [
                        "Object"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AddForceXY"
                      },
                      "parameters": [
                        "Object",
                        "+Object.Behavior::PropertySpeedX()",
                        "0",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "If the distance \"DistanceX\" is reached, turn the object"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PosX"
                      },
                      "parameters": [
                        "Object",
                        ">",
                        "Object.Behavior::PropertyInitialX()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreX"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.Behavior::PropertyInitialX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "SetAnimationName"
                      },
                      "parameters": [
                        "Object",
                        "\"TurnLeft\""
                      ]
                    },
                    {
                      "type": {
                        "value": "FlipX"
                      },
                      "parameters": [
                        "Object",
                        "no"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PosX"
                      },
                      "parameters": [
                        "Object",
                        "<",
                        "Object.Behavior::PropertyInitialX() - Object.Behavior::PropertyDistanceX()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreX"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.Behavior::PropertyInitialX() - Object.Behavior::PropertyDistanceX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "SetAnimationName"
                      },
                      "parameters": [
                        "Object",
                        "\"TurnLeft\""
                      ]
                    },
                    {
                      "type": {
                        "value": "FlipX"
                      },
                      "parameters": [
                        "Object",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "At the end of the turn, go back to moving to th left (or right if flipped)"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AnimationName"
                      },
                      "parameters": [
                        "Object",
                        "\"TurnLeft\""
                      ]
                    },
                    {
                      "type": {
                        "value": "AnimationEnded"
                      },
                      "parameters": [
                        "Object"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetAnimationName"
                      },
                      "parameters": [
                        "Object",
                        "\"GoLeft\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AnimatedBackAndForthMovement::AnimatedBackAndForthMirroredMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "200",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Speed on X axis, in pixels per second",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "SpeedX"
            },
            {
              "value": "300",
              "type": "Number",
              "unit": "Pixel",
              "label": "Distance traveled on X axis, in pixels",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DistanceX"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "InitialX"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "@4ian",
      "category": "Movement",
      "extensionNamespace": "",
      "fullName": "Linear Movement",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXJheS1zdGFydC1hcnJvdyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0yMywxMkwxOSwxNlYxM0g2LjgzQzYuNDIsMTQuMTcgNS4zMSwxNSA0LDE1QTMsMyAwIDAsMSAxLDEyQTMsMyAwIDAsMSA0LDlDNS4zMSw5IDYuNDIsOS44MyA2LjgzLDExSDE5VjhMMjMsMTJaIiAvPjwvc3ZnPg==",
      "name": "LinearMovement",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/ray-start-arrow.svg",
      "shortDescription": "Move the object linearly, according to the speed configured on X and Y axis. Useful for simple enemies, bullets or objects following a straight line on the screen.",
      "version": "0.0.2",
      "description": "Move the object linearly, according to the speed configured on X and Y axis. Useful for simple enemies, bullets or objects following a straight line on the screen.",
      "origin": {
        "identifier": "LinearMovement",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "line",
        "movement",
        "linear"
      ],
      "authorIds": [
        "wWP8BSlAW0UP4NeaHa2LcmmDzmH2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Move the object linearly, according to the speed configured on X and Y axis. Useful for simple enemies, bullets or objects following a straight line on the screen.",
          "fullName": "Linear movement",
          "name": "LinearMovement",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AddForceXY"
                      },
                      "parameters": [
                        "Object",
                        "Object.Behavior::PropertySpeedX()",
                        "Object.Behavior::PropertySpeedY()",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "LinearMovement::LinearMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "0",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Speed on X axis",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "SpeedX"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Speed on Y axis",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "SpeedY"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)",
      "category": "Movement",
      "extensionNamespace": "",
      "fullName": "Ellipse movement",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNpbmUtd2F2ZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDIxQzEzLjUsMjEgMTIuMzEsMTYuNzYgMTEuMDUsMTIuMjhDMTAuMTQsOS4wNCA5LDUgNy41LDVDNC4xMSw1IDQsMTEuOTMgNCwxMkgyQzIsMTEuNjMgMi4wNiwzIDcuNSwzQzEwLjUsMyAxMS43MSw3LjI1IDEyLjk3LDExLjc0QzEzLjgzLDE0LjggMTUsMTkgMTYuNSwxOUMxOS45NCwxOSAyMC4wMywxMi4wNyAyMC4wMywxMkgyMi4wM0MyMi4wMywxMi4zNyAyMS45NywyMSAxNi41LDIxWiIgLz48L3N2Zz4=",
      "name": "EllipseMovement",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/sine-wave.svg",
      "shortDescription": "Move objects on ellipses or smoothly back and forth in one direction.",
      "version": "1.0.2",
      "description": [
        "It allows objects to move:",
        "- on an ellipsis or arcs",
        "- smoothly vertically or horizontally (by setting one radius to 0)",
        "- on a sine wave (by adding a force)",
        "",
        "It can be used for:",
        "- Making objects float, such as powerups or coins",
        "- Moving platforms",
        "- Enemy movement patterns",
        "- Making a player constantly turn right or left ([open the project online](https://editor.gdevelop.io/?project=example://star-seeker))"
      ],
      "origin": {
        "identifier": "EllipseMovement",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "sine",
        "ellipse",
        "movement",
        "circular",
        "circle",
        "floating",
        "platform",
        "enemy"
      ],
      "authorIds": [
        "wWP8BSlAW0UP4NeaHa2LcmmDzmH2",
        "gqDaZjCfevOOxBYkK6zlhtZnXCg1",
        "IWykYNRvhCZBN3vEgKEbBPOR3Oc2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Move objects on ellipses or smoothly back and forth in one direction.",
          "fullName": "Ellipse movement",
          "name": "EllipseMovement",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyOldX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.X()"
                      ]
                    },
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyOldY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Y()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Evaluate the center of movement from the object position and properties."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::PropertyInitialTurningLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "*",
                        "-1"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "<",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyInitialDirectionAngle() + 90"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyInitialDirectionAngle() - 90"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyCenterX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.X() - Object.Behavior::DeltaX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyCenterY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Y() - Object.Behavior::DeltaY()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Update the center when the object is moved outside of the behavior."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyCenterX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "+",
                        "Object.X() - Object.Behavior::PropertyOldX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyCenterY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "+",
                        "Object.Y() - Object.Behavior::PropertyOldY()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Place the object according to the movement angle."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::PropertyRadiusX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "!=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreX"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.Behavior::PropertyCenterX() + Object.Behavior::DeltaX()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::PropertyRadiusY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "!=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreY"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.Behavior::PropertyCenterY() + Object.Behavior::DeltaY()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::PropertyShouldRotate"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetAngle"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.Behavior::DirectionAngle() + Object.Behavior::PropertyRotationOffset()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Save the position to detect when the object is moved outside of the behavior."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyOldX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.X()"
                      ]
                    },
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyOldY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Y()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Update the movement angle for the next frame."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "+",
                        "360 * TimeDelta() / Object.Behavior::PropertyLoopDuration()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the turning direction (left or right).",
              "fullName": "Turn the other way",
              "functionType": "Action",
              "name": "ToggleTurningLeft",
              "sentence": "_PARAM0_ turn the other way",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyCenterX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "2 * Object.X() - Object.Behavior::CenterX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyCenterY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "2 * Object.Y() - Object.Behavior::CenterY()"
                      ]
                    },
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "+",
                        "180"
                      ]
                    },
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "*",
                        "-1"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the in which side the object is turning (left or right).",
              "fullName": "Turn left or right",
              "functionType": "Action",
              "name": "SetTurningLeft",
              "sentence": "_PARAM0_ turn left: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::And"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "EllipseMovement::EllipseMovement::IsTurningLeft"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "GetArgumentAsBoolean"
                              },
                              "parameters": [
                                "\"TurnLeft\""
                              ]
                            }
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::And"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "EllipseMovement::EllipseMovement::IsTurningLeft"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            },
                            {
                              "type": {
                                "value": "GetArgumentAsBoolean"
                              },
                              "parameters": [
                                "\"TurnLeft\""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::ToggleTurningLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                },
                {
                  "description": "Turn left",
                  "name": "TurnLeft",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object is turning left.",
              "fullName": "Is turning left",
              "functionType": "Condition",
              "name": "IsTurningLeft",
              "sentence": "_PARAM0_ is turning left",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "<",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the movement angle of the object.",
              "fullName": "Movement angle",
              "functionType": "Expression",
              "name": "MovementAngle",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyMovementAngle()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the loop duration (in seconds).",
              "fullName": "Loop duration",
              "functionType": "Expression",
              "group": "Configuration",
              "name": "LoopDuration",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "abs(Object.Behavior::PropertyLoopDuration())"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the ellipse radius on X axis.",
              "fullName": "Radius X",
              "functionType": "Expression",
              "group": "Configuration",
              "name": "RadiusX",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyRadiusX()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the ellipse radius on X axis.",
              "fullName": "Radius Y",
              "functionType": "Expression",
              "group": "Configuration",
              "name": "RadiusY",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyRadiusY()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the movement center position on X axis.",
              "fullName": "Movement center X",
              "functionType": "Expression",
              "group": "Configuration",
              "name": "CenterX",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyCenterX()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the movement center position on Y axis.",
              "fullName": "Movement center Y",
              "functionType": "Expression",
              "group": "Configuration",
              "name": "CenterY",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyCenterY()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the radius on X axis of the movement.",
              "fullName": "Radius X",
              "functionType": "Action",
              "group": "Elliptical movement configuration",
              "name": "SetRadiusX",
              "sentence": "Change the radius on X axis of the movement of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyRadiusX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                },
                {
                  "description": "Radius X",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the radius on Y axis of the movement.",
              "fullName": "Radius Y",
              "functionType": "Action",
              "group": "Elliptical movement configuration",
              "name": "SetRadiusY",
              "sentence": "Change the radius on Y axis of the movement of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyRadiusY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                },
                {
                  "description": "Radius Y",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the loop duration.",
              "fullName": "Loop duration",
              "functionType": "Action",
              "group": "Elliptical movement configuration",
              "name": "SetLoopDuration",
              "sentence": "Change the loop duration of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::IsTurningLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "-GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "EllipseMovement::EllipseMovement::IsTurningLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                },
                {
                  "description": "Speed (in degrees per second)",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the movement angle. The object is teleported according to the angle.",
              "fullName": "Teleport at an angle",
              "functionType": "Action",
              "name": "SetMovementAngle",
              "sentence": "Teleport _PARAM0_ on the ellipse at _PARAM2_°",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                },
                {
                  "description": "Movement angle",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "Delta X",
              "functionType": "Expression",
              "name": "DeltaX",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "cos(ToRad(Object.Behavior::PropertyMovementAngle())) * Object.Behavior::PropertyRadiusX()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "Delta Y",
              "functionType": "Expression",
              "name": "DeltaY",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "sin(ToRad(Object.Behavior::PropertyMovementAngle())) * Object.Behavior::PropertyRadiusY()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "Direction angle",
              "functionType": "Expression",
              "name": "DirectionAngle",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "<",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyMovementAngle() + 90"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyMovementAngle() - 90"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "EllipseMovement::EllipseMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "100",
              "type": "Number",
              "unit": "Pixel",
              "label": "Radius of the movement on X axis",
              "description": "",
              "group": "Ellipse",
              "extraInformation": [],
              "hidden": false,
              "name": "RadiusX"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Radius of the movement on Y axis",
              "description": "",
              "group": "Ellipse",
              "extraInformation": [],
              "hidden": false,
              "name": "RadiusY"
            },
            {
              "value": "6",
              "type": "Number",
              "unit": "Second",
              "label": "Loop duration",
              "description": "",
              "group": "Speed",
              "extraInformation": [],
              "hidden": false,
              "name": "LoopDuration"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Turn left",
              "description": "",
              "group": "Speed",
              "extraInformation": [],
              "hidden": false,
              "name": "InitialTurningLeft"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "DegreeAngle",
              "label": "Initial direction",
              "description": "",
              "group": "Speed",
              "extraInformation": [],
              "hidden": false,
              "name": "InitialDirectionAngle"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Rotate",
              "description": "",
              "group": "Rotation",
              "extraInformation": [],
              "hidden": false,
              "name": "ShouldRotate"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "DegreeAngle",
              "label": "Rotation offset",
              "description": "",
              "group": "Rotation",
              "extraInformation": [],
              "hidden": false,
              "name": "RotationOffset"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "CenterX"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "CenterY"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "MovementAngle"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "OldX"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "OldY"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "",
      "category": "Movement",
      "extensionNamespace": "",
      "fullName": "Advanced projectile",
      "helpPath": "/extensions/advanced-projectile/details",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFycm93LWRlY2lzaW9uLWF1dG8iIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIsNUg5TDEzLDFMMTcsNUgxNFY5LjQzQzEzLjI1LDkuODkgMTIuNTgsMTAuNDYgMTIsMTEuMTJWNU0xMC40LDE1SDguNUw3LjgsMTNINC42TDMuOSwxNUgyTDUuMiw2SDcuMkwxMC40LDE1TTcuMzUsMTEuNjVMNi4yLDhMNS4wNSwxMS42NUg3LjM1TTIzLDExTDE5LDdWMTBDMTUuMzksOS44NSAxMi4zMSwxMi41NyAxMiwxNi4xN0MxMC40NCwxNi43MiA5LjYyLDE4LjQ0IDEwLjE3LDIwQzEwLjcyLDIxLjU2IDEyLjQ0LDIyLjM4IDE0LDIxLjgzQzE1LjU2LDIxLjI3IDE2LjM4LDE5LjU2IDE1LjgzLDE4QzE1LjUzLDE3LjE0IDE0Ljg1LDE2LjQ3IDE0LDE2LjE3QzE0LjQ3LDEyLjE3IDE4LjQ3LDExLjk3IDE4Ljk1LDExLjk3VjE0Ljk3TDIzLDExWiIgLz48L3N2Zz4=",
      "name": "AdvancedProjectile",
      "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/4ab6bb9f91ea1110c0c2aabd7fe17e320c1d0ebbb44f56d01885307d7d2e723b_arrow-decision-auto.svg",
      "shortDescription": "Control how a projectile moves including speed, acceleration, distance, and lifetime.",
      "version": "1.0.0",
      "description": [
        "Control how a projectile moves including speed, acceleration, distance, and lifetime.",
        "",
        "Tips:",
        "- To simulate a rocket, use a starting speed of 0 and a positive acceleration (max speed may also be used)",
        "- To simulate a hand grenade, use a high starting speed, a negative acceleration, and a non-zero lifetime",
        "- If the object is not moving, acceleration will be towards the direction it is facing",
        "- If the object is moving, acceleration will be in the direction the object is moving",
        ""
      ],
      "origin": {
        "identifier": "AdvancedProjectile",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "projectile",
        "movement",
        "acceleration",
        "speed",
        "distance"
      ],
      "authorIds": [
        "gqDaZjCfevOOxBYkK6zlhtZnXCg1"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Control how a projectile object moves including lifetime, distance, speed, and acceleration.",
          "fullName": "Advanced projectile",
          "name": "AdvancedProjectile",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Initialize",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "ObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "Object",
                            "__AdvancedProjectile.IsInitialized",
                            "False"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "Object",
                            "__AdvancedProjectile.IsInitialized",
                            "True"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Record starting position so Max distance can be calculated"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "AdvancedProjectile::AdvancedProjectile::SetStartingPositionToCurrentPosition"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Apply starting speed"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "AdvancedProjectile::AdvancedProjectile::PropertyStartingSpeed"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "!=",
                                "0"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Save the speed and angle the object is moving (and then stop the object)"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__AdvancedProjectile.InitialForceLength",
                                    "=",
                                    "Object.ForceLength()"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__AdvancedProjectile.InitialForceAngle",
                                    "=",
                                    "Object.ForceAngle()"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "Arreter"
                                  },
                                  "parameters": [
                                    "Object"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "If stopped, move in direction the object is facing"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "VarObjet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__AdvancedProjectile.InitialForceLength",
                                    "=",
                                    "0"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AddForceAL"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Object.Angle()",
                                    "Object.Behavior::PropertyStartingSpeed()",
                                    "1"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "If moving, move in direction the object is facing"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "VarObjet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__AdvancedProjectile.InitialForceLength",
                                    ">",
                                    "0"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AddForceAL"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Object.Variable(__AdvancedProjectile.InitialForceAngle)",
                                    "Object.Behavior::PropertyStartingSpeed()",
                                    "1"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Start Lifetime timer"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "Object",
                                "\"__AdvancedProjectile.Lifetime\""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Delete object (if needed)",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedProjectile::AdvancedProjectile::DeleteWhenLifetimeExceeded"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "AdvancedProjectile::AdvancedProjectile::IsLifetimeExceeded"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Delete"
                          },
                          "parameters": [
                            "Object",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedProjectile::AdvancedProjectile::DeleteWhenDistanceExceeded"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "AdvancedProjectile::AdvancedProjectile::IsMaxDistanceExceeded"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Delete"
                          },
                          "parameters": [
                            "Object",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Apply acceleration",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedProjectile::AdvancedProjectile::PropertyAcceleration"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "!=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Save the speed the object is moving"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "Object",
                                "__AdvancedProjectile.CurrentForce",
                                "=",
                                "Object.Variable(__AdvancedProjectile.CurrentForce)"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "If stopped, move in direction the object is facing"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "Object",
                                "__AdvancedProjectile.CurrentForce",
                                "=",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AddForceAL"
                              },
                              "parameters": [
                                "Object",
                                "Object.Angle()",
                                "TimeDelta() * Object.Behavior::PropertyAcceleration()",
                                "1"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "If moving, move in direction the object is facin"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "Object",
                                "__AdvancedProjectile.CurrentForce",
                                ">",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AddForceAL"
                              },
                              "parameters": [
                                "Object",
                                "Object.ForceAngle()",
                                "TimeDelta() * Object.Behavior::PropertyAcceleration()",
                                "1"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Stop the object if it is moving away from object angle.  Required for min speed to work."
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::CompareNumbers"
                              },
                              "parameters": [
                                "abs(Object.ForceAngle() - Object.Angle())",
                                ">",
                                "90"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Arreter"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Enforce Min/Max speed",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedProjectile::AdvancedProjectile::PropertyMinSpeed"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "!=",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "Vitesse"
                          },
                          "parameters": [
                            "Object",
                            "<",
                            "Object.Behavior::PropertyMinSpeed()"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__AdvancedProjectile.CurrentForceAngle",
                            "=",
                            "Object.ForceAngle()"
                          ]
                        },
                        {
                          "type": {
                            "value": "Arreter"
                          },
                          "parameters": [
                            "Object"
                          ]
                        },
                        {
                          "type": {
                            "value": "AddForceAL"
                          },
                          "parameters": [
                            "Object",
                            "Object.Angle()",
                            "Object.Behavior::PropertyMinSpeed()",
                            "1"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "AdvancedProjectile::AdvancedProjectile::PropertyMaxSpeed"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "!=",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "Vitesse"
                          },
                          "parameters": [
                            "Object",
                            ">",
                            "Object.Behavior::PropertyMaxSpeed()"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__AdvancedProjectile.CurrentForceAngle",
                            "=",
                            "Object.ForceAngle()"
                          ]
                        },
                        {
                          "type": {
                            "value": "Arreter"
                          },
                          "parameters": [
                            "Object"
                          ]
                        },
                        {
                          "type": {
                            "value": "AddForceAL"
                          },
                          "parameters": [
                            "Object",
                            "Object.Variable(__AdvancedProjectile.CurrentForceAngle)",
                            "Object.Behavior::PropertyMaxSpeed()",
                            "1"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if max distance from starting position has been exceeded (object will be deleted next frame).",
              "fullName": "Max distance from starting position has been exceeded",
              "functionType": "Condition",
              "name": "IsMaxDistanceExceeded",
              "sentence": "Max distance from starting position of _PARAM0_ has been exceeded",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ObjectVariableAsBoolean"
                      },
                      "parameters": [
                        "Object",
                        "__AdvancedProjectile.IsInitialized",
                        "True"
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::PropertyMaxDistanceFromStartingPosition"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">",
                        "0"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "DistanceBetweenPositions(Object.Variable(__AdvancedProjectile.StartingX), Object.Variable(__AdvancedProjectile.StartingY), Object.X(), Object.Y())",
                        ">",
                        "Object.Behavior::PropertyMaxDistanceFromStartingPosition()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if lifetime has been exceeded (object will be deleted next frame).",
              "fullName": "Lifetime has been exceeded",
              "functionType": "Condition",
              "name": "IsLifetimeExceeded",
              "sentence": "Lifetime of _PARAM0_ has been exceeded",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ObjectVariableAsBoolean"
                      },
                      "parameters": [
                        "Object",
                        "__AdvancedProjectile.IsInitialized",
                        "True"
                      ]
                    },
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::PropertyMaxLifetime"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">",
                        "0"
                      ]
                    },
                    {
                      "type": {
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__AdvancedProjectile.Lifetime\"",
                        ">",
                        "Object.Behavior::PropertyMaxLifetime()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the lifetime of the object. Object is deleted after property has been exceeded. Use \"0\" to ignore this property.",
              "fullName": "Lifetime",
              "functionType": "ExpressionAndCondition",
              "group": "Advanced projectile configuration",
              "name": "MaxLifetime",
              "sentence": "the lifetime",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyMaxLifetime()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "MaxLifetime",
              "name": "SetMaxLifetime",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::SetPropertyMaxLifetime"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Restart lifetime timer of object.",
              "fullName": "Restart lifetime timer",
              "functionType": "Action",
              "getterName": "MaxLifetime",
              "name": "RestartLifetimeTimer",
              "sentence": "Restart lifetime timer of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__AdvancedProjectile.Lifetime\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the max distance from starting position of the object. Object is deleted after property has been exceeded. Use \"0\" to ignore this property.",
              "fullName": "Max distance from starting position",
              "functionType": "ExpressionAndCondition",
              "group": "Advanced projectile configuration",
              "name": "MaxDistanceFromStart",
              "sentence": "the max distance from starting position",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyMaxDistanceFromStartingPosition()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "MaxDistanceFromStart",
              "name": "SetMaxDistanceFromStart",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::SetPropertyMaxDistanceFromStartingPosition"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the starting position of object to it's current position.",
              "fullName": "Change starting position to the current position",
              "functionType": "Action",
              "getterName": "MaxLifetime",
              "name": "SetStartingPositionToCurrentPosition",
              "sentence": "Change the starting position of _PARAM0_ to it's current position",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "ModVarObjet"
                      },
                      "parameters": [
                        "Object",
                        "__AdvancedProjectile.StartingX",
                        "=",
                        "Object.X()"
                      ]
                    },
                    {
                      "type": {
                        "value": "ModVarObjet"
                      },
                      "parameters": [
                        "Object",
                        "__AdvancedProjectile.StartingY",
                        "=",
                        "Object.Y()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the max speed of the object. Object forces cannot exceed this value. Use \"0\" to ignore this property.",
              "fullName": "Max speed",
              "functionType": "ExpressionAndCondition",
              "group": "Advanced projectile configuration",
              "name": "MaxSpeed",
              "sentence": "the max speed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyMaxSpeed()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "MaxSpeed",
              "name": "SetMaxSpeed",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::SetPropertyMaxSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the minSpeed of the object. Object forces cannot go below this value. Use \"0\" to ignore this property.",
              "fullName": "MinSpeed",
              "functionType": "ExpressionAndCondition",
              "group": "Advanced projectile configuration",
              "name": "MinSpeed",
              "sentence": "the minSpeed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyMinSpeed()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "MinSpeed",
              "name": "SetMinSpeed",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::SetPropertyMinSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the acceleration of the object. Use a negative number to slow down.",
              "fullName": "Acceleration",
              "functionType": "ExpressionAndCondition",
              "group": "Advanced projectile configuration",
              "name": "Acceleration",
              "sentence": "the acceleration",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyAcceleration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "Acceleration",
              "name": "SetAcceleration",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::SetPropertyAcceleration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the starting speed of the object. Object will move in the direction it is facing when it is created. Use \"0\" to ignore this property.",
              "fullName": "Starting speed",
              "functionType": "ExpressionAndCondition",
              "group": "Advanced projectile configuration",
              "name": "StartingSpeed",
              "sentence": "the starting speed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyStartingSpeed()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "StartingSpeed",
              "name": "SetStartingSpeed",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::SetPropertyStartingSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if automatic deletion is enabled when lifetime is exceeded.",
              "fullName": "Automatic deletion is enabled when lifetime is exceeded",
              "functionType": "Condition",
              "group": "Advanced projectile configuration",
              "name": "DeleteWhenLifetimeExceeded",
              "sentence": "Automatic deletion is enabled when lifetime is exceeded on _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::PropertyDeleteWhenLifetimeExceeded"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change automatic deletion of object when lifetime is exceeded.",
              "fullName": "Change automatic deletion when lifetime is exceeded",
              "functionType": "Action",
              "group": "Advanced projectile configuration",
              "name": "SetDeleteWhenLifetimeExceeded",
              "sentence": "Enable automatic deletion of _PARAM0_  when lifetime is exceeded: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"Value\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::SetPropertyDeleteWhenLifetimeExceeded"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"Value\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::SetPropertyDeleteWhenLifetimeExceeded"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                },
                {
                  "defaultValue": "yes",
                  "description": "DeleteWhenLifetimeExceeded",
                  "name": "Value",
                  "optional": true,
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if automatic deletion is enabled when distance from starting position is exceeded.",
              "fullName": "Automatic deletion is enabled when distance from starting position is exceeded",
              "functionType": "Condition",
              "group": "Advanced projectile configuration",
              "name": "DeleteWhenDistanceExceeded",
              "sentence": "Automatic deletion is enabled when distance from starting position is exceeded on _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::PropertyDeleteWhenDistanceExceeded"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change automatic deletion when distance from starting position is exceeded.",
              "fullName": "Change automatic deletion when distance from starting position is exceeded",
              "functionType": "Action",
              "group": "Advanced projectile configuration",
              "name": "SetDeleteWhenDistanceExceeded",
              "sentence": "Enable automatic deletion of _PARAM0_ when distance from starting position is exceeded: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"Value\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::SetPropertyDeleteWhenDistanceExceeded"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"Value\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "AdvancedProjectile::AdvancedProjectile::SetPropertyDeleteWhenDistanceExceeded"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "AdvancedProjectile::AdvancedProjectile",
                  "type": "behavior"
                },
                {
                  "defaultValue": "yes",
                  "description": "DeleteWhenDistanceExceeded",
                  "name": "Value",
                  "optional": true,
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "0",
              "type": "Number",
              "unit": "Second",
              "label": "Lifetime",
              "description": "Use \"0\" to ignore this property.",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "MaxLifetime"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Max distance from starting position",
              "description": "Use \"0\" to ignore this property.",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "MaxDistanceFromStartingPosition"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Max speed",
              "description": "Speed from object forces will not exceed this value. Use \"0\" to ignore this property.",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "MaxSpeed"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "",
              "description": "Speed from object forces will not go below this value. Use \"0\" to ignore this property.",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "MinSpeed"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "PixelAcceleration",
              "label": "Acceleration",
              "description": "Negative acceleration can be used to stop a projectile.",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Acceleration"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Starting speed",
              "description": "Object will move in the direction it is facing when it is created. Use \"0\" to ignore this property.",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "StartingSpeed"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Delete when lifetime is exceeded",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DeleteWhenLifetimeExceeded"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Delete when distance from starting position is exceeded",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DeleteWhenDistanceExceeded"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "",
      "category": "Visual effect",
      "extensionNamespace": "",
      "fullName": "Sway",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXN3YXAtaG9yaXpvbnRhbC12YXJpYW50IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTQsNkw4LDEwVjdIMTZBMiwyIDAgMCwxIDE4LDlBMiwyIDAgMCwxIDE2LDExSDhBNCw0IDAgMCwwIDQsMTVBNCw0IDAgMCwwIDgsMTlIMTZWMjJMMjAsMThMMTYsMTRWMTdIOEEyLDIgMCAwLDEgNiwxNUEyLDIgMCAwLDEgOCwxM0gxNkE0LDQgMCAwLDAgMjAsOUE0LDQgMCAwLDAgMTYsNUg4VjJMNCw2WiIgLz48L3N2Zz4=",
      "name": "Sway",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/swap-horizontal-variant.svg",
      "shortDescription": "Sway objects like grass in the wind.",
      "version": "1.0.0",
      "description": [
        "This extension makes objects sway at different times.",
        "",
        "It can be used to:",
        "- Simulate grass and plant movement swaying in the wind",
        "- Animate seaweed in an underwater environment",
        "- Give flames a flickering look ",
        "",
        "Set *Center* and *Origin* points to the center base of the object for best results.",
        "",
        "Check out [this demo](https://liluo.io/bubble/swayexamples) to see what this extension can do.",
        ""
      ],
      "origin": {
        "identifier": "Sway",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "tween",
        "sway",
        "wobble",
        "shake",
        "grass",
        "plant",
        "snake",
        "flame",
        "fire",
        "candle"
      ],
      "authorIds": [
        "d3W2ZbWOpKRw2rXfBTscZztY7GH2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Sway multiple instances of an object at different times - useful for random grass swaying.",
          "fullName": "Sway",
          "name": "Sway",
          "objectType": "Sprite",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 102,
                    "g": 210,
                    "r": 233,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Start the tweens"
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Angle the object to the right"
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Increase the y scale of the object"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Tween::AddObjectScaleYTween"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"YScaleMax\"",
                        "Object.Behavior::PropertyYScaleMax()",
                        "\"easeInOutSine\"",
                        "RandomInRange(Object.Behavior::PropertyYScaleMin() * 1000,Object.Behavior::PropertyYScaleTimeMax() * 1000)",
                        "",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Tween::AddObjectAngleTween"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"AngleRight\"",
                        "Object.Behavior::PropertyAngleRight()",
                        "\"easeInOutSine\"",
                        "RandomInRange(Object.Behavior::PropertyAngleTimeMin() * 1000,Object.Behavior::PropertyAngleTimeMax() * 1000)",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Sway::Sway",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Angle the object to the left"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Tween::HasFinished"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"AngleRight\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Tween::RemoveTween"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"AngleRight\""
                      ]
                    },
                    {
                      "type": {
                        "value": "Tween::AddObjectAngleTween"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"AngleLeft\"",
                        "Object.Behavior::PropertyAngleLeft()",
                        "\"easeInOutSine\"",
                        "RandomInRange(Object.Behavior::PropertyAngleTimeMin() * 1000,Object.Behavior::PropertyAngleTimeMax() * 1000)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Angle the object to the right"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Tween::HasFinished"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"AngleLeft\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Tween::RemoveTween"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"AngleLeft\""
                      ]
                    },
                    {
                      "type": {
                        "value": "Tween::AddObjectAngleTween"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"AngleRight\"",
                        "Object.Behavior::PropertyAngleRight()",
                        "\"easeInOutSine\"",
                        "RandomInRange(Object.Behavior::PropertyAngleTimeMin() * 1000,Object.Behavior::PropertyAngleTimeMax() * 1000)",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Decrease the y scale of the object"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Tween::HasFinished"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"YScaleMax\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Tween::RemoveTween"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"YScaleMax\""
                      ]
                    },
                    {
                      "type": {
                        "value": "Tween::AddObjectScaleYTween"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"YScaleMin\"",
                        "Object.Behavior::PropertyYScaleMin()",
                        "\"easeInOutSine\"",
                        "RandomInRange(Object.Behavior::PropertyYScaleTimeMin() * 1000,Object.Behavior::PropertyYScaleTimeMax() * 1000)",
                        "",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Increase the y scale of the object"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Tween::HasFinished"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"YScaleMin\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Tween::RemoveTween"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"YScaleMin\""
                      ]
                    },
                    {
                      "type": {
                        "value": "Tween::AddObjectScaleYTween"
                      },
                      "parameters": [
                        "Object",
                        "TweenBehavior",
                        "\"YScaleMax\"",
                        "Object.Behavior::PropertyYScaleMax()",
                        "\"easeInOutSine\"",
                        "RandomInRange(Object.Behavior::PropertyYScaleTimeMin() * 1000,Object.Behavior::PropertyYScaleTimeMax() * 1000)",
                        "",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Sway::Sway",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Set sway angle left and right.",
              "fullName": "Set sway angle left and right",
              "functionType": "Action",
              "group": "Sway angle",
              "name": "ChangeSwayAngle",
              "sentence": "Sway the angle of _PARAM0_ to _PARAM2_° to the left and to _PARAM3_° to the right",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Sway::Sway::SetPropertyAngleLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"AngleLeftChanged\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "Sway::Sway::SetPropertyAngleRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"AngleRightChanged\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Sway::Sway",
                  "type": "behavior"
                },
                {
                  "description": "Angle to the left (degrees) - Use negative number",
                  "name": "AngleLeftChanged",
                  "type": "expression"
                },
                {
                  "description": "Angle to the right (degrees) - Use positive number",
                  "name": "AngleRightChanged",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Set sway angle time range.",
              "fullName": "Set sway angle time range",
              "functionType": "Action",
              "group": "Sway angle",
              "name": "ChangeSwayAngleTime",
              "sentence": "Tween angle time range for _PARAM0_, set minimum to _PARAM2_ seconds and maximum to _PARAM3_ seconds",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Sway::Sway::SetPropertyAngleTimeMin"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"AngleTimeMinChanged\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "Sway::Sway::SetPropertyAngleTimeMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"AngleTimeMaxChanged\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Sway::Sway",
                  "type": "behavior"
                },
                {
                  "description": "Angle tween time minimum (seconds)",
                  "name": "AngleTimeMinChanged",
                  "type": "expression"
                },
                {
                  "description": "Angle tween time maximum (seconds)",
                  "name": "AngleTimeMaxChanged",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Set sway Y scale mininum and maximum.",
              "fullName": "Set sway Y scale mininum and maximum",
              "functionType": "Action",
              "group": "Sway Y scale",
              "name": "ChangeSwayYScale",
              "sentence": "Sway the Y scale of _PARAM0_ from _PARAM2_ to _PARAM3_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Sway::Sway::SetPropertyYScaleMin"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"YScaleMinChanged\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "Sway::Sway::SetPropertyYScaleMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"YScaleMaxChanged\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Sway::Sway",
                  "type": "behavior"
                },
                {
                  "description": "Minimum Y scale",
                  "name": "YScaleMinChanged",
                  "type": "expression"
                },
                {
                  "description": "Maximum Y scale",
                  "name": "YScaleMaxChanged",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Set Y scale time range.",
              "fullName": "Set sway Y scale time range",
              "functionType": "Action",
              "group": "Sway Y scale",
              "name": "ChangeSwayYScaleTime",
              "sentence": "Tween Y scale time range for _PARAM0_, set minimum to _PARAM2_ seconds and maximum to _PARAM3_ seconds",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Sway::Sway::SetPropertyYScaleTimeMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"YScaleTimeMaxChanged\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "Sway::Sway::SetPropertyYScaleTimeMin"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"YScaleTimeMinChanged\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Sway::Sway",
                  "type": "behavior"
                },
                {
                  "description": "Y scale tween time minimum (seconds)",
                  "name": "YScaleTimeMinChanged",
                  "type": "expression"
                },
                {
                  "description": "Y scale tween time maximum (seconds)",
                  "name": "YScaleTimeMaxChanged",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "-5",
              "type": "Number",
              "label": "Maximum angle to the left (in degrees) - Use a negative number",
              "description": "",
              "group": "Angle",
              "extraInformation": [],
              "hidden": false,
              "name": "AngleLeft"
            },
            {
              "value": "5",
              "type": "Number",
              "label": "Maximum angle to the right (in degrees) - Use a positive number",
              "description": "",
              "group": "Angle",
              "extraInformation": [],
              "hidden": false,
              "name": "AngleRight"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Mininum value for random tween time range for angle (seconds)",
              "description": "",
              "group": "Angle",
              "extraInformation": [],
              "hidden": false,
              "name": "AngleTimeMin"
            },
            {
              "value": "3",
              "type": "Number",
              "label": "Maximum value for random tween time range for angle (seconds)",
              "description": "",
              "group": "Angle",
              "extraInformation": [],
              "hidden": false,
              "name": "AngleTimeMax"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Minimum Y scale amount",
              "description": "",
              "group": "Y scale",
              "extraInformation": [],
              "hidden": false,
              "name": "YScaleMin"
            },
            {
              "value": "1.2",
              "type": "Number",
              "label": "Maximum Y scale amount",
              "description": "",
              "group": "Y scale",
              "extraInformation": [],
              "hidden": false,
              "name": "YScaleMax"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Mininum value for random tween time range for Y scale (seconds)",
              "description": "",
              "group": "Y scale",
              "extraInformation": [],
              "hidden": false,
              "name": "YScaleTimeMin"
            },
            {
              "value": "3",
              "type": "Number",
              "label": "Maximum value for random tween time range for Y scale (seconds)",
              "description": "",
              "group": "Y scale",
              "extraInformation": [],
              "hidden": false,
              "name": "YScaleTimeMax"
            },
            {
              "value": "",
              "type": "Behavior",
              "label": "Sway uses the tween behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "Tween::TweenBehavior"
              ],
              "hidden": false,
              "name": "TweenBehavior"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "Gruk",
      "category": "Movement",
      "extensionNamespace": "",
      "fullName": "Timed Back and Forth Movement",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXJlcGVhdCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNywxN0g3VjE0TDMsMThMNywyMlYxOUgxOVYxM0gxN003LDdIMTdWMTBMMjEsNkwxNywyVjVINVYxMUg3VjdaIiAvPjwvc3ZnPg==",
      "name": "TimedBackAndForthMovement",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/repeat.svg",
      "shortDescription": "This behavior moves objects back and forth for a chosen time or distance, vertically or horizontally.",
      "version": "1.0.1",
      "description": [
        "This behavior moves an object (like an enemy) for a chosen time or distance, then flips it and starts over, moving the object back and forth, vertically or horizontally.",
        "",
        "Note: animations must be facing **Right** (for horizontal) or **Down** (for vertical) direction."
      ],
      "origin": {
        "identifier": "TimedBackAndForthMovement",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "enemy",
        "movement",
        "back",
        "forth",
        "up",
        "down",
        "left",
        "right"
      ],
      "authorIds": [
        "9hfK9vapfgUot6y3ARuuRkPBWPJ2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Move an object (e.g. enemy) for a chosen time or distance, then flip it and start over. \nNote: animations should be facing LEFT.",
          "fullName": "Timed Back and Forth Movement",
          "name": "TimedBackAndForthMirroredMovement",
          "objectType": "Sprite",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "vertical mode"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::PropertyVertical"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "initialize"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::PropertyStartPosition"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ResetObjectTimer"
                          },
                          "parameters": [
                            "Object",
                            "\"BacknForth_timeout\""
                          ]
                        },
                        {
                          "type": {
                            "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyStartPosition"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "round(Object.Y())"
                          ]
                        }
                      ]
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Flips",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "distance has been reached, flip it"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PosY"
                              },
                              "parameters": [
                                "Object",
                                "<",
                                "Object.Behavior::PropertyStartPosition() - Object.Behavior::PropertyDistance()"
                              ]
                            },
                            {
                              "type": {
                                "value": "FlippedY"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyStartPosition"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "round(Object.Y())"
                              ]
                            },
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "Object",
                                "\"BacknForth_timeout\""
                              ]
                            },
                            {
                              "type": {
                                "value": "FlipY"
                              },
                              "parameters": [
                                "Object",
                                "no"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PosY"
                              },
                              "parameters": [
                                "Object",
                                ">",
                                "Object.Behavior::PropertyStartPosition() + Object.Behavior::PropertyDistance()"
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "FlippedY"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyStartPosition"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "round(Object.Y())"
                              ]
                            },
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "Object",
                                "\"BacknForth_timeout\""
                              ]
                            },
                            {
                              "type": {
                                "value": "FlipY"
                              },
                              "parameters": [
                                "Object",
                                "yes"
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Timeout",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "max time has been reached, flip it"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::PropertyTimecheck"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "!=",
                                "Object.ObjectTimerElapsedTime(\"BacknForth_timeout\")"
                              ]
                            },
                            {
                              "type": {
                                "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::PropertyLastPosition"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "round(Object.Y())"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"BacknForth_timeout\"",
                                    "Object.Behavior::PropertyTimeout()"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "FlippedY"
                                  },
                                  "parameters": [
                                    "Object"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyStartPosition"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "round(Object.Y())"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ResetObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"BacknForth_timeout\""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "FlipY"
                                  },
                                  "parameters": [
                                    "Object",
                                    "no"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"BacknForth_timeout\"",
                                    "Object.Behavior::PropertyTimeout()"
                                  ]
                                },
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "FlippedY"
                                  },
                                  "parameters": [
                                    "Object"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyStartPosition"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "round(Object.Y())"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ResetObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"BacknForth_timeout\""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "FlipY"
                                  },
                                  "parameters": [
                                    "Object",
                                    "yes"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Movement",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "FlippedY"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AddForceXY"
                              },
                              "parameters": [
                                "Object",
                                "0",
                                "Object.Behavior::PropertySpeed()",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "FlippedY"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AddForceXY"
                              },
                              "parameters": [
                                "Object",
                                "0",
                                "- \nObject.Behavior::PropertySpeed()",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyLastPosition"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "round(Object.Y())"
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "horizontal mode"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::PropertyVertical"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "initialize"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::PropertyStartPosition"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ResetObjectTimer"
                          },
                          "parameters": [
                            "Object",
                            "\"BacknForth_timeout\""
                          ]
                        },
                        {
                          "type": {
                            "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyStartPosition"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "round(Object.X())"
                          ]
                        }
                      ]
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "folded": true,
                      "name": "Flips",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "distance has been reached, flip it"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PosX"
                              },
                              "parameters": [
                                "Object",
                                ">",
                                "Object.Behavior::PropertyStartPosition() + Object.Behavior::PropertyDistance()"
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "FlippedX"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyStartPosition"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "round(Object.X())"
                              ]
                            },
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "Object",
                                "\"BacknForth_timeout\""
                              ]
                            },
                            {
                              "type": {
                                "value": "FlipX"
                              },
                              "parameters": [
                                "Object",
                                "yes"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PosX"
                              },
                              "parameters": [
                                "Object",
                                "<",
                                "Object.Behavior::PropertyStartPosition() - Object.Behavior::PropertyDistance()"
                              ]
                            },
                            {
                              "type": {
                                "value": "FlippedX"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyStartPosition"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "round(Object.X())"
                              ]
                            },
                            {
                              "type": {
                                "value": "ResetObjectTimer"
                              },
                              "parameters": [
                                "Object",
                                "\"BacknForth_timeout\""
                              ]
                            },
                            {
                              "type": {
                                "value": "FlipX"
                              },
                              "parameters": [
                                "Object",
                                "no"
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "folded": true,
                      "name": "Timeout",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "max time has been reached, flip it"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::PropertyTimecheck"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "!=",
                                "Object.ObjectTimerElapsedTime(\"BacknForth_timeout\")"
                              ]
                            },
                            {
                              "type": {
                                "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::PropertyLastPosition"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "round(Object.X())"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"BacknForth_timeout\"",
                                    "Object.Behavior::PropertyTimeout()"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "FlippedX"
                                  },
                                  "parameters": [
                                    "Object"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "FlipX"
                                  },
                                  "parameters": [
                                    "Object",
                                    "no"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyStartPosition"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "round(Object.X())"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ResetObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"BacknForth_timeout\""
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"BacknForth_timeout\"",
                                    "Object.Behavior::PropertyTimeout()"
                                  ]
                                },
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "FlippedX"
                                  },
                                  "parameters": [
                                    "Object"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "FlipX"
                                  },
                                  "parameters": [
                                    "Object",
                                    "yes"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyStartPosition"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "round(Object.X())"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ResetObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"BacknForth_timeout\""
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "folded": true,
                      "name": "Movement",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "FlippedX"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AddForceXY"
                              },
                              "parameters": [
                                "Object",
                                "Object.Behavior::PropertySpeed()",
                                "0",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "FlippedX"
                              },
                              "parameters": [
                                "Object"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AddForceXY"
                              },
                              "parameters": [
                                "Object",
                                "- \nObject.Behavior::PropertySpeed()",
                                "0",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyLastPosition"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "round(Object.X())"
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ]
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "TimeCheck",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "store current elapsed time (to make sure time has passed)"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement::SetPropertyTimecheck"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "Object.ObjectTimerElapsedTime(\"BacknForth_timeout\")"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TimedBackAndForthMovement::TimedBackAndForthMirroredMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "false",
              "type": "Boolean",
              "label": "Move the object vertically (instead of horizontally)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Vertical"
            },
            {
              "value": "100",
              "type": "Number",
              "label": "Moving speed (in pixel/s)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Speed"
            },
            {
              "value": "200",
              "type": "Number",
              "label": "Moving distance (in pixels)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Distance"
            },
            {
              "value": "2",
              "type": "Number",
              "label": "Moving maximum time (in seconds)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Timeout"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Distance start point",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "StartPosition"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "position of the sprite at the previous frame",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "LastPosition"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "check that time has elapsed",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "Timecheck"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "",
      "category": "User interface",
      "extensionNamespace": "",
      "fullName": "Resource bar (continuous)",
      "helpPath": "/objects/resource-bar",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBkPSJNMjgsMTJIMTRINGMtMi4yLDAtNCwxLjgtNCw0czEuOCw0LDQsNGgxMGgxNGMyLjIsMCw0LTEuOCw0LTRTMzAuMiwxMiwyOCwxMnogTTQsMThjLTEuMSwwLTItMC45LTItMnMwLjktMiwyLTJoMTANCgljMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDJINHoiLz4NCjwvc3ZnPg0K",
      "name": "PanelSpriteContinuousBar",
      "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Glyphster Pack/Master/SVG/Interface Elements/ea06363a57846caab544f536b78a952234b68d4941d41c1577852a1d61aefec3_Interface Elements_interface_ui_loading_progress_bar.svg",
      "shortDescription": "A bar that represents a resource in the game (health, mana, ammo, etc).",
      "version": "1.1.1",
      "description": [
        "A bar that represents a resource in the game (health, mana, ammo, etc).",
        "",
        "There are ready-to-use resource bars in the asset-store [resource bars pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=resource-bars-resource-bars)."
      ],
      "origin": {
        "identifier": "PanelSpriteContinuousBar",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "resource",
        "bar",
        "health",
        "mana",
        "shield",
        "hearts",
        "lives",
        "ammo"
      ],
      "authorIds": [
        "IWykYNRvhCZBN3vEgKEbBPOR3Oc2",
        "gqDaZjCfevOOxBYkK6zlhtZnXCg1",
        "q8ubdigLvIRXLxsJDDTaokO41mc2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "A bar that represents a resource in the game (health, mana, ammo, etc).",
          "fullName": "Resource bar",
          "name": "ResourceBar",
          "objectType": "",
          "private": true,
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "This is done after the events to allow users to read the previous value at the end of the change."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__ResourceBar.LastValueChange\"",
                        "<=",
                        "Object.Behavior::PropertyPreviousHighValueDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::UpdatePreviousHighValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "="
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the value of the object.",
              "fullName": "Value",
              "functionType": "ExpressionAndCondition",
              "name": "Value",
              "sentence": "the value",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyValue()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "Value",
              "name": "SetValue",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "clamp(GetArgumentAsNumber(\"Value\"), 0, Object.Behavior::MaxValue())"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "<",
                        "Object.Behavior::PreviousHighValue()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__ResourceBar.LastValueChange\""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">=",
                        "Object.Behavior::PropertyPreviousHighValue()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::UpdatePreviousHighValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the maximum value of the object.",
              "fullName": "Maximum value",
              "functionType": "ExpressionAndCondition",
              "group": "Resource bar configuration",
              "name": "MaxValue",
              "sentence": "the maximum value",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyMaxValue()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "MaxValue",
              "name": "SetMaxValue",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyMaxValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the bar is empty.",
              "fullName": "Empty",
              "functionType": "Condition",
              "name": "IsEmpty",
              "sentence": "_PARAM0_ bar is empty",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the bar is full.",
              "fullName": "Full",
              "functionType": "Condition",
              "name": "IsFull",
              "sentence": "_PARAM0_ bar is full",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::PropertyValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyMaxValue()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the previous high value of the resource bar before the current change.",
              "fullName": "Previous high value",
              "functionType": "ExpressionAndCondition",
              "name": "PreviousHighValue",
              "sentence": "the previous high value",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyPreviousHighValue()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Force the previous resource value to update to the current one.",
              "fullName": "Update previous value",
              "functionType": "Action",
              "name": "UpdatePreviousHighValue",
              "sentence": "Update the previous resource value of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyPreviousHighValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyValue()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the previous high value conservation duration (in seconds) of the object.",
              "fullName": "Previous high value conservation duration",
              "functionType": "ExpressionAndCondition",
              "group": "FillBar bar configuration",
              "name": "PreviousHighValueDuration",
              "sentence": "the previous high value conservation duration",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyPreviousHighValueDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "PreviousHighValueDuration",
              "name": "SetPreviousHighValueDuration",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::SetPropertyPreviousHighValueDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the resource value is changing.",
              "fullName": "Value is changing",
              "functionType": "Condition",
              "name": "IsChanging",
              "sentence": "_PARAM0_ value is changing",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::PreviousHighValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "!=",
                        "Object.Behavior::PropertyValue()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__ResourceBar.LastValueChange\"",
                        "<=",
                        "Object.Behavior::PropertyPreviousHighValueDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "1",
              "type": "Number",
              "label": "Value",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Value"
            },
            {
              "value": "3",
              "type": "Number",
              "label": "Maximum value",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "MaxValue"
            },
            {
              "value": "",
              "type": "Number",
              "label": "Previous high value",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "PreviousHighValue"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Previous high value conservation duration (in seconds)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "PreviousHighValueDuration"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": [
        {
          "defaultName": "ResourceBar",
          "description": "A bar that represents a resource in the game (health, mana, ammo, etc).",
          "fullName": "Resource bar (continuous)",
          "name": "PanelSpriteContinuousBar",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "This allows to detect a change of \"intial value\" on hot reload."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyPreviousInitialValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyInitialValue()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Create the child-object instances."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Background",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "FillBar",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "Background",
                        "=",
                        "1"
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "FillBar",
                        "=",
                        "3"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyPreviousHighValueDuration"
                      },
                      "parameters": [
                        "Object",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Buffer",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "Buffer",
                        "=",
                        "2"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Create the label over the bar."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Label",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "4"
                      ]
                    },
                    {
                      "type": {
                        "value": "TextObject::SetTextAlignment"
                      },
                      "parameters": [
                        "Label",
                        "\"center\""
                      ]
                    },
                    {
                      "type": {
                        "value": "TextObject::SetWrapping"
                      },
                      "parameters": [
                        "Label",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyShowLabel"
                      },
                      "parameters": [
                        "Object"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Cache"
                      },
                      "parameters": [
                        "Label"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Pass the configuration to the behavior."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetMaxValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyMaxValue()",
                        "Object.PropertyMaxValue()"
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyInitialValue()",
                        "Object.PropertyInitialValue()"
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyPreviousHighValueDuration()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Tween::RemoveTween"
                      },
                      "parameters": [
                        "FillBar",
                        "Tween",
                        "\"ChangeValue\""
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteObject::Width"
                      },
                      "parameters": [
                        "FillBar",
                        "=",
                        "Object.WidthForValue()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onHotReloading",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLayout"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetMaxValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyMaxValue()",
                        "Object.PropertyMaxValue()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyInitialValue"
                      },
                      "parameters": [
                        "Object",
                        "!=",
                        "Object.PropertyPreviousInitialValue()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyPreviousInitialValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyInitialValue()"
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyInitialValue()",
                        "Object.PropertyInitialValue()"
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPreviousValueDuration"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyPreviousHighValueDuration()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Tween::RemoveTween"
                      },
                      "parameters": [
                        "FillBar",
                        "Tween",
                        "\"ChangeValue\""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteObject::Width"
                      },
                      "parameters": [
                        "FillBar",
                        "=",
                        "Object.WidthForValue()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Resize",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Children instances must be resized when the parent size change:\n- background is resized to take the full dimensions of the parent\n- the bar size is refreshed according to the value\n- the label is put back at the center of the bar\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::CompareNumbers"
                              },
                              "parameters": [
                                "Object.Width()",
                                "!=",
                                "max(Background.BoundingBoxRight(), Label.BoundingBoxRight()) - min(Background.BoundingBoxLeft(), Label.BoundingBoxLeft())"
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::CompareNumbers"
                              },
                              "parameters": [
                                "Object.Height()",
                                "!=",
                                "max(Background.BoundingBoxBottom(), Label.BoundingBoxBottom()) - min(Background.BoundingBoxTop(), Label.BoundingBoxTop())"
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Background",
                            "Width",
                            "=",
                            "Object.Width()"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Background",
                            "Height",
                            "=",
                            "Object.Height()"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::Scale"
                          },
                          "parameters": [
                            "Object",
                            "=",
                            "1"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteObject::Width"
                          },
                          "parameters": [
                            "Background",
                            "=",
                            "Background.Variable(Width)"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteObject::Height"
                          },
                          "parameters": [
                            "Background",
                            "=",
                            "Background.Variable(Height)"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLayout"
                          },
                          "parameters": [
                            "Object",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::IsChanging"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Tween::AddObjectWidthTween"
                      },
                      "parameters": [
                        "Buffer",
                        "Tween",
                        "\"ChangeValue\"",
                        "Object.WidthForValue()",
                        "\"linear\"",
                        "Object.PropertyEasingDuration() * 1000",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteObject::Width"
                      },
                      "parameters": [
                        "FillBar",
                        "<",
                        "Buffer.Width()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Montre"
                      },
                      "parameters": [
                        "Buffer",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteObject::Width"
                      },
                      "parameters": [
                        "FillBar",
                        ">=",
                        "Buffer.Width()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Cache"
                      },
                      "parameters": [
                        "Buffer"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Center the bar according to the button configuration. This is used in doStepPostEvents when the button is resized.",
              "fullName": "Update layout",
              "functionType": "Action",
              "name": "UpdateLayout",
              "private": true,
              "sentence": "Update layout of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreXY"
                      },
                      "parameters": [
                        "FillBar",
                        "=",
                        "Object.PropertyBarLeftPadding()",
                        "=",
                        "Object.PropertyBarTopPadding()"
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteObject::Width"
                      },
                      "parameters": [
                        "FillBar",
                        "=",
                        "Object.WidthForValue()"
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteObject::Height"
                      },
                      "parameters": [
                        "FillBar",
                        "=",
                        "round(Background.Height() - Object.PropertyBarTopPadding() - Object.PropertyBarBottomPadding())"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreXY"
                      },
                      "parameters": [
                        "Buffer",
                        "=",
                        "FillBar.X()",
                        "=",
                        "FillBar.Y()"
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteObject::Width"
                      },
                      "parameters": [
                        "Buffer",
                        "=",
                        "FillBar.Width()"
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteObject::Height"
                      },
                      "parameters": [
                        "Buffer",
                        "=",
                        "FillBar.Height()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreXY"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "Object.PropertyBarLeftPadding()",
                        "=",
                        "Object.PropertyBarTopPadding()"
                      ]
                    },
                    {
                      "type": {
                        "value": "TextObject::WrappingWidth"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "Object.FullBarWidth()"
                      ]
                    },
                    {
                      "type": {
                        "value": "SetCenterY"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "FillBar.CenterY()"
                      ]
                    },
                    {
                      "type": {
                        "value": "SetCenterX"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "Background.CenterX() + (Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()) / 2"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the value of the object.",
              "fullName": "Value",
              "functionType": "ExpressionAndCondition",
              "group": "Resource bar",
              "name": "Value",
              "sentence": "the value",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "FillBar.ResourceBar::Value()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "Value",
              "name": "SetValue",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::SetValue"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyEasingDuration"
                      },
                      "parameters": [
                        "Object",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Tween::AddObjectWidthTween"
                      },
                      "parameters": [
                        "FillBar",
                        "Tween",
                        "\"ChangeValue\"",
                        "Object.WidthForValue()",
                        "\"linear\"",
                        "Object.PropertyEasingDuration() * 1000",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyEasingDuration"
                      },
                      "parameters": [
                        "Object",
                        "<=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteObject::Width"
                      },
                      "parameters": [
                        "FillBar",
                        "=",
                        "Object.WidthForValue()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLabel"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::IsChanging"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteObject::Width"
                      },
                      "parameters": [
                        "Buffer",
                        "=",
                        "round(Object.FullBarWidth() * FillBar.ResourceBar::PreviousHighValue() / FillBar.ResourceBar::MaxValue())"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the maximum value of the object.",
              "fullName": "Maximum value",
              "functionType": "ExpressionAndCondition",
              "group": "Resource bar configuration",
              "name": "MaxValue",
              "sentence": "the maximum value",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "FillBar.ResourceBar::PropertyMaxValue()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "MaxValue",
              "name": "SetMaxValue",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::SetMaxValue"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLabel"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::UpdateLayout"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the bar is empty.",
              "fullName": "Empty",
              "functionType": "Condition",
              "group": "Resource bar",
              "name": "IsEmpty",
              "sentence": "_PARAM0_ is empty",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::IsEmpty"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        "="
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the bar is full.",
              "fullName": "Full",
              "functionType": "Condition",
              "group": "Resource bar",
              "name": "IsFull",
              "sentence": "_PARAM0_ is full",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::IsFull"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        "="
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the previous value conservation duration (in seconds) of the object.",
              "fullName": "Previous value conservation duration",
              "functionType": "ExpressionAndCondition",
              "group": "Resource bar configuration",
              "name": "PreviousValueDuration",
              "sentence": "the previous value conservation duration",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "FillBar.ResourceBar::PropertyPreviousHighValueDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "PreviousValueDuration",
              "name": "SetPreviousValueDuration",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::SetPreviousHighValueDuration"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "CompareArgumentAsNumber"
                      },
                      "parameters": [
                        "\"Value\"",
                        "!=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Montre"
                      },
                      "parameters": [
                        "Buffer",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "CompareArgumentAsNumber"
                      },
                      "parameters": [
                        "\"Value\"",
                        "=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Cache"
                      },
                      "parameters": [
                        "Buffer"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteContinuousBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the resource value is changing.",
              "fullName": "Value is changing",
              "functionType": "Condition",
              "group": "Resource bar",
              "name": "IsChanging",
              "private": true,
              "sentence": "_PARAM0_ value is changing",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::ResourceBar::IsChanging"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "Value width",
              "functionType": "Expression",
              "name": "WidthForValue",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "round(Object.FullBarWidth() * FillBar.ResourceBar::Value() / FillBar.ResourceBar::MaxValue())"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Expression",
              "name": "FullBarWidth",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Background.Width() - Object.PropertyBarLeftPadding() - Object.PropertyBarRightPadding()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the label is shown.",
              "fullName": "Label is shown",
              "functionType": "Condition",
              "group": "Resource bar configuration",
              "name": "IsLabelShown",
              "sentence": "_PARAM0_ label is shown",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::PropertyShowLabel"
                      },
                      "parameters": [
                        "Object"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Show (or hide) the label on the bar.",
              "fullName": "Show label",
              "functionType": "Action",
              "group": "Resource bar configuration",
              "name": "SetLabelShown",
              "sentence": "Show the label of _PARAM0_: _PARAM1_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"Value\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyShowLabel"
                      },
                      "parameters": [
                        "Object",
                        "no"
                      ]
                    },
                    {
                      "type": {
                        "value": "Cache"
                      },
                      "parameters": [
                        "Label"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"Value\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteContinuousBar::PanelSpriteContinuousBar::SetPropertyShowLabel"
                      },
                      "parameters": [
                        "Object",
                        "yes"
                      ]
                    },
                    {
                      "type": {
                        "value": "Montre"
                      },
                      "parameters": [
                        "Label",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                },
                {
                  "description": "Show the label",
                  "name": "Value",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Update the text that display the current value and maximum value.",
              "fullName": "Update label",
              "functionType": "Action",
              "name": "UpdateLabel",
              "private": true,
              "sentence": "Update label of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TextObject::String"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "ToString(round(Object.Value())) + \" / \" + ToString(Object.MaxValue())"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteContinuousBar::PanelSpriteContinuousBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "Bar",
              "extraInformation": [
                "Label",
                "FillBar",
                "Buffer"
              ],
              "hidden": false,
              "name": "BarLeftPadding"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "Bar",
              "extraInformation": [
                "Label",
                "FillBar",
                "Buffer"
              ],
              "hidden": false,
              "name": "BarTopPadding"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "Bar",
              "extraInformation": [
                "Label",
                "FillBar",
                "Buffer"
              ],
              "hidden": false,
              "name": "BarRightPadding"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "Bar",
              "extraInformation": [
                "Label",
                "FillBar",
                "Buffer"
              ],
              "hidden": false,
              "name": "BarBottomPadding"
            },
            {
              "value": "3",
              "type": "Number",
              "label": "Maximum value",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "MaxValue"
            },
            {
              "value": "3",
              "type": "Number",
              "label": "Initial value",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "InitialValue"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "It's used to detect a change at hot reload.",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "PreviousInitialValue"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Previous high value conservation duration (in seconds)",
              "description": "",
              "group": "Animation",
              "extraInformation": [],
              "hidden": false,
              "name": "PreviousHighValueDuration"
            },
            {
              "value": "0.25",
              "type": "Number",
              "label": "Easing duration",
              "description": "",
              "group": "Animation",
              "extraInformation": [],
              "hidden": false,
              "name": "EasingDuration"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Show the label",
              "description": "",
              "group": "",
              "extraInformation": [
                "Label"
              ],
              "hidden": false,
              "name": "ShowLabel"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "Only used by the scene editor.",
              "group": "",
              "extraInformation": [
                "Buffer"
              ],
              "hidden": true,
              "name": "ShowBuffer"
            },
            {
              "value": "Center",
              "type": "String",
              "label": "",
              "description": "Only used by the scene editor.",
              "group": "",
              "extraInformation": [
                "Label"
              ],
              "hidden": true,
              "name": "LabelVerticalAnchorOrigin"
            },
            {
              "value": "Center",
              "type": "String",
              "label": "",
              "description": "Only used by the scene editor.",
              "group": "",
              "extraInformation": [
                "FillBar"
              ],
              "hidden": true,
              "name": "LabelVerticalAnchorTarget"
            }
          ],
          "objects": [
            {
              "assetStoreId": "",
              "bold": false,
              "italic": false,
              "name": "Label",
              "smoothed": true,
              "type": "TextObject::Text",
              "underlined": false,
              "variables": [],
              "effects": [],
              "behaviors": [],
              "string": "2 / 3",
              "font": "",
              "textAlignment": "center",
              "characterSize": 20,
              "color": {
                "b": 0,
                "g": 0,
                "r": 0
              }
            },
            {
              "assetStoreId": "",
              "bottomMargin": 0,
              "height": 32,
              "leftMargin": 0,
              "name": "FillBar",
              "rightMargin": 0,
              "texture": "",
              "tiled": true,
              "topMargin": 0,
              "type": "PanelSpriteObject::PanelSprite",
              "width": 32,
              "variables": [],
              "effects": [],
              "behaviors": [
                {
                  "name": "ResourceBar",
                  "type": "PanelSpriteContinuousBar::ResourceBar",
                  "Value": 1,
                  "MaxValue": 3,
                  "PreviousValue": 0
                },
                {
                  "name": "Tween",
                  "type": "Tween::TweenBehavior"
                }
              ]
            },
            {
              "assetStoreId": "",
              "bottomMargin": 0,
              "height": 32,
              "leftMargin": 0,
              "name": "Buffer",
              "rightMargin": 0,
              "texture": "",
              "tiled": true,
              "topMargin": 0,
              "type": "PanelSpriteObject::PanelSprite",
              "width": 32,
              "variables": [],
              "effects": [],
              "behaviors": [
                {
                  "name": "Tween",
                  "type": "Tween::TweenBehavior"
                }
              ]
            },
            {
              "assetStoreId": "",
              "bottomMargin": 0,
              "height": 32,
              "leftMargin": 0,
              "name": "Background",
              "rightMargin": 0,
              "texture": "",
              "tiled": true,
              "topMargin": 0,
              "type": "PanelSpriteObject::PanelSprite",
              "width": 32,
              "variables": [],
              "effects": [],
              "behaviors": []
            }
          ],
          "objectsFolderStructure": {
            "folderName": "__ROOT",
            "children": [
              {
                "objectName": "Label"
              },
              {
                "objectName": "FillBar"
              },
              {
                "objectName": "Buffer"
              },
              {
                "objectName": "Background"
              }
            ]
          }
        }
      ]
    },
    {
      "author": "",
      "category": "User interface",
      "extensionNamespace": "",
      "fullName": "Resource bar (separated units)",
      "helpPath": "/objects/resource-bar",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWRvdHMtaG9yaXpvbnRhbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNiwxMkEyLDIgMCAwLDEgMTgsMTBBMiwyIDAgMCwxIDIwLDEyQTIsMiAwIDAsMSAxOCwxNEEyLDIgMCAwLDEgMTYsMTJNMTAsMTJBMiwyIDAgMCwxIDEyLDEwQTIsMiAwIDAsMSAxNCwxMkEyLDIgMCAwLDEgMTIsMTRBMiwyIDAgMCwxIDEwLDEyTTQsMTJBMiwyIDAgMCwxIDYsMTBBMiwyIDAgMCwxIDgsMTJBMiwyIDAgMCwxIDYsMTRBMiwyIDAgMCwxIDQsMTJaIiAvPjwvc3ZnPg==",
      "name": "TiledUnitsBar",
      "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/063e9152cf65bc0f3be2a828afd950c3ecf1b1fc72feefdc2467252fe987dc0f_dots-horizontal.svg",
      "shortDescription": "A bar that represents a resource in the game (health, mana, ammo, etc).",
      "version": "1.1.2",
      "description": [
        "A bar that represents a resource in the game (health, mana, ammo, etc).",
        "",
        "There are ready-to-use resource bars in the asset-store [resource bars pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=resource-bars-resource-bars)."
      ],
      "origin": {
        "identifier": "TiledUnitsBar",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "resource",
        "bar",
        "health",
        "mana",
        "shield",
        "hearts",
        "lives",
        "ammo"
      ],
      "authorIds": [
        "IWykYNRvhCZBN3vEgKEbBPOR3Oc2",
        "gqDaZjCfevOOxBYkK6zlhtZnXCg1",
        "q8ubdigLvIRXLxsJDDTaokO41mc2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "A bar that represents a resource in the game (health, mana, ammo, etc).",
          "fullName": "Resource bar",
          "name": "ResourceBar",
          "objectType": "",
          "private": true,
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "This is done after the events to allow users to read the previous value at the end of the change."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__ResourceBar.LastValueChange\"",
                        "<=",
                        "Object.Behavior::PropertyPreviousHighValueDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::UpdatePreviousHighValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "="
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the value of the object.",
              "fullName": "Value",
              "functionType": "ExpressionAndCondition",
              "name": "Value",
              "sentence": "the value",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyValue()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "Value",
              "name": "SetValue",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::SetPropertyValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "clamp(GetArgumentAsNumber(\"Value\"), 0, Object.Behavior::MaxValue())"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::PropertyValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "<",
                        "Object.Behavior::PreviousHighValue()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__ResourceBar.LastValueChange\""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::PropertyValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">=",
                        "Object.Behavior::PropertyPreviousHighValue()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::UpdatePreviousHighValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the maximum value of the object.",
              "fullName": "Maximum value",
              "functionType": "ExpressionAndCondition",
              "group": "Resource bar configuration",
              "name": "MaxValue",
              "sentence": "the maximum value",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyMaxValue()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "MaxValue",
              "name": "SetMaxValue",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::SetPropertyMaxValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the bar is empty.",
              "fullName": "Empty",
              "functionType": "Condition",
              "name": "IsEmpty",
              "sentence": "_PARAM0_ bar is empty",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::PropertyValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the bar is full.",
              "fullName": "Full",
              "functionType": "Condition",
              "name": "IsFull",
              "sentence": "_PARAM0_ bar is full",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::PropertyValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyMaxValue()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the previous high value of the resource bar before the current change.",
              "fullName": "Previous high value",
              "functionType": "ExpressionAndCondition",
              "name": "PreviousHighValue",
              "sentence": "the previous high value",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyPreviousHighValue()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Force the previous resource value to update to the current one.",
              "fullName": "Update previous value",
              "functionType": "Action",
              "name": "UpdatePreviousHighValue",
              "sentence": "Update the previous resource value of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::SetPropertyPreviousHighValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyValue()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the previous high value conservation duration (in seconds) of the object.",
              "fullName": "Previous high value conservation duration",
              "functionType": "ExpressionAndCondition",
              "group": "Resource bar configuration",
              "name": "PreviousHighValueDuration",
              "sentence": "the previous high value conservation duration",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyPreviousHighValueDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "PreviousHighValueDuration",
              "name": "SetPreviousHighValueDuration",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::SetPropertyPreviousHighValueDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the resource value is changing.",
              "fullName": "Value is changing",
              "functionType": "Condition",
              "name": "IsChanging",
              "sentence": "_PARAM0_ value is changing",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::PreviousHighValue"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "!=",
                        "Object.Behavior::PropertyValue()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"__ResourceBar.LastValueChange\"",
                        "<=",
                        "Object.Behavior::PropertyPreviousHighValueDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "1",
              "type": "Number",
              "label": "Value",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "Value"
            },
            {
              "value": "3",
              "type": "Number",
              "label": "Maximum value",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "MaxValue"
            },
            {
              "value": "",
              "type": "Number",
              "label": "Previous high value",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "PreviousHighValue"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Previous high value conservation duration (in seconds)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "PreviousHighValueDuration"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": [
        {
          "defaultName": "ResourceBar",
          "description": "A bar that represents a resource in the game (health, mana, ammo, etc).",
          "fullName": "Resource bar (separated units)",
          "name": "TiledUnitsBar",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "This allows to detect a change of \"intial value\" on hot reload."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::TiledUnitsBar::SetPropertyPreviousInitialValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyInitialValue()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Create the child-object instances."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Background",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Bar",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "FillBar",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "Background",
                        "=",
                        "1"
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "Bar",
                        "=",
                        "2"
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "FillBar",
                        "=",
                        "3"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "TiledUnitsBar::TiledUnitsBar::PropertyShowBackground"
                      },
                      "parameters": [
                        "Object"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Cache"
                      },
                      "parameters": [
                        "Background"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Pass the configuration to the behavior (MaxValue must be set before Value)."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::TiledUnitsBar::SetMaxValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyMaxValue()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "TiledUnitsBar::TiledUnitsBar::SetValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyInitialValue()",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "TiledUnitsBar::TiledUnitsBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onHotReloading",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::TiledUnitsBar::CenterBar"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "TiledUnitsBar::TiledUnitsBar::SetMaxValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyMaxValue()",
                        "Object.PropertyMaxValue()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::TiledUnitsBar::PropertyInitialValue"
                      },
                      "parameters": [
                        "Object",
                        "!=",
                        "Object.PropertyPreviousInitialValue()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::TiledUnitsBar::SetPropertyPreviousInitialValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyInitialValue()"
                      ]
                    },
                    {
                      "type": {
                        "value": "TiledUnitsBar::TiledUnitsBar::SetValue"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.PropertyInitialValue()",
                        "Object.PropertyInitialValue()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "TiledUnitsBar::TiledUnitsBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Resize",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Children instances must be resized when the button size change:\n- background is resized to take the full dimensions of the button\n- the bar size is refreshed according to the value\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::CompareNumbers"
                              },
                              "parameters": [
                                "Object.Width()",
                                "!=",
                                "max(Background.BoundingBoxRight(), Bar.BoundingBoxRight()) - min(Background.BoundingBoxLeft(), Bar.BoundingBoxLeft())"
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::CompareNumbers"
                              },
                              "parameters": [
                                "Object.Height()",
                                "!=",
                                "max(Background.BoundingBoxBottom(), Bar.BoundingBoxBottom()) - min(Background.BoundingBoxTop(), Bar.BoundingBoxTop())"
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Background",
                            "Width",
                            "=",
                            "Object.Width()"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Background",
                            "Height",
                            "=",
                            "Object.Height()"
                          ]
                        },
                        {
                          "type": {
                            "value": "TiledUnitsBar::Scale"
                          },
                          "parameters": [
                            "Object",
                            "=",
                            "1"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteObject::Width"
                          },
                          "parameters": [
                            "Background",
                            "=",
                            "Background.Variable(Width)"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteObject::Height"
                          },
                          "parameters": [
                            "Background",
                            "=",
                            "Background.Variable(Height)"
                          ]
                        },
                        {
                          "type": {
                            "value": "TiledUnitsBar::TiledUnitsBar::CenterBar"
                          },
                          "parameters": [
                            "Object",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "TiledUnitsBar::TiledUnitsBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Center the bar according to the button configuration. This is used in doStepPostEvents when the button is resized.",
              "fullName": "",
              "functionType": "Action",
              "name": "CenterBar",
              "private": true,
              "sentence": "Center the bar of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetCenter"
                      },
                      "parameters": [
                        "Bar",
                        "=",
                        "Background.CenterX()",
                        "=",
                        "Background.CenterY()"
                      ]
                    },
                    {
                      "type": {
                        "value": "MettreX"
                      },
                      "parameters": [
                        "Bar",
                        "+",
                        "0"
                      ]
                    },
                    {
                      "type": {
                        "value": "MettreY"
                      },
                      "parameters": [
                        "Bar",
                        "+",
                        "0"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreXY"
                      },
                      "parameters": [
                        "FillBar",
                        "=",
                        "Bar.X()",
                        "=",
                        "Bar.Y()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "TiledUnitsBar::TiledUnitsBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the value of the object.",
              "fullName": "Value",
              "functionType": "ExpressionAndCondition",
              "group": "Resource bar",
              "name": "Value",
              "sentence": "the value",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "FillBar.ResourceBar::Value()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "TiledUnitsBar::TiledUnitsBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "Value",
              "name": "SetValue",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::SetValue"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "TiledSpriteObject::Width"
                      },
                      "parameters": [
                        "FillBar",
                        "=",
                        "FillBar.ResourceBar::Value() * Object.PropertyUnitWidth()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "TiledUnitsBar::TiledUnitsBar",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the maximum value of the object.",
              "fullName": "Maximum value",
              "functionType": "ExpressionAndCondition",
              "group": "Resource bar configuration",
              "name": "MaxValue",
              "sentence": "the maximum value",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "FillBar.ResourceBar::PropertyMaxValue()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "TiledUnitsBar::TiledUnitsBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "MaxValue",
              "name": "SetMaxValue",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::SetMaxValue"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "TiledSpriteObject::Width"
                      },
                      "parameters": [
                        "Bar",
                        "=",
                        "Object.PropertyMaxValue() * Object.PropertyUnitWidth()"
                      ]
                    },
                    {
                      "type": {
                        "value": "TiledUnitsBar::TiledUnitsBar::CenterBar"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "TiledUnitsBar::TiledUnitsBar",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "TiledUnitsBar::ResourceBar",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the bar is empty.",
              "fullName": "Empty",
              "functionType": "Condition",
              "group": "Resource bar",
              "name": "IsEmpty",
              "sentence": "_PARAM0_ bar is empty",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::IsEmpty"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        "="
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "TiledUnitsBar::TiledUnitsBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the bar is full.",
              "fullName": "Full",
              "functionType": "Condition",
              "group": "Resource bar",
              "name": "IsFull",
              "sentence": "_PARAM0_ bar is full",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "TiledUnitsBar::ResourceBar::IsFull"
                      },
                      "parameters": [
                        "FillBar",
                        "ResourceBar",
                        "="
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "TiledUnitsBar::TiledUnitsBar",
                  "type": "object"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "3",
              "type": "Number",
              "label": "Maximum value",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "MaxValue"
            },
            {
              "value": "3",
              "type": "Number",
              "label": "Initial value",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "InitialValue"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "It's used to detect a change at hot reload.",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "PreviousInitialValue"
            },
            {
              "value": "24",
              "type": "Number",
              "label": "Unit width",
              "description": "How much pixels to show for a value of 1.",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "UnitWidth"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Show the background",
              "description": "",
              "group": "",
              "extraInformation": [
                "Background"
              ],
              "hidden": false,
              "name": "ShowBackground"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Bar left margin",
              "description": "",
              "group": "",
              "extraInformation": [
                "FillBar",
                "Bar"
              ],
              "hidden": false,
              "name": "BarLeftPadding"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Bar right margin",
              "description": "",
              "group": "",
              "extraInformation": [
                "FillBar",
                "Bar"
              ],
              "hidden": false,
              "name": "BarRightPadding"
            },
            {
              "value": "Center",
              "type": "String",
              "label": "",
              "description": "Only used by the scene editor.",
              "group": "",
              "extraInformation": [
                "FillBar",
                "Bar"
              ],
              "hidden": true,
              "name": "BarVerticalAnchorOrigin"
            },
            {
              "value": "Center",
              "type": "String",
              "label": "",
              "description": "Only used by the scene editor.",
              "group": "",
              "extraInformation": [
                "Background"
              ],
              "hidden": true,
              "name": "BarVerticalAnchorTarget"
            }
          ],
          "objects": [
            {
              "assetStoreId": "",
              "height": 32,
              "name": "FillBar",
              "texture": "",
              "type": "TiledSpriteObject::TiledSprite",
              "width": 32,
              "variables": [],
              "effects": [],
              "behaviors": [
                {
                  "name": "ResourceBar",
                  "type": "TiledUnitsBar::ResourceBar",
                  "Value": 1,
                  "MaxValue": 3,
                  "PreviousValue": 0
                }
              ]
            },
            {
              "assetStoreId": "",
              "height": 32,
              "name": "Bar",
              "texture": "",
              "type": "TiledSpriteObject::TiledSprite",
              "width": 32,
              "variables": [],
              "effects": [],
              "behaviors": []
            },
            {
              "assetStoreId": "",
              "bottomMargin": 0,
              "height": 32,
              "leftMargin": 0,
              "name": "Background",
              "rightMargin": 0,
              "texture": "",
              "tiled": true,
              "topMargin": 0,
              "type": "PanelSpriteObject::PanelSprite",
              "width": 32,
              "variables": [],
              "effects": [],
              "behaviors": []
            }
          ],
          "objectsFolderStructure": {
            "folderName": "__ROOT",
            "children": [
              {
                "objectName": "FillBar"
              },
              {
                "objectName": "Bar"
              },
              {
                "objectName": "Background"
              }
            ]
          }
        }
      ]
    },
    {
      "author": "",
      "category": "User interface",
      "extensionNamespace": "",
      "fullName": "Panel sprite button",
      "helpPath": "/objects/button",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5LDIzSDNjLTEuMSwwLTItMC45LTItMlYxMWMwLTEuMSwwLjktMiwyLTJoMjZjMS4xLDAsMiwwLjksMiwydjEwQzMxLDIyLjEsMzAuMSwyMywyOSwyM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMywxOUwxMywxOWMtMS4xLDAtMi0wLjktMi0ydi0yYzAtMS4xLDAuOS0yLDItMmgwYzEuMSwwLDIsMC45LDIsMnYyQzE1LDE4LjEsMTQuMSwxOSwxMywxOXoiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIxOCIgeTE9IjEzIiB4Mj0iMTgiIHkyPSIxOSIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjIxIiB5MT0iMTMiIHgyPSIxOCIgeTI9IjE3Ii8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMjEiIHkxPSIxOSIgeDI9IjE5IiB5Mj0iMTYiLz4NCjwvc3ZnPg0K",
      "name": "PanelSpriteButton",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_button_ok_cta_clock_tap.svg",
      "shortDescription": "A button that can be customized.",
      "version": "1.4.4",
      "description": [
        "The button can be customized with a background for each state and a label. It handles user interactions and a simple condition can be used to check if it is clicked.",
        "",
        "There are ready-to-use buttons in the asset-store [menu buttons pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=menu-buttons-menu-buttons)."
      ],
      "origin": {
        "identifier": "PanelSpriteButton",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "button",
        "ui"
      ],
      "authorIds": [
        "IWykYNRvhCZBN3vEgKEbBPOR3Oc2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "The finite state machine used internally by the button object.",
          "fullName": "Button finite state machine",
          "name": "ButtonFSM",
          "objectType": "",
          "private": true,
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Finite state machine",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "The \"Validated\" state only last one frame."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "\"Validated\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PanelSpriteButton::ButtonFSM::SetPropertyState"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "\"Idle\""
                          ]
                        }
                      ]
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Check position",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Make sure the cursor position is only checked once per frame."
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "no"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::PropertyShouldCheckHovering"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "CollisionPoint"
                              },
                              "parameters": [
                                "Object",
                                "MouseOnlyCursorX(Object.Layer(), 0)",
                                "MouseOnlyCursorY(Object.Layer(), 0)"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::SetPropertyMouseIsInside"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Touches are always pressed, so ShouldCheckHovering doesn't matter."
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "no"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::PropertyTouchId"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "!=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "CollisionPoint"
                              },
                              "parameters": [
                                "Object",
                                "TouchX(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)",
                                "TouchY(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "yes"
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Handle touch start",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "HasAnyTouchOrMouseStarted"
                              },
                              "parameters": [
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::SetPropertyIndex"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "0"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Repeat",
                              "repeatExpression": "StartedTouchOrMouseCount()",
                              "conditions": [],
                              "actions": [],
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "CollisionPoint"
                                      },
                                      "parameters": [
                                        "Object",
                                        "TouchX(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)",
                                        "TouchY(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)"
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior",
                                        "=",
                                        "StartedTouchOrMouseId(Object.Behavior::PropertyIndex())"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchIsInside"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior",
                                        "yes"
                                      ]
                                    }
                                  ],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "BuiltinCommonInstructions::Or"
                                          },
                                          "parameters": [],
                                          "subInstructions": [
                                            {
                                              "type": {
                                                "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                                              },
                                              "parameters": [
                                                "Object",
                                                "Behavior",
                                                "=",
                                                "\"Hovered\""
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                                              },
                                              "parameters": [
                                                "Object",
                                                "Behavior",
                                                "=",
                                                "\"Idle\""
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "PanelSpriteButton::ButtonFSM::SetPropertyState"
                                          },
                                          "parameters": [
                                            "Object",
                                            "Behavior",
                                            "=",
                                            "\"PressedInside\""
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "PanelSpriteButton::ButtonFSM::SetPropertyIndex"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior",
                                        "+",
                                        "1"
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Apply position changes",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "PanelSpriteButton::ButtonFSM::PropertyMouseIsInside"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"Hovered\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::SetPropertyState"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"Idle\""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::PropertyMouseIsInside"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"Idle\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::SetPropertyState"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"Hovered\""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "PanelSpriteButton::ButtonFSM::PropertyTouchIsInside"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"PressedInside\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::SetPropertyState"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"PressedOutside\""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::PropertyTouchIsInside"
                              },
                              "parameters": [
                                "Object",
                                "Behavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"PressedOutside\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::SetPropertyState"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"PressedInside\""
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Handle touch end",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "HasTouchEnded"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyTouchId()"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "0"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "\"PressedInside\""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PanelSpriteButton::ButtonFSM::SetPropertyState"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "\"Validated\""
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "\"PressedInside\""
                                  ]
                                },
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "\"Validated\""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "PanelSpriteButton::ButtonFSM::SetPropertyState"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "\"Idle\""
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteButton::ButtonFSM",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onDeActivate",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::ResetState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteButton::ButtonFSM",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Reset the state of the button.",
              "fullName": "Reset state",
              "functionType": "Action",
              "name": "ResetState",
              "private": true,
              "sentence": "Reset the button state of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::SetPropertyState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Idle\""
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::SetPropertyTouchId"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteButton::ButtonFSM",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the button is not used.",
              "fullName": "Is idle",
              "functionType": "Condition",
              "name": "IsIdle",
              "sentence": "_PARAM0_ is idle",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Idle\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteButton::ButtonFSM",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the button was just clicked.",
              "fullName": "Is clicked",
              "functionType": "Condition",
              "name": "IsClicked",
              "sentence": "_PARAM0_ is clicked",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Validated\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteButton::ButtonFSM",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the cursor is hovered over the button.",
              "fullName": "Is hovered",
              "functionType": "Condition",
              "name": "IsHovered",
              "sentence": "_PARAM0_ is hovered",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Hovered\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteButton::ButtonFSM",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the button is either hovered or pressed but not hovered.",
              "fullName": "Is focused",
              "functionType": "Condition",
              "name": "IsFocused",
              "sentence": "_PARAM0_ is focused",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Hovered\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"PressedOutside\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteButton::ButtonFSM",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the button is currently being pressed with mouse or touch.",
              "fullName": "Is pressed",
              "functionType": "Condition",
              "name": "IsPressed",
              "sentence": "_PARAM0_ is pressed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"PressedInside\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteButton::ButtonFSM",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the button is currently being pressed outside with mouse or touch.",
              "fullName": "Is held outside",
              "functionType": "Condition",
              "name": "IsPressedOutside",
              "sentence": "_PARAM0_ is held outside",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::PropertyState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"PressedOutside\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteButton::ButtonFSM",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the touch id that is using the button or 0 if none.",
              "fullName": "Touch id",
              "functionType": "ExpressionAndCondition",
              "name": "TouchId",
              "sentence": "the touch id",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyTouchId()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PanelSpriteButton::ButtonFSM",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "true",
              "type": "Boolean",
              "label": "",
              "description": "Should check hovering",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ShouldCheckHovering"
            },
            {
              "value": "Idle",
              "type": "Choice",
              "label": "State",
              "description": "",
              "group": "",
              "extraInformation": [
                "Idle",
                "Hovered",
                "PressedInside",
                "PressedOutside",
                "Validated"
              ],
              "hidden": true,
              "name": "State"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Touch id",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "TouchId"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Touch is inside",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "TouchIsInside"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Mouse is inside",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "MouseIsInside"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "Index"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": [
        {
          "defaultName": "Button",
          "description": "A button that can be customized.",
          "fullName": "Button (panel sprite)",
          "name": "PanelSpriteButton",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Create one background instance for of each state.\nOnly the instance for the current state is shown."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Idle",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Hovered",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Pressed",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Cache"
                      },
                      "parameters": [
                        "Hovered"
                      ]
                    },
                    {
                      "type": {
                        "value": "Cache"
                      },
                      "parameters": [
                        "Pressed"
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "Hovered",
                        "=",
                        "1"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Place the label over the backgrounds."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Label",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "2"
                      ]
                    },
                    {
                      "type": {
                        "value": "TextObject::SetWrapping"
                      },
                      "parameters": [
                        "Label",
                        "yes"
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::CenterLabel"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": [
                {
                  "name": "Background",
                  "objects": [
                    {
                      "name": "Idle"
                    },
                    {
                      "name": "Hovered"
                    },
                    {
                      "name": "Pressed"
                    }
                  ]
                }
              ]
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onHotReloading",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::CenterLabel"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Apply states",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Show the right background accordingly to the new state."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PanelSpriteButton::PanelSpriteButton::IsIdle"
                          },
                          "parameters": [
                            "Object",
                            "ButtonFSM"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetCenterY"
                          },
                          "parameters": [
                            "Label",
                            "=",
                            "Object.CenterWithPaddingY()"
                          ]
                        },
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "Idle",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "Cache"
                          },
                          "parameters": [
                            "Pressed"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Visible"
                              },
                              "parameters": [
                                "Hovered"
                              ]
                            },
                            {
                              "type": {
                                "value": "PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration"
                              },
                              "parameters": [
                                "Object",
                                ">",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Tween::AddObjectOpacityTween"
                              },
                              "parameters": [
                                "Hovered",
                                "Tween",
                                "\"Fadeout\"",
                                "0",
                                "\"linear\"",
                                "Object.PropertyHoveredFadeOutDuration() * 1000",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PanelSpriteButton::PanelSpriteButton::PropertyHoveredFadeOutDuration"
                              },
                              "parameters": [
                                "Object",
                                "=",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "Cache"
                              },
                              "parameters": [
                                "Hovered"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PanelSpriteObject::Opacity"
                          },
                          "parameters": [
                            "Hovered",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Cache"
                          },
                          "parameters": [
                            "Hovered"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteObject::SetOpacity"
                          },
                          "parameters": [
                            "Hovered",
                            "=",
                            "255"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PanelSpriteButton::PanelSpriteButton::IsHovered"
                          },
                          "parameters": [
                            "Object",
                            "ButtonFSM"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetCenterY"
                          },
                          "parameters": [
                            "Label",
                            "=",
                            "Object.CenterWithPaddingY()"
                          ]
                        },
                        {
                          "type": {
                            "value": "Cache"
                          },
                          "parameters": [
                            "Idle"
                          ]
                        },
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "Hovered",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "Cache"
                          },
                          "parameters": [
                            "Pressed"
                          ]
                        },
                        {
                          "type": {
                            "value": "Tween::RemoveTween"
                          },
                          "parameters": [
                            "Hovered",
                            "Tween",
                            "\"Fadeout\""
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteObject::SetOpacity"
                          },
                          "parameters": [
                            "Hovered",
                            "=",
                            "255"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PanelSpriteButton::PanelSpriteButton::IsPressed"
                          },
                          "parameters": [
                            "Object",
                            "ButtonFSM"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetCenterY"
                          },
                          "parameters": [
                            "Label",
                            "=",
                            "Object.CenterWithPaddingY() + Object.PropertyPressedLabelOffsetY()"
                          ]
                        },
                        {
                          "type": {
                            "value": "Cache"
                          },
                          "parameters": [
                            "Idle"
                          ]
                        },
                        {
                          "type": {
                            "value": "Cache"
                          },
                          "parameters": [
                            "Hovered"
                          ]
                        },
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "Pressed",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PanelSpriteButton::PanelSpriteButton::IsFocused"
                          },
                          "parameters": [
                            "Object",
                            "ButtonFSM"
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Once"
                          },
                          "parameters": []
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetCenterY"
                          },
                          "parameters": [
                            "Label",
                            "=",
                            "Object.CenterWithPaddingY()"
                          ]
                        },
                        {
                          "type": {
                            "value": "Cache"
                          },
                          "parameters": [
                            "Idle"
                          ]
                        },
                        {
                          "type": {
                            "value": "Montre"
                          },
                          "parameters": [
                            "Hovered",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "Cache"
                          },
                          "parameters": [
                            "Pressed"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Resize",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Children instances must be resized when the button size change:\n- backgrounds for each state are resized to take the full dimensions of the button\n- the label is put back at the center of the button\n\nThe scale is set back to 1 because it means that the parent instance has the same dimensions as the union of its children instances."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::CompareNumbers"
                              },
                              "parameters": [
                                "Object.Width()",
                                "!=",
                                "max(Idle.BoundingBoxRight(), Label.BoundingBoxRight()) - min(Idle.BoundingBoxLeft(), Label.BoundingBoxLeft())"
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::CompareNumbers"
                              },
                              "parameters": [
                                "Object.Height()",
                                "!=",
                                "max(Idle.BoundingBoxBottom(), Label.BoundingBoxBottom()) - min(Idle.BoundingBoxTop(), Label.BoundingBoxTop())"
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Idle",
                            "Width",
                            "=",
                            "Object.Width()"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Idle",
                            "Height",
                            "=",
                            "Object.Height()"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteButton::Scale"
                          },
                          "parameters": [
                            "Object",
                            "=",
                            "1"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteObject::Width"
                          },
                          "parameters": [
                            "Background",
                            "=",
                            "Idle.Variable(Width)"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteObject::Height"
                          },
                          "parameters": [
                            "Background",
                            "=",
                            "Idle.Variable(Height)"
                          ]
                        },
                        {
                          "type": {
                            "value": "PanelSpriteButton::PanelSpriteButton::CenterLabel"
                          },
                          "parameters": [
                            "Object",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": [
                {
                  "name": "Background",
                  "objects": [
                    {
                      "name": "Idle"
                    },
                    {
                      "name": "Hovered"
                    },
                    {
                      "name": "Pressed"
                    }
                  ]
                }
              ]
            },
            {
              "description": "Check if the button is not used.",
              "fullName": "Is idle",
              "functionType": "Condition",
              "name": "IsIdle",
              "sentence": "_PARAM0_ is idle",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::IsIdle"
                      },
                      "parameters": [
                        "Idle",
                        "ButtonFSM",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the button was just clicked.",
              "fullName": "Is clicked",
              "functionType": "Condition",
              "name": "IsClicked",
              "sentence": "_PARAM0_ is clicked",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::IsClicked"
                      },
                      "parameters": [
                        "Idle",
                        "ButtonFSM",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the cursor is hovered over the button.",
              "fullName": "Is hovered",
              "functionType": "Condition",
              "name": "IsHovered",
              "sentence": "_PARAM0_ is hovered",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::IsHovered"
                      },
                      "parameters": [
                        "Idle",
                        "ButtonFSM",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the button is either hovered or pressed but not hovered.",
              "fullName": "Is focused",
              "functionType": "Condition",
              "name": "IsFocused",
              "sentence": "_PARAM0_ is focused",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::IsFocused"
                      },
                      "parameters": [
                        "Idle",
                        "ButtonFSM",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the button is currently being pressed with mouse or touch.",
              "fullName": "Is pressed",
              "functionType": "Condition",
              "name": "IsPressed",
              "sentence": "_PARAM0_ is pressed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::ButtonFSM::IsPressed"
                      },
                      "parameters": [
                        "Idle",
                        "ButtonFSM",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the text of the button label.",
              "fullName": "Label text",
              "functionType": "Action",
              "name": "SetLabelText",
              "sentence": "Change the text of _PARAM0_ to _PARAM1_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "TextObject::String"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "GetArgumentAsString(\"LabelText\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::CenterLabel"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                },
                {
                  "description": "Text",
                  "name": "LabelText",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the label text.",
              "fullName": "Label text",
              "functionType": "StringExpression",
              "name": "LabelText",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnString"
                      },
                      "parameters": [
                        "Label.String()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "string"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the label center Y according to the button configuration. This expression is used in doStepPostEvents when the button is pressed or released.",
              "fullName": "",
              "functionType": "Expression",
              "name": "CenterWithPaddingY",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Idle.CenterY() + (Object.PropertyTopPadding() - Object.PropertyBottomPadding()) / 2"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Center the label according to the button configuration. This is used in doStepPostEvents when the button is resized.",
              "fullName": "",
              "functionType": "Action",
              "name": "CenterLabel",
              "private": true,
              "sentence": "Center the label of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreXY"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "Object.PropertyLeftPadding()",
                        "=",
                        "Object.PropertyTopPadding()"
                      ]
                    },
                    {
                      "type": {
                        "value": "TextObject::WrappingWidth"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "Idle.Width() - Object.PropertyLeftPadding() - Object.PropertyRightPadding()"
                      ]
                    },
                    {
                      "type": {
                        "value": "SetCenterY"
                      },
                      "parameters": [
                        "Label",
                        "=",
                        "Object.CenterWithPaddingY()"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "SetCenterX"
                          },
                          "parameters": [
                            "Label",
                            "=",
                            "Background.CenterX() +  (Object.PropertyLeftPadding() - Object.PropertyRightPadding()) / 2"
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PanelSpriteButton::PanelSpriteButton::IsPressed"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreY"
                      },
                      "parameters": [
                        "Label",
                        "+",
                        "Object.PropertyPressedLabelOffsetY()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": [
                {
                  "name": "Background",
                  "objects": [
                    {
                      "name": "Idle"
                    },
                    {
                      "name": "Hovered"
                    },
                    {
                      "name": "Pressed"
                    }
                  ]
                }
              ]
            },
            {
              "description": "De/activate interactions with the button.",
              "fullName": "De/activate interactions",
              "functionType": "Action",
              "name": "Activate",
              "sentence": "Activate interactions with _PARAM0_: _PARAM1_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"ShouldActivate\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ActivateBehavior"
                      },
                      "parameters": [
                        "Idle",
                        "ButtonFSM",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"ShouldActivate\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ActivateBehavior"
                      },
                      "parameters": [
                        "Idle",
                        "ButtonFSM",
                        "no"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                },
                {
                  "description": "Activate",
                  "name": "ShouldActivate",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if interactions are activated on the button.",
              "fullName": "Interactions activated",
              "functionType": "Condition",
              "name": "IsActivated",
              "sentence": "Interactions on _PARAM0_ are activated",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BehaviorActivated"
                      },
                      "parameters": [
                        "Idle",
                        "ButtonFSM"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton",
                  "type": "object"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "0",
              "type": "Number",
              "label": "Label offset on Y axis when pressed",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "PressedLabelOffsetY"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Left padding",
              "description": "",
              "group": "Padding",
              "extraInformation": [
                "Label"
              ],
              "hidden": false,
              "name": "LeftPadding"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Right padding",
              "description": "",
              "group": "Padding",
              "extraInformation": [
                "Label"
              ],
              "hidden": false,
              "name": "RightPadding"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Top padding",
              "description": "",
              "group": "Padding",
              "extraInformation": [
                "Label"
              ],
              "hidden": false,
              "name": "TopPadding"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Bottom padding",
              "description": "",
              "group": "Padding",
              "extraInformation": [
                "Label"
              ],
              "hidden": false,
              "name": "BottomPadding"
            },
            {
              "value": "0.25",
              "type": "Number",
              "label": "Hovered fade out duration (in seconds)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "HoveredFadeOutDuration"
            }
          ],
          "objects": [
            {
              "assetStoreId": "",
              "bold": false,
              "italic": false,
              "name": "Label",
              "smoothed": true,
              "type": "TextObject::Text",
              "underlined": false,
              "variables": [],
              "effects": [],
              "behaviors": [],
              "string": "Text",
              "font": "",
              "textAlignment": "",
              "characterSize": 20,
              "color": {
                "b": 0,
                "g": 0,
                "r": 0
              }
            },
            {
              "assetStoreId": "",
              "bottomMargin": 0,
              "height": 32,
              "leftMargin": 0,
              "name": "Idle",
              "rightMargin": 0,
              "texture": "",
              "tiled": false,
              "topMargin": 0,
              "type": "PanelSpriteObject::PanelSprite",
              "width": 32,
              "variables": [
                {
                  "folded": true,
                  "name": "State",
                  "type": "string",
                  "value": "Idle"
                }
              ],
              "effects": [],
              "behaviors": [
                {
                  "name": "ButtonFSM",
                  "type": "PanelSpriteButton::ButtonFSM",
                  "ShouldCheckHovering": true
                }
              ]
            },
            {
              "assetStoreId": "",
              "bottomMargin": 0,
              "height": 32,
              "leftMargin": 0,
              "name": "Hovered",
              "rightMargin": 0,
              "texture": "",
              "tiled": false,
              "topMargin": 0,
              "type": "PanelSpriteObject::PanelSprite",
              "width": 32,
              "variables": [],
              "effects": [],
              "behaviors": [
                {
                  "name": "Tween",
                  "type": "Tween::TweenBehavior"
                }
              ]
            },
            {
              "assetStoreId": "",
              "bottomMargin": 0,
              "height": 32,
              "leftMargin": 0,
              "name": "Pressed",
              "rightMargin": 0,
              "texture": "",
              "tiled": false,
              "topMargin": 0,
              "type": "PanelSpriteObject::PanelSprite",
              "width": 32,
              "variables": [],
              "effects": [],
              "behaviors": []
            }
          ],
          "objectsFolderStructure": {
            "folderName": "__ROOT",
            "children": [
              {
                "objectName": "Label"
              },
              {
                "objectName": "Idle"
              },
              {
                "objectName": "Hovered"
              },
              {
                "objectName": "Pressed"
              }
            ]
          }
        }
      ]
    },
    {
      "author": "",
      "category": "Movement",
      "extensionNamespace": "",
      "fullName": "Platformer character animator",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGc+DQoJPHBhdGggZD0iTTIzLDExYzIuMiwwLDQtMS44LDQtNHMtMS44LTQtNC00cy00LDEuOC00LDRTMjAuOCwxMSwyMywxMXoiLz4NCgk8cGF0aCBkPSJNMzAuOCwxMi40Yy0wLjMtMC40LTEtMC41LTEuNC0wLjJsLTIuOSwyLjNjLTAuOCwwLjctMiwwLjYtMi43LTAuMmwtNy45LTcuOWMtMS42LTEuNi00LjEtMS42LTUuNywwTDcuMyw5LjMNCgkJYy0wLjQsMC40LTAuNCwxLDAsMS40czEsMC40LDEuNCwwbDIuOC0yLjhjMC44LTAuOCwyLjEtMC44LDIuOSwwbDEuNiwxLjZMMTEuNiwxNGMtMSwxLTEuNCwyLjMtMS4xLDMuN2MwLjIsMS4xLDAuOSwyLDEuOCwyLjYNCgkJbC0xLjYsMS42Yy0wLjQsMC40LTEsMC40LTEuNCwwbC0zLjYtMy42Yy0wLjQtMC40LTEtMC40LTEuNCwwcy0wLjQsMSwwLDEuNGwzLjYsMy42YzAuNiwwLjYsMS4zLDAuOSwyLjEsMC45czEuNi0wLjMsMi4xLTAuOQ0KCQlsMi4xLTIuMWwyLjUsMWMwLjcsMC4zLDEuMiwxLDEuMiwxLjh2NmMwLDAuNiwwLjQsMSwxLDFzMS0wLjQsMS0xdi02YzAtMS42LTEtMy4xLTIuNS0zLjdsLTEuNy0wLjdsNS4yLTUuMmwxLjQsMS40DQoJCWMwLjgsMC44LDEuOCwxLjIsMi45LDEuMmMwLjksMCwxLjgtMC4zLDIuNS0wLjlsMi45LTIuM0MzMS4xLDEzLjQsMzEuMSwxMi44LDMwLjgsMTIuNHoiLz4NCjwvZz4NCjwvc3ZnPg0K",
      "name": "PlatformerCharacterAnimator",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Glyphster Pack/Master/SVG/Sports and Fitness/Sports and Fitness_training_running_run.svg",
      "shortDescription": "Change animations and horizontal flipping of a platformer character automatically.",
      "version": "1.1.0",
      "description": [
        "Automatically change the animations and horizontal flipping of a platformer character based on movement and interaction with platform objects.",
        "",
        "The platformer example uses this extension ([open the project online](https://editor.gdevelop.io/?project=example://platformer))."
      ],
      "origin": {
        "identifier": "PlatformerCharacterAnimator",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "animation",
        "platformer",
        "platform",
        "flip"
      ],
      "authorIds": [
        "gqDaZjCfevOOxBYkK6zlhtZnXCg1"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Change animations and horizontal flipping of a platformer character automatically.",
          "fullName": "Platformer character animator",
          "name": "PlatformerCharacterAnimator",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Flip character based on input from controls",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::PropertyEnableHorizontalFlipping"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior",
                                "\"Left\""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior",
                                "\"Right\""
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Once"
                              },
                              "parameters": []
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "FlippableCapability::FlippableBehavior::FlipX"
                              },
                              "parameters": [
                                "Object",
                                "Flippable",
                                "yes"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior",
                                "\"Right\""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior",
                                "\"Left\""
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Once"
                              },
                              "parameters": []
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "FlippableCapability::FlippableBehavior::FlipX"
                              },
                              "parameters": [
                                "Object",
                                "Flippable",
                                "no"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Change animations",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::PropertyEnableAnimationChanges"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::IsJumping"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Once"
                              },
                              "parameters": []
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AnimatableCapability::AnimatableBehavior::SetName"
                              },
                              "parameters": [
                                "Object",
                                "Animation",
                                "=",
                                "Object.Behavior::PropertyJumpAnimationName()"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::IsFalling"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Once"
                              },
                              "parameters": []
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AnimatableCapability::AnimatableBehavior::SetName"
                              },
                              "parameters": [
                                "Object",
                                "Animation",
                                "=",
                                "Object.Behavior::PropertyFallAnimationName()"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::IsOnFloor"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerBehavior"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::Once"
                                  },
                                  "parameters": []
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AnimatableCapability::AnimatableBehavior::SetName"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Animation",
                                    "=",
                                    "Object.Behavior::PropertyRunAnimationName()"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerBehavior"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::Once"
                                  },
                                  "parameters": []
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AnimatableCapability::AnimatableBehavior::SetName"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Animation",
                                    "=",
                                    "Object.Behavior::PropertyIdleAnimationName()"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::IsOnLadder"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::Once"
                                  },
                                  "parameters": []
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AnimatableCapability::AnimatableBehavior::SetName"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Animation",
                                    "=",
                                    "Object.Behavior::PropertyClimbAnimationName()"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerBehavior"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::Once"
                                  },
                                  "parameters": []
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AnimatableCapability::AnimatableBehavior::PlayAnimation"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Animation"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerBehavior"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::Once"
                                  },
                                  "parameters": []
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AnimatableCapability::AnimatableBehavior::PauseAnimation"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Animation"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "PlatformBehavior::IsOnLadder"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Once"
                              },
                              "parameters": []
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AnimatableCapability::AnimatableBehavior::PlayAnimation"
                              },
                              "parameters": [
                                "Object",
                                "Animation"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onActivate",
              "sentence": "",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Flip character based on input from controls",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::PropertyEnableHorizontalFlipping"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior",
                                "\"Left\""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior",
                                "\"Right\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "FlippableCapability::FlippableBehavior::FlipX"
                              },
                              "parameters": [
                                "Object",
                                "Flip",
                                "yes"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior",
                                "\"Right\""
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior",
                                "\"Left\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "FlippableCapability::FlippableBehavior::FlipX"
                              },
                              "parameters": [
                                "Object",
                                "Flip",
                                "no"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Change animations",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::PropertyEnableAnimationChanges"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::IsJumping"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AnimatableCapability::AnimatableBehavior::SetName"
                              },
                              "parameters": [
                                "Object",
                                "Animation",
                                "=",
                                "Object.Behavior::PropertyJumpAnimationName()"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::IsFalling"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AnimatableCapability::AnimatableBehavior::SetName"
                              },
                              "parameters": [
                                "Object",
                                "Animation",
                                "=",
                                "Object.Behavior::PropertyFallAnimationName()"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::IsOnFloor"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerBehavior"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AnimatableCapability::AnimatableBehavior::SetName"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Animation",
                                    "=",
                                    "Object.Behavior::PropertyRunAnimationName()"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerBehavior"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AnimatableCapability::AnimatableBehavior::SetName"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Animation",
                                    "=",
                                    "Object.Behavior::PropertyIdleAnimationName()"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::IsOnLadder"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AnimatableCapability::AnimatableBehavior::SetName"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Animation",
                                    "=",
                                    "Object.Behavior::PropertyClimbAnimationName()"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerBehavior"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AnimatableCapability::AnimatableBehavior::PlayAnimation"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Animation"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "inverted": true,
                                    "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle"
                                  },
                                  "parameters": [
                                    "Object",
                                    "PlatformerBehavior"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "AnimatableCapability::AnimatableBehavior::PauseAnimation"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Animation"
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "PlatformBehavior::IsOnLadder"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerBehavior"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "AnimatableCapability::AnimatableBehavior::PlayAnimation"
                              },
                              "parameters": [
                                "Object",
                                "Animation"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Enable (or disable) automated animation changes a platformer character. Disabling animation changes is useful to play custom animations.",
              "fullName": "Enable (or disable) automated animation changes",
              "functionType": "Action",
              "name": "EnableChangingAnimations",
              "sentence": "Enable automated animation changes on _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyEnableAnimationChanges"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"EnableAnimationChanges\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyEnableAnimationChanges"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator",
                  "type": "behavior"
                },
                {
                  "defaultValue": "yes",
                  "description": "Change animations automatically",
                  "name": "EnableAnimationChanges",
                  "optional": true,
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Enable (or disable) automated horizontal flipping of a platform character.",
              "fullName": "Enable (or disable) automated horizontal flipping",
              "functionType": "Action",
              "name": "EnableHorizontalFlipping",
              "sentence": "Enable automated horizontal flipping on _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyEnableHorizontalFlipping"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"EnableHorizontalFlipping\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyEnableHorizontalFlipping"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator",
                  "type": "behavior"
                },
                {
                  "defaultValue": "yes",
                  "description": "Enable horizontal flipping",
                  "name": "EnableHorizontalFlipping",
                  "optional": true,
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Set the \"Idle\" animation name. Do not use quotation marks.",
              "fullName": "\"Idle\" animation name",
              "functionType": "Action",
              "group": "Configure animations",
              "name": "SetIdleAnimationName",
              "sentence": "Set \"Idle\" animation of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyIdleAnimationName"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"AnimationName\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator",
                  "type": "behavior"
                },
                {
                  "description": "Animation name",
                  "name": "AnimationName",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Set the \"Move\" animation name. Do not use quotation marks.",
              "fullName": "\"Move\" animation name",
              "functionType": "Action",
              "group": "Configure animations",
              "name": "SetMoveAnimationName",
              "sentence": "Set \"Move\" animation of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyRunAnimationName"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"AnimationName\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator",
                  "type": "behavior"
                },
                {
                  "description": "Animation name",
                  "name": "AnimationName",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Set the \"Jump\" animation name. Do not use quotation marks.",
              "fullName": "\"Jump\" animation name",
              "functionType": "Action",
              "group": "Configure animations",
              "name": "SetJumpAnimationName",
              "sentence": "Set \"Jump\" animation of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyJumpAnimationName"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"AnimationName\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator",
                  "type": "behavior"
                },
                {
                  "description": "Animation name",
                  "name": "AnimationName",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Set the \"Fall\" animation name. Do not use quotation marks.",
              "fullName": "\"Fall\" animation name",
              "functionType": "Action",
              "group": "Configure animations",
              "name": "SetFallAnimationName",
              "sentence": "Set \"Fall\" animation of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyFallAnimationName"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"AnimationName\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator",
                  "type": "behavior"
                },
                {
                  "description": "Animation name",
                  "name": "AnimationName",
                  "type": "string"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Set the \"Climb\" animation name. Do not use quotation marks.",
              "fullName": "\"Climb\" animation name",
              "functionType": "Action",
              "group": "Configure animations",
              "name": "SetClimbAnimationName",
              "sentence": "Set \"Climb\" animation of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyClimbAnimationName"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"AnimationName\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator",
                  "type": "behavior"
                },
                {
                  "description": "Animation name",
                  "name": "AnimationName",
                  "type": "string"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "true",
              "type": "Boolean",
              "label": "Enable animation changes",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "EnableAnimationChanges"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Enable horizontal flipping",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "EnableHorizontalFlipping"
            },
            {
              "value": "Idle",
              "type": "String",
              "label": "\"Idle\" animation name ",
              "description": "",
              "group": "Animation names",
              "extraInformation": [],
              "hidden": false,
              "name": "IdleAnimationName"
            },
            {
              "value": "Run",
              "type": "String",
              "label": "\"Run\" animation name",
              "description": "",
              "group": "Animation names",
              "extraInformation": [],
              "hidden": false,
              "name": "RunAnimationName"
            },
            {
              "value": "Jump",
              "type": "String",
              "label": "\"Jump\" animation name",
              "description": "",
              "group": "Animation names",
              "extraInformation": [],
              "hidden": false,
              "name": "JumpAnimationName"
            },
            {
              "value": "Fall",
              "type": "String",
              "label": "\"Fall\" animation name",
              "description": "",
              "group": "Animation names",
              "extraInformation": [],
              "hidden": false,
              "name": "FallAnimationName"
            },
            {
              "value": "Climb",
              "type": "String",
              "label": "\"Climb\" animation name",
              "description": "",
              "group": "Animation names",
              "extraInformation": [],
              "hidden": false,
              "name": "ClimbAnimationName"
            },
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer character",
              "description": "",
              "group": "",
              "extraInformation": [
                "PlatformBehavior::PlatformerObjectBehavior"
              ],
              "hidden": false,
              "name": "PlatformerBehavior"
            },
            {
              "value": "",
              "type": "Behavior",
              "label": "Animatable capacity",
              "description": "",
              "group": "",
              "extraInformation": [
                "AnimatableCapability::AnimatableBehavior"
              ],
              "hidden": false,
              "name": "Animation"
            },
            {
              "value": "",
              "type": "Behavior",
              "label": "Flippable capacity",
              "description": "",
              "group": "",
              "extraInformation": [
                "FlippableCapability::FlippableBehavior"
              ],
              "hidden": false,
              "name": "Flippable"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)",
      "category": "Movement",
      "extensionNamespace": "",
      "fullName": "Rectangular movement",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==",
      "name": "RectangleMovement",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/shape-rectangle-plus.svg",
      "shortDescription": "Move objects in a rectangular pattern.",
      "version": "1.2.0",
      "description": [
        "Move objects in a rectangular pattern with easing functions from the Tween extension.",
        "",
        "It can be used for:",
        "",
        "- Moveable platforms",
        "- Enemy movement patterns",
        "- Moving along the border of another object (inside, center, outside)",
        "",
        "The platformer example uses this extension ([open the project online](https://editor.gdevelop.io/?project=example://platformer)).",
        "",
        "This game shows how to make objects move around the border of another object ([open the project online](https://editor.gdevelop.io/?project=example://moving-saw-platformer)).",
        "",
        "This example can be used to test different settings ([open the project online](https://editor.gdevelop.io/?project=example://rectangular-movement)).",
        ""
      ],
      "origin": {
        "identifier": "RectangleMovement",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "rectangular",
        "movement",
        "rectangle",
        "patrol",
        "platform",
        "enemy"
      ],
      "authorIds": [
        "wWP8BSlAW0UP4NeaHa2LcmmDzmH2",
        "gqDaZjCfevOOxBYkK6zlhtZnXCg1",
        "IWykYNRvhCZBN3vEgKEbBPOR3Oc2"
      ],
      "dependencies": [],
      "eventsFunctions": [
        {
          "description": "Distance from an object to the closest edge of a second object.",
          "fullName": "Distance from an object to the closest edge of a second object",
          "functionType": "Expression",
          "name": "DistanceToClosestEdge",
          "private": true,
          "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Comment",
              "color": {
                "b": 109,
                "g": 230,
                "r": 255,
                "textB": 0,
                "textG": 0,
                "textR": 0
              },
              "comment": "If point is inside rectangle, just use min distance"
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "CenterX"
                  },
                  "parameters": [
                    "MovingObject",
                    ">=",
                    "CenterObject.BoundingBoxLeft()"
                  ]
                },
                {
                  "type": {
                    "value": "CenterX"
                  },
                  "parameters": [
                    "MovingObject",
                    "<=",
                    "CenterObject.BoundingBoxRight()"
                  ]
                },
                {
                  "type": {
                    "value": "CenterY"
                  },
                  "parameters": [
                    "MovingObject",
                    ">=",
                    "CenterObject.BoundingBoxTop()"
                  ]
                },
                {
                  "type": {
                    "value": "CenterY"
                  },
                  "parameters": [
                    "MovingObject",
                    "<=",
                    "CenterObject.BoundingBoxBottom()"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "min(\nmin(\nMovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop(), \nCenterObject.BoundingBoxBottom() - MovingObject.BoundingBoxCenterY()),\nmin(\nMovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft(), \nCenterObject.BoundingBoxRight() - MovingObject.BoundingBoxCenterX())\n)"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Comment",
              "color": {
                "b": 109,
                "g": 230,
                "r": 255,
                "textB": 0,
                "textG": 0,
                "textR": 0
              },
              "comment": "If point is outside rectangle, find distance to clamped position on rectangle"
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "CenterX"
                      },
                      "parameters": [
                        "MovingObject",
                        "<",
                        "CenterObject.BoundingBoxLeft()"
                      ]
                    },
                    {
                      "type": {
                        "value": "CenterX"
                      },
                      "parameters": [
                        "MovingObject",
                        ">",
                        "CenterObject.BoundingBoxRight()"
                      ]
                    },
                    {
                      "type": {
                        "value": "CenterY"
                      },
                      "parameters": [
                        "MovingObject",
                        "<",
                        "CenterObject.BoundingBoxTop()"
                      ]
                    },
                    {
                      "type": {
                        "value": "CenterY"
                      },
                      "parameters": [
                        "MovingObject",
                        ">",
                        "CenterObject.BoundingBoxBottom()"
                      ]
                    }
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "Center object",
              "name": "CenterObject",
              "type": "objectList"
            },
            {
              "description": "Moving object",
              "name": "MovingObject",
              "type": "objectList"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Update rectangular movement to follow the border of an object. Run once, or every time the center object moves.",
          "fullName": "Update rectangular movement to follow the border of an object",
          "functionType": "Action",
          "name": "MoveAlongBorderOfObject",
          "sentence": "Update rectangular movement of _PARAM1_ to follow the border of _PARAM3_. Position on border: _PARAM4_",
          "events": [
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "name": "Create object link (if one has not been created)",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ObjectVariableAsBoolean"
                      },
                      "parameters": [
                        "MovingObject",
                        "__RectangleMovement.Linked",
                        "False"
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Set a valid initial value by picking any Center object",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::ForEach",
                          "object": "MovingObject",
                          "conditions": [],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "__RectangleMovement.DistanceToClosestEdge",
                                    "=",
                                    "RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject)"
                                  ]
                                }
                              ]
                            },
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "name": "Update value if distance is lower than existing minimum",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::ForEach",
                                  "object": "CenterObject",
                                  "conditions": [],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "ModVarObjet"
                                          },
                                          "parameters": [
                                            "MovingObject",
                                            "__RectangleMovement.DistanceToClosestEdge",
                                            "=",
                                            "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject))"
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "parameters": []
                            },
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "name": "Link objects that have the closest distance",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::ForEach",
                                  "object": "CenterObject",
                                  "conditions": [],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Link the MovingObject that has the shortest distance (and don't create more links even if another object has the same distance)"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "ObjectVariableAsBoolean"
                                          },
                                          "parameters": [
                                            "MovingObject",
                                            "__RectangleMovement.Linked",
                                            "False"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "BuiltinCommonInstructions::CompareNumbers"
                                          },
                                          "parameters": [
                                            "RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject)",
                                            "=",
                                            "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)"
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "LinkedObjects::LinkObjects"
                                          },
                                          "parameters": [
                                            "",
                                            "MovingObject",
                                            "CenterObject"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "SetObjectVariableAsBoolean"
                                          },
                                          "parameters": [
                                            "MovingObject",
                                            "__RectangleMovement.Linked",
                                            "True"
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "parameters": []
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "name": "Update rectangular movement to follow the border of object",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::ForEach",
                  "object": "CenterObject",
                  "conditions": [],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "LinkedObjects::PickObjectsLinkedTo"
                          },
                          "parameters": [
                            "",
                            "MovingObject",
                            "CenterObject",
                            ""
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Inside (default)",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "BuiltinCommonInstructions::Or"
                                  },
                                  "parameters": [],
                                  "subInstructions": [
                                    {
                                      "type": {
                                        "value": "CompareArgumentAsString"
                                      },
                                      "parameters": [
                                        "\"PositionOnBorder\"",
                                        "=",
                                        "\"Inside\""
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "CompareArgumentAsString"
                                      },
                                      "parameters": [
                                        "\"PositionOnBorder\"",
                                        "=",
                                        "\"\""
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetTop"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxTop()",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetBottom"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxBottom() - MovingObject.Height()",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetLeft"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxLeft()",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetRight"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxRight() - MovingObject.Width()",
                                    ""
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Center",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "CompareArgumentAsString"
                                  },
                                  "parameters": [
                                    "\"PositionOnBorder\"",
                                    "=",
                                    "\"Center\""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetTop"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxTop() - MovingObject.Height()/2",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetBottom"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxBottom() - MovingObject.Height()/2",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetLeft"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxLeft() - MovingObject.Width()/2",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetRight"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxRight() - MovingObject.Width()/2",
                                    ""
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "colorB": 228,
                          "colorG": 176,
                          "colorR": 74,
                          "creationTime": 0,
                          "name": "Outside",
                          "source": "",
                          "type": "BuiltinCommonInstructions::Group",
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "CompareArgumentAsString"
                                  },
                                  "parameters": [
                                    "\"PositionOnBorder\"",
                                    "=",
                                    "\"Outside\""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetTop"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxTop() - MovingObject.Height()",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetBottom"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxBottom()",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetLeft"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxLeft() - MovingObject.Width()",
                                    ""
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "RectangleMovement::RectangleMovement::SetRight"
                                  },
                                  "parameters": [
                                    "MovingObject",
                                    "RectangleMovement",
                                    "CenterObject.BoundingBoxRight()",
                                    ""
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            }
          ],
          "parameters": [
            {
              "description": "Moving object",
              "name": "MovingObject",
              "type": "objectList"
            },
            {
              "description": "Rectangle Movement (required)",
              "name": "RectangleMovement",
              "supplementaryInformation": "RectangleMovement::RectangleMovement",
              "type": "behavior"
            },
            {
              "description": "Center object",
              "name": "CenterObject",
              "type": "objectList"
            },
            {
              "description": "Position on border",
              "name": "PositionOnBorder",
              "supplementaryInformation": "[\"Inside\",\"Center\",\"Outside\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Move to the nearest corner of the center object.",
          "fullName": "Move to the nearest corner of the center object",
          "functionType": "Action",
          "name": "MoveToNearestCorner",
          "sentence": "Move _PARAM1_ to the nearest corner of _PARAM3_",
          "events": [
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "name": "Create a link to the closest object",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ObjectVariableAsBoolean"
                      },
                      "parameters": [
                        "MovingObject",
                        "__RectangleMovement.Linked",
                        "False"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::MoveAlongBorderOfObject"
                      },
                      "parameters": [
                        "",
                        "MovingObject",
                        "RectangleMovement",
                        "CenterObject",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            },
            {
              "colorB": 228,
              "colorG": 176,
              "colorR": 74,
              "creationTime": 0,
              "name": "Move to nearest corner",
              "source": "",
              "type": "BuiltinCommonInstructions::Group",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::ForEach",
                  "object": "MovingObject",
                  "conditions": [],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "LinkedObjects::PickObjectsLinkedTo"
                          },
                          "parameters": [
                            "",
                            "CenterObject",
                            "MovingObject",
                            ""
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Distance to TopLeft (don't use a condition on the first check so the variable starts with a valid corner)"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "MovingObject",
                                "__RectangleMovement.ClosestCornerDistance",
                                "=",
                                "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxTop())"
                              ]
                            },
                            {
                              "type": {
                                "value": "RectangleMovement::RectangleMovement::TeleportToCorner"
                              },
                              "parameters": [
                                "MovingObject",
                                "RectangleMovement",
                                "\"Top-left corner\"",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Distance to TopRight"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::CompareNumbers"
                              },
                              "parameters": [
                                "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxRight(), CenterObject.BoundingBoxTop())",
                                "<",
                                "MovingObject.Variable(__RectangleMovement.ClosestCornerDistance)"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "MovingObject",
                                "__RectangleMovement.ClosestCornerDistance",
                                "=",
                                "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxRight(), CenterObject.BoundingBoxTop())"
                              ]
                            },
                            {
                              "type": {
                                "value": "RectangleMovement::RectangleMovement::TeleportToCorner"
                              },
                              "parameters": [
                                "MovingObject",
                                "RectangleMovement",
                                "\"Top-right corner\"",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Distance to BottomLeft"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::CompareNumbers"
                              },
                              "parameters": [
                                "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxBottom())",
                                "<",
                                "MovingObject.Variable(__RectangleMovement.ClosestCornerDistance)"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "MovingObject",
                                "__RectangleMovement.ClosestCornerDistance",
                                "=",
                                "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxBottom())"
                              ]
                            },
                            {
                              "type": {
                                "value": "RectangleMovement::RectangleMovement::TeleportToCorner"
                              },
                              "parameters": [
                                "MovingObject",
                                "RectangleMovement",
                                "\"Bottom-left corner\"",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Distance to BottomRight"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::CompareNumbers"
                              },
                              "parameters": [
                                "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxRight(), CenterObject.BoundingBoxBottom())",
                                "<",
                                "MovingObject.Variable(__RectangleMovement.ClosestCornerDistance)"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "MovingObject",
                                "__RectangleMovement.ClosestCornerDistance",
                                "=",
                                "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxRight(), CenterObject.BoundingBoxBottom())"
                              ]
                            },
                            {
                              "type": {
                                "value": "RectangleMovement::RectangleMovement::TeleportToCorner"
                              },
                              "parameters": [
                                "MovingObject",
                                "RectangleMovement",
                                "\"Bottom-right corner\"",
                                ""
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": []
            }
          ],
          "parameters": [
            {
              "description": "Moving object",
              "name": "MovingObject",
              "type": "objectList"
            },
            {
              "description": "Rectangle Movement (required)",
              "name": "RectangleMovement",
              "supplementaryInformation": "RectangleMovement::RectangleMovement",
              "type": "behavior"
            },
            {
              "description": "Center object",
              "name": "CenterObject",
              "type": "objectList"
            }
          ],
          "objectGroups": []
        }
      ],
      "eventsBasedBehaviors": [
        {
          "description": "Move objects in a rectangular pattern.",
          "fullName": "Rectangular movement",
          "name": "RectangleMovement",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyOldX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.X()"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyOldY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Y()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Set the initial state according to the configuration."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyInitialPosition"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Top-right corner\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::TopRightDuration() / Object.Behavior::LoopDuration()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyInitialPosition"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Bottom-right corner\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::BottomRightDuration() / Object.Behavior::LoopDuration()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyInitialPosition"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Bottom-left corner\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::BottomLeftDuration() / Object.Behavior::LoopDuration()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.X() - Object.Behavior::DeltaX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyTop"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Y() - Object.Behavior::DeltaY()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Update the rectangle when the object is moved outside of the behavior."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "+",
                        "Object.X() - Object.Behavior::PropertyOldX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyTop"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "+",
                        "Object.Y() - Object.Behavior::PropertyOldY()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Move the object on the rectangular path."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreXY"
                      },
                      "parameters": [
                        "Object",
                        "=",
                        "Object.Behavior::PropertyLeft() + Object.Behavior::DeltaX()",
                        "=",
                        "Object.Behavior::PropertyTop() + Object.Behavior::DeltaY()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Save the position to detect when the object is moved outside of the behavior."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyOldX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.X()"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyOldY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Y()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Step on the path."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "mod(Object.Behavior::PropertyProgress() + TimeDelta() / Object.Behavior::LoopDuration(), 1)"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "mod(Object.Behavior::PropertyProgress() - TimeDelta() / Object.Behavior::LoopDuration(), 1)"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Teleport the object to a corner of the movement rectangle.",
              "fullName": "Teleport at a corner",
              "functionType": "Action",
              "name": "TeleportToCorner",
              "sentence": "Set the position of _PARAM0_ at the _PARAM2_ of the rectangle loop",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareStrings"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"Corner\")",
                        "=",
                        "\"Top-left corner\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareStrings"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"Corner\")",
                        "=",
                        "\"Top-right corner\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::TopRightDuration() / Object.Behavior::LoopDuration()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareStrings"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"Corner\")",
                        "=",
                        "\"Bottom-right corner\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::BottomRightDuration() / Object.Behavior::LoopDuration()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareStrings"
                      },
                      "parameters": [
                        "GetArgumentAsString(\"Corner\")",
                        "=",
                        "\"Bottom-left corner\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyProgress"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::BottomLeftDuration() / Object.Behavior::LoopDuration()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                },
                {
                  "description": "Corner",
                  "name": "Corner",
                  "supplementaryInformation": "[\"Top-left corner\",\"Top-right corner\",\"Bottom-left corner\",\"Bottom-right corner\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the perimeter of the movement rectangle.",
              "fullName": "Perimeter",
              "functionType": "Expression",
              "group": "Rectangular movement shape",
              "name": "Perimeter",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "2 * (abs(Object.Behavior::PropertyWidth()) +  abs(Object.Behavior::PropertyHeight()))"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the time the object takes to go through the whole rectangle (in seconds).",
              "fullName": "Loop duration",
              "functionType": "Expression",
              "name": "LoopDuration",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "2 * (Object.Behavior::PropertyHorizontalEdgeDuration() + Object.Behavior::PropertyVerticalEdgeDuration())"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the time the object takes to go through a horizontal edge (in seconds).",
              "fullName": "Horizontal edge duration",
              "functionType": "Expression",
              "name": "HorizontalEdgeDuration",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyHorizontalEdgeDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the time the object takes to go through a vertical edge (in seconds).",
              "fullName": "Vertical edge duration",
              "functionType": "Expression",
              "name": "VerticalEdgeDuration",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyVerticalEdgeDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the rectangle width.",
              "fullName": "Width",
              "functionType": "Expression",
              "group": "Rectangular movement/Shape",
              "name": "Width",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyWidth()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the rectangle height.",
              "fullName": "Height",
              "functionType": "Expression",
              "group": "Rectangular movement/Shape",
              "name": "Height",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyHeight()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the left bound of the movement.",
              "fullName": "Left bound",
              "functionType": "Expression",
              "group": "Rectangular movement/Shape",
              "name": "Left",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyLeft()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the top bound of the movement.",
              "fullName": "Top bound",
              "functionType": "Expression",
              "group": "Rectangular movement/Shape",
              "name": "Top",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyTop()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the right bound of the movement.",
              "fullName": "Right bound",
              "functionType": "Expression",
              "group": "Rectangular movement/Shape",
              "name": "Right",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyLeft() + Object.Behavior::PropertyWidth()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the bottom bound of the movement.",
              "fullName": "Bottom bound",
              "functionType": "Expression",
              "group": "Rectangular movement/Shape",
              "name": "Bottom",
              "sentence": "Set initial Y of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyTop() + Object.Behavior::PropertyHeight()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the left bound of the rectangular movement.",
              "fullName": "Left bound",
              "functionType": "Action",
              "group": "Rectangular movement shape",
              "name": "SetLeft",
              "sentence": "Change the movement left bound of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyWidth"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "+",
                        "Object.Behavior::PropertyLeft() - GetArgumentAsNumber(\"Value\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                },
                {
                  "description": "Value",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the top bound of the rectangular movement.",
              "fullName": "Top bound",
              "functionType": "Action",
              "group": "Rectangular movement shape",
              "name": "SetTop",
              "sentence": "Change the movement top bound of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyHeight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "+",
                        "Object.Behavior::PropertyTop() - GetArgumentAsNumber(\"Value\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyTop"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                },
                {
                  "description": "Value",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the right bound of the rectangular movement.",
              "fullName": "Right bound",
              "functionType": "Action",
              "group": "Rectangular movement shape",
              "name": "SetRight",
              "sentence": "Change the movement right bound of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyWidth"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\") - Object.Behavior::PropertyLeft()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                },
                {
                  "description": "Value",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the bottom bound of the rectangular movement.",
              "fullName": "Bottom bound",
              "functionType": "Action",
              "group": "Rectangular movement shape",
              "name": "SetBottom",
              "sentence": "Change the movement bottom bound of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyHeight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\") - Object.Behavior::PropertyTop()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                },
                {
                  "description": "Value",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the time the object takes to go through a horizontal edge (in seconds).",
              "fullName": "Horizontal edge duration",
              "functionType": "Action",
              "group": "Rectangular movement speed",
              "name": "SetHorizontalEdgeDuration",
              "sentence": "Change the time _PARAM0_ takes to go through a horizontal edge to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyHorizontalEdgeDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                },
                {
                  "description": "Value",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the time the object takes to go through a vertical edge (in seconds).",
              "fullName": "Vertical edge duration",
              "functionType": "Action",
              "group": "Rectangular movement speed",
              "name": "SetVerticalEdgeDuration",
              "sentence": "Change the time _PARAM0_ takes to go through a vertical edge to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyVerticalEdgeDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                },
                {
                  "description": "Value",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the direction to clockwise or counter-clockwise.",
              "fullName": "Clockwise",
              "functionType": "Action",
              "group": "Rectangular movement speed",
              "name": "SetClockwise",
              "sentence": "Use clockwise direction for _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"Value\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"Value\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                },
                {
                  "description": "Clockwise",
                  "name": "Value",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the easing function of the movement.",
              "fullName": "Easing",
              "functionType": "Action",
              "group": "Rectangular movement speed",
              "name": "SetEasing",
              "sentence": "Change the easing of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyEasing"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                },
                {
                  "description": "Easing",
                  "name": "Easing",
                  "supplementaryInformation": "[\"linear\",\"easeInQuad\",\"easeOutQuad\",\"easeInOutQuad\",\"easeInCubic\",\"easeOutCubic\",\"easeInOutCubic\",\"easeInQuart\",\"easeOutQuart\",\"easeInOutQuart\",\"easeInQuint\",\"easeOutQuint\",\"easeInOutQuint\",\"easeInOutSine\",\"easeInExpo\",\"easeOutExpo\",\"easeInOutExpo\",\"easeInCirc\",\"easeOutCirc\",\"easeInOutCirc\",\"easeOutBounce\",\"easeInBack\",\"easeOutBack\",\"easeInOutBack\",\"elastic\",\"swingFromTo\",\"swingFrom\",\"swingTo\",\"bounce\",\"bouncePast\",\"easeFromTo\",\"easeFrom\",\"easeTo\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Toggle the direction to clockwise or counter-clockwise.",
              "fullName": "Toggle direction",
              "functionType": "Action",
              "name": "ToogleClockwise",
              "sentence": "Toogle the direction of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyToogleClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyToogleClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "="
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyToogleClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "RectangleMovement::RectangleMovement::PropertyToogleClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object is moving clockwise.",
              "fullName": "Is moving clockwise",
              "functionType": "Condition",
              "name": "IsMovingClockwise",
              "sentence": "_PARAM0_ is moving clockwise",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object is moving to the left.",
              "fullName": "Is moving left",
              "functionType": "Condition",
              "name": "IsMovingLeft",
              "sentence": "_PARAM0_ is moving to the left",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::IsOnTop"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::IsOnBottom"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object is moving up.",
              "fullName": "Is moving up",
              "functionType": "Condition",
              "name": "IsMovingUp",
              "sentence": "_PARAM0_ is moving up",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::IsOnLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::IsOnRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Object is moving to the right.",
              "fullName": "Is moving right",
              "functionType": "Condition",
              "name": "IsMovingRight",
              "sentence": "_PARAM0_ is moving to the right",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::IsOnTop"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::IsOnBottom"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the object is moving down.",
              "fullName": "Is moving down",
              "functionType": "Condition",
              "name": "IsMovingDown",
              "sentence": "_PARAM0_ is moving down",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::IsOnRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "RectangleMovement::RectangleMovement::PropertyClockwise"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    },
                    {
                      "type": {
                        "value": "RectangleMovement::RectangleMovement::IsOnLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Object is on the left side of the rectangle.",
              "fullName": "Is on left",
              "functionType": "Condition",
              "name": "IsOnLeft",
              "sentence": "_PARAM0_ is on the left side",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        ">=",
                        "Object.Behavior::BottomLeftDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Object is on the top side of the rectangle.",
              "fullName": "Is on top",
              "functionType": "Condition",
              "name": "IsOnTop",
              "sentence": "_PARAM0_ is on the top side",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        "<=",
                        "Object.Behavior::TopRightDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Object is on the right side of the rectangle.",
              "fullName": "Is on right",
              "functionType": "Condition",
              "name": "IsOnRight",
              "sentence": "_PARAM0_ is on the right side",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        ">=",
                        "Object.Behavior::TopRightDuration()"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        "<=",
                        "Object.Behavior::BottomRightDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Object is on the bottom side of the rectangle.",
              "fullName": "Is on bottom",
              "functionType": "Condition",
              "name": "IsOnBottom",
              "sentence": "_PARAM0_ is on the bottom side",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        ">=",
                        "Object.Behavior::BottomRightDuration()"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        "<=",
                        "Object.Behavior::BottomLeftDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the duration between the top-left vertex and the top-right one.",
              "fullName": "Duration to top right",
              "functionType": "Expression",
              "name": "TopRightDuration",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyHorizontalEdgeDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the duration between the top-left vertex and the bottom-right one.",
              "fullName": "Duration to bottom right",
              "functionType": "Expression",
              "name": "BottomRightDuration",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyHorizontalEdgeDuration() + Object.Behavior::PropertyVerticalEdgeDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the duration between the top-left vertex and the bottom-left one.",
              "fullName": "Duration to bottom left",
              "functionType": "Expression",
              "name": "BottomLeftDuration",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "2 * Object.Behavior::PropertyHorizontalEdgeDuration() + Object.Behavior::PropertyVerticalEdgeDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the ratio between the covered distance from the last vertex and the edge length (between 0 and 1).",
              "fullName": "Progress on edge",
              "functionType": "Expression",
              "name": "EdgeProgress",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::HalfCurrentTime() / Object.Behavior::PropertyHorizontalEdgeDuration()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::HalfCurrentTime()",
                        ">=",
                        "abs(Object.Behavior::PropertyHorizontalEdgeDuration())"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "(Object.Behavior::HalfCurrentTime() - Object.Behavior::PropertyHorizontalEdgeDuration()) / Object.Behavior::PropertyVerticalEdgeDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the X position of the current edge origin.",
              "fullName": "Edge origin X",
              "functionType": "Expression",
              "name": "EdgeOriginX",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        ">=",
                        "Object.Behavior::TopRightDuration()"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        "<",
                        "Object.Behavior::BottomLeftDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyWidth()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the Y position of the current edge origin.",
              "fullName": "Edge origin Y",
              "functionType": "Expression",
              "name": "EdgeOriginY",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        ">=",
                        "Object.Behavior::BottomRightDuration()"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        "<",
                        "Object.Behavior::Perimeter()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyHeight()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the X position of the current edge target.",
              "fullName": "Edge target X",
              "functionType": "Expression",
              "name": "EdgeTargetY",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        ">=",
                        "Object.Behavior::TopRightDuration()"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        "<",
                        "Object.Behavior::BottomLeftDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyHeight()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the Y position of the current edge target.",
              "fullName": "Edge target Y",
              "functionType": "Expression",
              "name": "EdgeTargetX",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::CompareNumbers"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentTime()",
                        "<",
                        "Object.Behavior::BottomRightDuration()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyWidth()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the time from the top-left vertex.",
              "fullName": "Current time",
              "functionType": "Expression",
              "name": "CurrentTime",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyProgress() * Object.Behavior::LoopDuration()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the covered length from the top-left vertex or the bottom-right one.",
              "fullName": "Half Current length",
              "functionType": "Expression",
              "name": "HalfCurrentTime",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object. Behavior::LoopDuration() * mod(Object.Behavior::PropertyProgress(), 0.5)"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the displacement on the X axis from the top-left vertex.",
              "fullName": "Delta X",
              "functionType": "Expression",
              "name": "DeltaX",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Tween::Ease(Object.Behavior::PropertyEasing(), Object.Behavior::EdgeOriginX(), Object.Behavior::EdgeTargetX(), Object.Behavior::EdgeProgress())"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the displacement on the Y axis from the top-left vertex.",
              "fullName": "Delta Y",
              "functionType": "Expression",
              "name": "DeltaY",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Tween::Ease(Object.Behavior::PropertyEasing(), Object.Behavior::EdgeOriginY(), Object.Behavior::EdgeTargetY(), Object.Behavior::EdgeProgress())"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "RectangleMovement::RectangleMovement",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "100",
              "type": "Number",
              "unit": "Pixel",
              "label": "Width",
              "description": "",
              "group": "Dimension",
              "extraInformation": [],
              "hidden": false,
              "name": "Width"
            },
            {
              "value": "100",
              "type": "Number",
              "unit": "Pixel",
              "label": "Height",
              "description": "",
              "group": "Dimension",
              "extraInformation": [],
              "hidden": false,
              "name": "Height"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Clockwise",
              "description": "",
              "group": "Speed",
              "extraInformation": [],
              "hidden": false,
              "name": "Clockwise"
            },
            {
              "value": "4",
              "type": "Number",
              "unit": "Second",
              "label": "Horizontal edge duration",
              "description": "",
              "group": "Speed",
              "extraInformation": [],
              "hidden": false,
              "name": "HorizontalEdgeDuration"
            },
            {
              "value": "1",
              "type": "Number",
              "unit": "Second",
              "label": "Vertical edge duration",
              "description": "",
              "group": "Speed",
              "extraInformation": [],
              "hidden": false,
              "name": "VerticalEdgeDuration"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "Left"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "Top"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "Progress"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "OldX"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "OldY"
            },
            {
              "value": "easeInOutSine",
              "type": "Choice",
              "label": "Easing",
              "description": "",
              "group": "Speed",
              "extraInformation": [
                "linear",
                "easeInQuad",
                "easeOutQuad",
                "easeInOutQuad",
                "easeInCubic",
                "easeOutCubic",
                "easeInOutCubic",
                "easeInQuart",
                "easeOutQuart",
                "easeInOutQuart",
                "easeInQuint",
                "easeOutQuint",
                "easeInOutQuint",
                "easeInOutSine",
                "easeInExpo",
                "easeOutExpo",
                "easeInOutExpo",
                "easeInCirc",
                "easeOutCirc",
                "easeInOutCirc",
                "easeOutBounce",
                "easeInBack",
                "easeOutBack",
                "easeInOutBack",
                "elastic",
                "swingFromTo",
                "swingFrom",
                "swingTo",
                "bounce",
                "bouncePast",
                "easeFromTo",
                "easeFrom",
                "easeTo"
              ],
              "hidden": false,
              "name": "Easing"
            },
            {
              "value": "Top-left corner",
              "type": "Choice",
              "label": "Initial position",
              "description": "",
              "group": "",
              "extraInformation": [
                "Top-left corner",
                "Top-right corner",
                "Bottom-right corner",
                "Bottom-left corner"
              ],
              "hidden": false,
              "name": "InitialPosition"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ToogleClockwise"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "",
      "category": "Camera",
      "extensionNamespace": "",
      "fullName": "Smooth Camera",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCjwvc3R5bGU+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQsMTNoLTZjLTEuMSwwLTItMC45LTItMlY1YzAtMS4xLDAuOS0yLDItMmg2YzEuMSwwLDIsMC45LDIsMnY2QzI2LDEyLjEsMjUuMSwxMywyNCwxM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNiw4djEwYzAsMS4xLTAuOSwyLTIsMkg4Yy0xLjEsMC0yLTAuOS0yLTJWOGMwLTEuMSwwLjktMiwyLTJoOCIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjEiIGN5PSI4IiByPSIyIi8+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSIxMSIgY3k9IjE2IiByPSIxIi8+DQo8cmVjdCB4PSI5IiB5PSI5IiBjbGFzcz0ic3QwIiB3aWR0aD0iNCIgaGVpZ2h0PSIzIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIyMSwyOSAyMSwyOSAxMSwyOSAxMSwyOSAiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE4LDIwIDE4LDI5IDE0LDI5IDE0LDIwICIvPg0KPHJlY3QgeD0iNyIgeT0iMyIgY2xhc3M9InN0MCIgd2lkdGg9IjQiIGhlaWdodD0iMyIvPg0KPC9zdmc+DQo=",
      "name": "SmoothCamera",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Computers and Hardware/Computers and Hardware_camcoder_gopro_go_pro_camera.svg",
      "shortDescription": "Smoothly scroll to follow an object.",
      "version": "0.3.0",
      "description": [
        "The camera follows an object according to:",
        "- a frame rate independent catch-up speed to make the scrolling from smooth to strong",
        "- a maximum speed to do linear following ([open the project online](https://editor.gdevelop.io/?project=example://platformer-with-tilemap)) or slow down the camera when teleporting the object",
        "- a follow-free zone to avoid scrolling on small movements",
        "- an offset to see further in one direction",
        "- an extra delay and catch-up speed to give an impression of speed (useful for dash)",
        "- position forecasting and delay to simulate a cameraman response time",
        "",
        "A platformer dedicated behavior allows to switch of settings when the character is in air or on the floor. This can be used to stabilize the camera when jumping."
      ],
      "origin": {
        "identifier": "SmoothCamera",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "camera",
        "scrolling",
        "follow",
        "smooth"
      ],
      "authorIds": [
        "IWykYNRvhCZBN3vEgKEbBPOR3Oc2"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Smoothly scroll to follow an object.",
          "fullName": "Smooth Camera",
          "name": "SmoothCamera",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Update private properties through setters to check their values and initialize state."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetLeftwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyLeftwardSpeed()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetRightwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyRightwardSpeed()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetUpwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyUpwardSpeed()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetDownwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyDownwardSpeed()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetLeftwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyLeftwardSpeedMax()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetRightwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyRightwardSpeedMax()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetUpwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyUpwardSpeedMax()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetDownwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyDownwardSpeedMax()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaLeft"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyFollowFreeAreaLeft()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaRight"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyFollowFreeAreaRight()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaTop"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyFollowFreeAreaTop()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaBottom"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "Object.Behavior::PropertyFollowFreeAreaBottom()",
                        "log(1 - )"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelay"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyCameraDelay()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "SmoothCamera::SmoothCamera::PropertyIsCalledManually"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::DoMoveCameraCloser"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Move the camera closer to the object. This action must be called after the object has moved for the frame.",
              "fullName": "Move the camera closer",
              "functionType": "Action",
              "name": "MoveCameraCloser",
              "sentence": "Move the camera closer to _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "The camera following is called with an action, the call from doStepPreEvents must be disabled to avoid to do it twice."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyIsCalledManually"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::DoMoveCameraCloser"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Move the camera closer to the object.",
              "fullName": "Do move the camera closer",
              "functionType": "Action",
              "name": "DoMoveCameraCloser",
              "private": true,
              "sentence": "Do move the camera closer _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Delaying and forecasting can be used at the same time.\nForecasting only use the positions that are older than the one used for delaying.\nThe behavior uses a position history that is split in 2 arrays:\n- one for delaying the position (from TimeFromStart to TimeFromStart - CamearDelay)\n- one for forecasting the position (from TimeFromStart - CamearDelay to TimeFromStart - CamearDelay - ForecastHistoryDuration"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::UpdateDelayedPosition"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::UpdateForecastedPosition"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "At each frame, the camera must catchup the target by a given ratio (speed)\ncameraX(t) - targetX = (cameraX(t - 1) - targetX) * speed\n\nThe frame rate must not impact on the catch-up speed, we don't want a speed in ratio per frame but a speed ratio per second, like this:\ncameraX(t) - targetX = (cameraX(t - 1s) - targetX) * speed\n\nOk, but we still need to process each frame, we can use a exponent for this:\ncameraX(t) - targetX = (cameraX(t - timeDelta) - targetX) * speed^timeDelta\ncameraX(t) = targetX + (cameraX(t - timeDelta) - targetX) * exp(timeDelta * ln(speed))\n\npow is probably more efficient than precalculated log if the speed is changed continuously but this might be rare enough."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::PropertyFollowOnX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyOldX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "CameraX(Object.Layer(), 0)"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CameraX"
                          },
                          "parameters": [
                            "",
                            ">",
                            "Object.Behavior::FreeAreaRight()",
                            "Object.Layer()",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetCameraX"
                          },
                          "parameters": [
                            "",
                            "=",
                            "Object.Behavior::FreeAreaRight()\n+ (CameraX(Object.Layer(), 0) - Object.Behavior::FreeAreaRight())\n* exp(TimeDelta() * Object.Behavior::PropertyLogLeftwardSpeed())",
                            "Object.Layer()",
                            "0"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CameraX"
                              },
                              "parameters": [
                                "",
                                "<",
                                "Object.Behavior::PropertyOldX() - Object.Behavior::PropertyLeftwardSpeedMax() * TimeDelta()",
                                "Object.Layer()",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SetCameraX"
                              },
                              "parameters": [
                                "",
                                "=",
                                "Object.Behavior::PropertyOldX() - Object.Behavior::PropertyLeftwardSpeedMax() * TimeDelta()",
                                "Object.Layer()",
                                "0"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CameraX"
                          },
                          "parameters": [
                            "",
                            "<",
                            "Object.Behavior::FreeAreaLeft()",
                            "Object.Layer()",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetCameraX"
                          },
                          "parameters": [
                            "",
                            "=",
                            "Object.Behavior::FreeAreaLeft()\n+ (CameraX(Object.Layer(), 0) - Object.Behavior::FreeAreaLeft())\n* exp(TimeDelta() * Object.Behavior::PropertyLogRightwardSpeed())",
                            "Object.Layer()",
                            "0"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CameraX"
                              },
                              "parameters": [
                                "",
                                ">",
                                "Object.Behavior::PropertyOldX() + Object.Behavior::PropertyRightwardSpeedMax() * TimeDelta()",
                                "Object.Layer()",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SetCameraX"
                              },
                              "parameters": [
                                "",
                                "=",
                                "Object.Behavior::PropertyOldX() + Object.Behavior::PropertyRightwardSpeedMax() * TimeDelta()",
                                "Object.Layer()",
                                "0"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::PropertyFollowOnY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyOldY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "CameraY(Object.Layer(), 0)"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CameraY"
                          },
                          "parameters": [
                            "",
                            ">",
                            "Object.Behavior::FreeAreaBottom()",
                            "Object.Layer()",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetCameraY"
                          },
                          "parameters": [
                            "",
                            "=",
                            "Object.Behavior::FreeAreaBottom()\n+ (CameraY(Object.Layer(), 0) - Object.Behavior::FreeAreaBottom())\n* exp(TimeDelta() * Object.Behavior::PropertyLogUpwardSpeed())",
                            "Object.Layer()",
                            "0"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CameraY"
                              },
                              "parameters": [
                                "",
                                "<",
                                "Object.Behavior::PropertyOldY() - Object.Behavior::PropertyUpwardSpeedMax() * TimeDelta()",
                                "Object.Layer()",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SetCameraY"
                              },
                              "parameters": [
                                "",
                                "=",
                                "Object.Behavior::PropertyOldY() - Object.Behavior::PropertyUpwardSpeedMax() * TimeDelta()",
                                "Object.Layer()",
                                "0"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "CameraY"
                          },
                          "parameters": [
                            "",
                            "<",
                            "Object.Behavior::FreeAreaTop()",
                            "Object.Layer()",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetCameraY"
                          },
                          "parameters": [
                            "",
                            "=",
                            "Object.Behavior::FreeAreaTop()\n+ (CameraY(Object.Layer(), 0) - Object.Behavior::FreeAreaTop())\n* exp(TimeDelta() * Object.Behavior::PropertyLogDownwardSpeed())",
                            "Object.Layer()",
                            "0"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CameraY"
                              },
                              "parameters": [
                                "",
                                ">",
                                "Object.Behavior::PropertyOldY() + Object.Behavior::PropertyDownwardSpeedMax() * TimeDelta()",
                                "Object.Layer()",
                                "0"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SetCameraY"
                              },
                              "parameters": [
                                "",
                                "=",
                                "Object.Behavior::PropertyOldY() + Object.Behavior::PropertyDownwardSpeedMax() * TimeDelta()",
                                "Object.Layer()",
                                "0"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Delay the camera according to a maximum speed and catch up the delay.",
              "fullName": "Wait and catch up",
              "functionType": "Action",
              "name": "WaitAndCatchUp",
              "sentence": "Delay the camera of _PARAM0_ during: _PARAM2_ seconds according to the maximum speed _PARAM3_;_PARAM4_ seconds and catch up in _PARAM5_ seconds",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Maybe the catch-up show be done in constant pixel speed instead of constant time speed."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyWaitingEnd"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "TimeFromStart() + GetArgumentAsNumber(\"WaitingDuration\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyWaitingSpeedXMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"WaitingSpeedXMax\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyWaitingSpeedYMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"WaitingSpeedYMax\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelayCatchUpDuration"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"CatchUpDuration\")"
                      ]
                    }
                  ]
                },
                {
                  "disabled": true,
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "DebuggerTools::ConsoleLog"
                      },
                      "parameters": [
                        "\"Wait and catch up\"",
                        "\"info\"",
                        "\"SmoothCamera\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Waiting duration (in seconds)",
                  "name": "WaitingDuration",
                  "type": "expression"
                },
                {
                  "description": "Waiting maximum camera target speed X",
                  "name": "WaitingSpeedXMax",
                  "type": "expression"
                },
                {
                  "description": "Waiting maximum camera target speed Y",
                  "name": "WaitingSpeedYMax",
                  "type": "expression"
                },
                {
                  "description": "Catch up duration (in seconds)",
                  "name": "CatchUpDuration",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Draw the targeted and actual camera position.",
              "fullName": "Draw debug",
              "functionType": "Action",
              "name": "DrawDebug",
              "sentence": "Draw targeted and actual camera position for _PARAM0_ on _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "PrimitiveDrawing::FillOpacity"
                      },
                      "parameters": [
                        "ShapePainter",
                        "=",
                        "0"
                      ]
                    }
                  ]
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Path used by the forecasting",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Egal"
                          },
                          "parameters": [
                            "Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime)",
                            ">",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SmoothCamera::SmoothCamera::SetPropertyIndex"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "PrimitiveDrawing::OutlineColor"
                          },
                          "parameters": [
                            "ShapePainter",
                            "\"245;166;35\""
                          ]
                        },
                        {
                          "type": {
                            "value": "PrimitiveDrawing::BeginFillPath"
                          },
                          "parameters": [
                            "ShapePainter",
                            "Object.Variable(__SmoothCamera.ForecastHistoryX[0])",
                            "Object.Variable(__SmoothCamera.ForecastHistoryY[0])"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Repeat",
                          "repeatExpression": "Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "PrimitiveDrawing::PathLineTo"
                              },
                              "parameters": [
                                "ShapePainter",
                                "Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()])",
                                "Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()])"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyIndex"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "1"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "PrimitiveDrawing::EndFillPath"
                              },
                              "parameters": [
                                "ShapePainter"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Follow-free area.",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaLeft"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "!=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaRight"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "!=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaTop"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "!=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaBottom"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "!=",
                                "0"
                              ]
                            }
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PrimitiveDrawing::OutlineColor"
                          },
                          "parameters": [
                            "ShapePainter",
                            "\"126;211;33\""
                          ]
                        },
                        {
                          "type": {
                            "value": "PrimitiveDrawing::Rectangle"
                          },
                          "parameters": [
                            "ShapePainter",
                            "Object.Behavior::FreeAreaLeft() - 1",
                            "Object.Behavior::FreeAreaTop() - 1",
                            "Object.Behavior::FreeAreaRight() + 1",
                            "Object.Behavior::FreeAreaBottom() + 1"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Linear regression vector used by the forecasting.",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "PrimitiveDrawing::OutlineColor"
                          },
                          "parameters": [
                            "ShapePainter",
                            "\"208;2;27\""
                          ]
                        },
                        {
                          "type": {
                            "value": "PrimitiveDrawing::LineV2"
                          },
                          "parameters": [
                            "ShapePainter",
                            "Object.Behavior::PropertyProjectedOldestX()",
                            "Object.Behavior::PropertyProjectedOldestY()",
                            "Object.Behavior::PropertyProjectedNewestX()",
                            "Object.Behavior::PropertyProjectedNewestY()",
                            "1"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Targeted and actual camera position",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "PrimitiveDrawing::Circle"
                          },
                          "parameters": [
                            "ShapePainter",
                            "Object.Behavior::PropertyForecastedX()",
                            "Object.Behavior::PropertyForecastedY()",
                            "3"
                          ]
                        },
                        {
                          "type": {
                            "value": "PrimitiveDrawing::LineV2"
                          },
                          "parameters": [
                            "ShapePainter",
                            "CameraX(Object.Layer(), 0)",
                            "CameraY(Object.Layer(), 0) - 4",
                            "CameraX(Object.Layer(), 0)",
                            "CameraY(Object.Layer(), 0) + 4",
                            "1"
                          ]
                        },
                        {
                          "type": {
                            "value": "PrimitiveDrawing::LineV2"
                          },
                          "parameters": [
                            "ShapePainter",
                            "CameraX(Object.Layer(), 0) - 4",
                            "CameraY(Object.Layer(), 0)",
                            "CameraX(Object.Layer(), 0) + 4",
                            "CameraY(Object.Layer(), 0)",
                            "1"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Shape painter",
                  "name": "ShapePainter",
                  "supplementaryInformation": "PrimitiveDrawing::Drawer",
                  "type": "objectList"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Enable or disable the following on X axis.",
              "fullName": "Follow on X",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetFollowOnX",
              "sentence": "The camera follows _PARAM0_ on X axis: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"FollowOnX\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Follow on X axis",
                  "name": "FollowOnX",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Enable or disable the following on Y axis.",
              "fullName": "Follow on Y",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetFollowOnY",
              "sentence": "The camera follows _PARAM0_ on Y axis: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"FollowOnY\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Follow on Y axis",
                  "name": "FollowOnY",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera follow free area right border.",
              "fullName": "Follow free area right border",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetFollowFreeAreaRight",
              "sentence": "Change the camera follow free area right border of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "max(0, GetArgumentAsNumber(\"SetFollowFreeAreaRight\"))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Follow free area right border",
                  "name": "SetFollowFreeAreaRight",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera follow free area left border.",
              "fullName": "Follow free area left border",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetFollowFreeAreaLeft",
              "sentence": "Change the camera follow free area left border of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "max(0, GetArgumentAsNumber(\"SetFollowFreeAreaLeft\"))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Follow free area left border",
                  "name": "SetFollowFreeAreaLeft",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera follow free area top border.",
              "fullName": "Follow free area top border",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetFollowFreeAreaTop",
              "sentence": "Change the camera follow free area top border of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "max(0, GetArgumentAsNumber(\"FollowFreeAreaTop\"))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Follow free area top border",
                  "name": "FollowFreeAreaTop",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera follow free area bottom border.",
              "fullName": "Follow free area bottom border",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetFollowFreeAreaBottom",
              "sentence": "Change the camera follow free area bottom border of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaBottom"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "max(0, GetArgumentAsNumber(\"SetFollowFreeAreaBottom\"))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Follow free area bottom border",
                  "name": "SetFollowFreeAreaBottom",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera leftward maximum speed (in pixels per second).",
              "fullName": "Leftward maximum speed",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetLeftwardSpeedMax",
              "sentence": "Change the camera leftward maximum speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "max(0, GetArgumentAsNumber(\"Speed\"))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Leftward maximum speed (in ratio per second)",
                  "name": "Speed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera rightward maximum speed (in pixels per second).",
              "fullName": "Rightward maximum speed",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetRightwardSpeedMax",
              "sentence": "Change the camera rightward maximum speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "max(0, GetArgumentAsNumber(\"Speed\"))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Rightward maximum speed (in pixels per second)",
                  "name": "Speed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera upward maximum speed (in pixels per second).",
              "fullName": "Upward maximum speed",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetUpwardSpeedMax",
              "sentence": "Change the camera upward maximum speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyUpwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "max(0, GetArgumentAsNumber(\"Speed\"))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Upward maximum speed (in pixels per second)",
                  "name": "Speed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera downward maximum speed (in pixels per second).",
              "fullName": "Downward maximum speed",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetDownwardSpeedMax",
              "sentence": "Change the camera downward maximum speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyDownwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "max(0, GetArgumentAsNumber(\"Speed\"))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Downward maximum speed (in pixels per second)",
                  "name": "Speed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera leftward catch-up speed (in ratio per second).",
              "fullName": "Leftward catch-up speed",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetLeftwardSpeed",
              "sentence": "Change the camera leftward catch-up speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "clamp(0, 1, GetArgumentAsNumber(\"LeftwardSpeed\"))"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyLogLeftwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "log(1 - Object.Behavior::PropertyLeftwardSpeed())"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Leftward catch-up speed (in ratio per second)",
                  "name": "LeftwardSpeed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera rightward catch-up speed (in ratio per second).",
              "fullName": "Rightward catch-up speed",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetRightwardSpeed",
              "sentence": "Change the camera rightward catch-up speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyRightwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "clamp(0, 1, GetArgumentAsNumber(\"RightwardSpeed\"))"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyLogRightwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "log(1 - Object.Behavior::PropertyRightwardSpeed())"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Rightward catch-up speed (in ratio per second)",
                  "name": "RightwardSpeed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera downward catch-up speed (in ratio per second).",
              "fullName": "Downward catch-up speed",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetDownwardSpeed",
              "sentence": "Change the camera downward catch-up speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyDownwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "clamp(0, 1, GetArgumentAsNumber(\"DownwardSpeed\"))"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyLogDownwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "log(1 - Object.Behavior::PropertyDownwardSpeed())"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Downward catch-up speed (in ratio per second)",
                  "name": "DownwardSpeed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera upward catch-up speed (in ratio per second).",
              "fullName": "Upward catch-up speed",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetUpwardSpeed",
              "sentence": "Change the camera upward catch-up speed of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyUpwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "clamp(0, 1, GetArgumentAsNumber(\"UpwardSpeed\"))"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyLogUpwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "log(1 - Object.Behavior::PropertyUpwardSpeed())"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Upward catch-up speed (in ratio per second)",
                  "name": "UpwardSpeed",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the camera offset on X axis of the object. This is not the current difference between the object and the camera position.",
              "fullName": "Camera offset X",
              "functionType": "ExpressionAndCondition",
              "group": "Camera configuration",
              "name": "OffsetX",
              "sentence": "the camera offset on X axis",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyCameraOffsetX()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "OffsetX",
              "name": "SetOffsetXOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyCameraOffsetX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera offset on X axis of an object.",
              "fullName": "Camera Offset X",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetOffsetX",
              "private": true,
              "sentence": "Change the camera offset on X axis of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Deprecated use SetOffsetXOp instead."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetOffsetXOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"CameraOffsetX\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Camera offset X",
                  "name": "CameraOffsetX",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the camera offset on Y axis of the object. This is not the current difference between the object and the camera position.",
              "fullName": "Camera offset Y",
              "functionType": "ExpressionAndCondition",
              "group": "Camera configuration",
              "name": "OffsetY",
              "sentence": "the camera offset on Y axis",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyCameraOffsetY()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "OffsetY",
              "name": "SetOffsetYOp",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Deprecated use SetOffsetYOp instead."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyCameraOffsetY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera offset on Y axis of an object.",
              "fullName": "Camera Offset Y",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetOffsetY",
              "private": true,
              "sentence": "Change the camera offset on Y axis of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetOffsetYOp"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"CameraOffsetY\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Camera offset Y",
                  "name": "CameraOffsetY",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera forecast time (in seconds).",
              "fullName": "Forecast time",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetForecastTime",
              "sentence": "Change the camera forecast time of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyForecastTime"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "min(0, GetArgumentAsNumber(\"ForecastTime\"))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Forecast time",
                  "name": "ForecastTime",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the camera delay (in seconds).",
              "fullName": "Camera delay",
              "functionType": "Action",
              "group": "Camera configuration",
              "name": "SetCameraDelay",
              "sentence": "Change the camera delay of _PARAM0_: _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelay"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "min(0, GetArgumentAsNumber(\"CameraDelay\"))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Camera delay",
                  "name": "CameraDelay",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return follow free area left border X.",
              "fullName": "Free area left",
              "functionType": "Expression",
              "group": "Private",
              "name": "FreeAreaLeft",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyForecastedX() + Object.Behavior::PropertyCameraOffsetX() - Object.Behavior::PropertyFollowFreeAreaLeft()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return follow free area right border X.",
              "fullName": "Free area right",
              "functionType": "Expression",
              "group": "Private",
              "name": "FreeAreaRight",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyForecastedX() + Object.Behavior::PropertyCameraOffsetX() + Object.Behavior::PropertyFollowFreeAreaRight()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return follow free area bottom border Y.",
              "fullName": "Free area bottom",
              "functionType": "Expression",
              "group": "Private",
              "name": "FreeAreaBottom",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyForecastedY() + Object.Behavior::PropertyCameraOffsetY() + Object.Behavior::PropertyFollowFreeAreaBottom()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return follow free area top border Y.",
              "fullName": "Free area top",
              "functionType": "Expression",
              "group": "Private",
              "name": "FreeAreaTop",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyForecastedY() + Object.Behavior::PropertyCameraOffsetY() - Object.Behavior::PropertyFollowFreeAreaTop()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Update delayed position and delayed history. This is called in doStepPreEvents.",
              "fullName": "Update delayed position",
              "functionType": "Action",
              "group": "Private",
              "name": "UpdateDelayedPosition",
              "private": true,
              "sentence": "Update delayed position and delayed history of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Add the previous position to have enough (2) positions to evaluate the extra delay for waiting mode."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::IsWaiting"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Egal"
                      },
                      "parameters": [
                        "Object.VariableChildCount(__SmoothCamera.ObjectTime)",
                        "=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ObjectVariablePushNumber"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ObjectTime",
                        "TimeFromStart()"
                      ]
                    },
                    {
                      "type": {
                        "value": "ObjectVariablePushNumber"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ObjectX",
                        "Object.Behavior::PropertyDelayedCenterX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "ObjectVariablePushNumber"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ObjectY",
                        "Object.Behavior::PropertyDelayedCenterY()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Use the object center when no delay is asked."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.CenterX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.CenterY()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "SmoothCamera::SmoothCamera::IsDelayed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::AddForecastHistoryPosition"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "TimeFromStart()",
                        "Object.CenterX()",
                        "Object.CenterY()",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "SmoothCamera::SmoothCamera::IsDelayed"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "SmoothCamera::SmoothCamera::IsWaiting"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ObjectVariablePushNumber"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ObjectTime",
                        "TimeFromStart()"
                      ]
                    },
                    {
                      "type": {
                        "value": "ObjectVariablePushNumber"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ObjectX",
                        "Object.CenterX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "ObjectVariablePushNumber"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ObjectY",
                        "Object.CenterY()"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Remove history entries that are too old to be useful for delaying and pass it to the history for forecasting."
                    },
                    {
                      "infiniteLoopWarning": true,
                      "type": "BuiltinCommonInstructions::While",
                      "whileConditions": [
                        {
                          "type": {
                            "value": "Egal"
                          },
                          "parameters": [
                            "Object.VariableChildCount(__SmoothCamera.ObjectTime)",
                            ">=",
                            "2"
                          ]
                        },
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__SmoothCamera.ObjectTime[1]",
                            "<",
                            "TimeFromStart() - Object.Behavior::CurrentDelay()"
                          ]
                        }
                      ],
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "SmoothCamera::SmoothCamera::AddForecastHistoryPosition"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "Object.Variable(__SmoothCamera.ObjectTime[0])",
                            "Object.Variable(__SmoothCamera.ObjectX[0])",
                            "Object.Variable(__SmoothCamera.ObjectY[0])",
                            ""
                          ]
                        },
                        {
                          "type": {
                            "value": "ObjectVariableRemoveAt"
                          },
                          "parameters": [
                            "Object",
                            "__SmoothCamera.ObjectTime",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "ObjectVariableRemoveAt"
                          },
                          "parameters": [
                            "Object",
                            "__SmoothCamera.ObjectX",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "ObjectVariableRemoveAt"
                          },
                          "parameters": [
                            "Object",
                            "__SmoothCamera.ObjectY",
                            "0"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Don't move the camera if there is not enough history."
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "Object.Variable(__SmoothCamera.ObjectX[0])"
                          ]
                        },
                        {
                          "type": {
                            "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "Object.Variable(__SmoothCamera.ObjectY[0])"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Egal"
                          },
                          "parameters": [
                            "Object.VariableChildCount(__SmoothCamera.ObjectTime)",
                            ">=",
                            "2"
                          ]
                        },
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__SmoothCamera.ObjectTime[0]",
                            "<",
                            "TimeFromStart() - Object.Behavior::CurrentDelay()"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Add the extra delay that could be needed to respect the speed limit in waiting mode.\n\nspeedRatio = min(speedMaxX / historySpeedX, speedMaxY / historySpeedY)\ndelay += min(0, timeDelta * (1 - speedRatio))"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::IsWaiting"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyCameraExtraDelay"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "max(0, TimeDelta() * (1 - min(Object.Behavior::PropertyWaitingSpeedXMax() * abs(Object.Variable(__SmoothCamera.ObjectX[1]) - Object.Variable(__SmoothCamera.ObjectX[0])), Object.Behavior::PropertyWaitingSpeedYMax() * abs(Object.Variable(__SmoothCamera.ObjectY[1]) - Object.Variable(__SmoothCamera.ObjectY[0]))) / (Object.Variable(__SmoothCamera.ObjectTime[1]) - Object.Variable(__SmoothCamera.ObjectTime[0]))))"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "disabled": true,
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "DebuggerTools::ConsoleLog"
                                  },
                                  "parameters": [
                                    "\"Extra delay: \" + ToString(Object.Behavior::PropertyCameraExtraDelay())",
                                    "\"info\"",
                                    "\"SmoothCamera\""
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "The time with delay is now between the first 2 indexes"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "lerp(Object.Variable(__SmoothCamera.ObjectX[1]), Object.Variable(__SmoothCamera.ObjectX[0]), ((TimeFromStart() - Object.Behavior::CurrentDelay()) - Object.Variable(__SmoothCamera.ObjectTime[1])) / (Object.Variable(__SmoothCamera.ObjectTime[0]) - Object.Variable(__SmoothCamera.ObjectTime[1])))"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "lerp(Object.Variable(__SmoothCamera.ObjectY[1]), Object.Variable(__SmoothCamera.ObjectY[0]), ((TimeFromStart() - Object.Behavior::CurrentDelay()) - Object.Variable(__SmoothCamera.ObjectTime[1])) / (Object.Variable(__SmoothCamera.ObjectTime[0]) - Object.Variable(__SmoothCamera.ObjectTime[1])))"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "SmoothCamera::SmoothCamera::IsDelayed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "SmoothCamera::SmoothCamera::IsWaiting"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ObjectVariableClearChildren"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ObjectTime"
                      ]
                    },
                    {
                      "type": {
                        "value": "ObjectVariableClearChildren"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ObjectX"
                      ]
                    },
                    {
                      "type": {
                        "value": "ObjectVariableClearChildren"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ObjectY"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "SmoothCamera::SmoothCamera::IsWaiting"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelayCatchUpSpeed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyCameraExtraDelay() / Object.Behavior::PropertyCameraDelayCatchUpDuration()"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "disabled": true,
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "DebuggerTools::ConsoleLog"
                          },
                          "parameters": [
                            "\"Start to catch up\"",
                            "\"info\"",
                            "\"SmoothCamera\""
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "SmoothCamera::SmoothCamera::IsWaiting"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::PropertyCameraExtraDelay"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyCameraExtraDelay"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "max(0, Object.Behavior::PropertyCameraExtraDelay() -Object.Behavior::PropertyCameraDelayCatchUpSpeed() * TimeDelta())"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "disabled": true,
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "DebuggerTools::ConsoleLog"
                          },
                          "parameters": [
                            "\"Catching up delay: \" + ToString(Object.Behavior::PropertyCameraExtraDelay())",
                            "\"info\"",
                            "\"SmoothCamera\""
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the camera following target is delayed from the object.",
              "fullName": "Camera is delayed",
              "functionType": "Condition",
              "name": "IsDelayed",
              "private": true,
              "sentence": "The camera of _PARAM0_ is delayed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Egal"
                      },
                      "parameters": [
                        "Object.Behavior::CurrentDelay()",
                        ">",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the current camera delay.",
              "fullName": "Current delay",
              "functionType": "Expression",
              "name": "CurrentDelay",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyCameraDelay() + Object.Behavior::PropertyCameraExtraDelay()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if the camera following is waiting at a reduced speed.",
              "fullName": "Camera is waiting",
              "functionType": "Condition",
              "name": "IsWaiting",
              "private": true,
              "sentence": "The camera of _PARAM0_ is waiting",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::PropertyWaitingEnd"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">",
                        "TimeFromStart()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Add a position to the history for forecasting. This is called 2 times in UpadteDelayedPosition.",
              "fullName": "Add forecast history position",
              "functionType": "Action",
              "group": "Private",
              "name": "AddForecastHistoryPosition",
              "private": true,
              "sentence": "Add the time:_PARAM2_ and position: _PARAM3_; _PARAM4_ to the forecast history of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ">",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "SmoothCamera::SmoothCamera::PropertyForecastTime"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ">",
                            "0"
                          ]
                        }
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ObjectVariablePushNumber"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ForecastHistoryTime",
                        "GetArgumentAsNumber(\"Time\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "ObjectVariablePushNumber"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ForecastHistoryX",
                        "GetArgumentAsNumber(\"ObjectX\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "ObjectVariablePushNumber"
                      },
                      "parameters": [
                        "Object",
                        "__SmoothCamera.ForecastHistoryY",
                        "GetArgumentAsNumber(\"ObjectY\")"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Remove history entries that are too old to be useful.\nKeep at least 2 positions because no forecast can be done with less positions."
                    },
                    {
                      "infiniteLoopWarning": true,
                      "type": "BuiltinCommonInstructions::While",
                      "whileConditions": [
                        {
                          "type": {
                            "value": "Egal"
                          },
                          "parameters": [
                            "Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime)",
                            ">=",
                            "3"
                          ]
                        },
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__SmoothCamera.ForecastHistoryTime[0]",
                            "<",
                            "TimeFromStart() - Object.Behavior::PropertyCameraDelay() - Object.Behavior::PropertyCameraExtraDelay() - Object.Behavior::PropertyForecastHistoryDuration()"
                          ]
                        }
                      ],
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ObjectVariableRemoveAt"
                          },
                          "parameters": [
                            "Object",
                            "__SmoothCamera.ForecastHistoryTime",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "ObjectVariableRemoveAt"
                          },
                          "parameters": [
                            "Object",
                            "__SmoothCamera.ForecastHistoryX",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "ObjectVariableRemoveAt"
                          },
                          "parameters": [
                            "Object",
                            "__SmoothCamera.ForecastHistoryY",
                            "0"
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "Time",
                  "name": "Time",
                  "type": "expression"
                },
                {
                  "description": "Object X",
                  "name": "ObjectX",
                  "type": "expression"
                },
                {
                  "description": "Object Y",
                  "name": "ObjectY",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Update forecasted position. This is called in doStepPreEvents.",
              "fullName": "Update forecasted position",
              "functionType": "Action",
              "group": "Private",
              "name": "UpdateForecastedPosition",
              "private": true,
              "sentence": "Update forecasted position of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyDelayedCenterX()"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "Object.Behavior::PropertyDelayedCenterY()"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Simple linear regression\ny = A * x + B\n\nA = Covariance / VarianceX\nB = MeanY - A * MeanX\n\nNote than we could use only one position every N positions to reduce the process time,\nbut if we really need efficient process JavaScript and circular queues are a must."
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Egal"
                      },
                      "parameters": [
                        "Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime)",
                        ">=",
                        "2"
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ">",
                            "0"
                          ]
                        },
                        {
                          "type": {
                            "value": "SmoothCamera::SmoothCamera::PropertyForecastTime"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ">",
                            "0"
                          ]
                        }
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Mean X",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyIndex"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "0"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Repeat",
                          "repeatExpression": "Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()])"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyIndex"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "1"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "/",
                                "Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)"
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Mean Y",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyIndex"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "0"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Repeat",
                          "repeatExpression": "Object.VariableChildCount(__SmoothCamera.ForecastHistoryY)",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()])"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyIndex"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "1"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "/",
                                "Object.VariableChildCount(__SmoothCamera.ForecastHistoryY)"
                              ]
                            }
                          ]
                        },
                        {
                          "disabled": true,
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "DebuggerTools::ConsoleLog"
                              },
                              "parameters": [
                                "\"Mean: \" + ToString(Object.Behavior::PropertyForecastHistoryMeanX()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryMeanY())",
                                "",
                                ""
                              ]
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Variance and Covariance",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "VarianceX = sum((X[i] - MeanX)²)\nVarianceY = sum((Y[i] - MeanY)²)\nCovariance = sum((X[i] - MeanX) * (Y[i] - MeanY))"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceX"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceY"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryCovariance"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyIndex"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "0"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Repeat",
                          "repeatExpression": "Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceX"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "pow(Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanX(), 2)"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceY"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "pow(Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanY(), 2)"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryCovariance"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "(Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanX())\n*\n(Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanY())"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyIndex"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "1"
                              ]
                            }
                          ]
                        },
                        {
                          "disabled": true,
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "DebuggerTools::ConsoleLog"
                              },
                              "parameters": [
                                "\"Variances: \" + ToString(Object.Behavior::PropertyForecastHistoryVarianceX()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryVarianceY()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryCovariance())",
                                "\"info\"",
                                "\"SmoothCamera\""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Egal"
                              },
                              "parameters": [
                                "abs(Object.Behavior::PropertyForecastHistoryVarianceX())",
                                "<",
                                "1"
                              ]
                            },
                            {
                              "type": {
                                "value": "Egal"
                              },
                              "parameters": [
                                "abs(Object.Behavior::PropertyForecastHistoryVarianceY())",
                                "<",
                                "1"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedX"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "Object.Behavior::PropertyDelayedCenterX()"
                              ]
                            },
                            {
                              "type": {
                                "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedY"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "Object.Behavior::PropertyDelayedCenterY()"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Or"
                              },
                              "parameters": [],
                              "subInstructions": [
                                {
                                  "type": {
                                    "value": "Egal"
                                  },
                                  "parameters": [
                                    "abs(Object.Behavior::PropertyForecastHistoryVarianceX())",
                                    ">=",
                                    "1"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "Egal"
                                  },
                                  "parameters": [
                                    "abs(Object.Behavior::PropertyForecastHistoryVarianceY())",
                                    ">=",
                                    "1"
                                  ]
                                }
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "name": "Linear function parameters",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "y = A * x + B\n\nA = Covariance / VarianceX\nB = MeanY - A * MeanX"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "Egal"
                                      },
                                      "parameters": [
                                        "abs(Object.Behavior::PropertyForecastHistoryVarianceX())",
                                        ">=",
                                        "abs(Object.Behavior::PropertyForecastHistoryVarianceY())"
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearA"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior",
                                        "=",
                                        "Object.Behavior::PropertyForecastHistoryCovariance() / Object.Behavior::PropertyForecastHistoryVarianceX()"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearB"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior",
                                        "=",
                                        "Object.Behavior::PropertyForecastHistoryMeanY() - Object.Behavior::PropertyForecastHistoryLinearA() * Object.Behavior::PropertyForecastHistoryMeanX()"
                                      ]
                                    }
                                  ],
                                  "events": [
                                    {
                                      "disabled": true,
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "DebuggerTools::ConsoleLog"
                                          },
                                          "parameters": [
                                            "\"Linear: \" + ToString(Object.Behavior::PropertyForecastHistoryLinearA()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryLinearB())",
                                            "\"info\"",
                                            "\"SmoothCamera\""
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "colorB": 228,
                                      "colorG": 176,
                                      "colorR": 74,
                                      "creationTime": 0,
                                      "name": "Projection",
                                      "source": "",
                                      "type": "BuiltinCommonInstructions::Group",
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "SmoothCamera::SmoothCamera::ProjectHistoryEnds"
                                              },
                                              "parameters": [
                                                "Object",
                                                "Behavior",
                                                "Object.Variable(__SmoothCamera.ForecastHistoryX[0])",
                                                "Object.Variable(__SmoothCamera.ForecastHistoryY[0])",
                                                "Object.Variable(__SmoothCamera.ForecastHistoryX[Object.VariableChildCount(__SmoothCamera.ForecastHistoryX) - 1])",
                                                "Object.Variable(__SmoothCamera.ForecastHistoryY[Object.VariableChildCount(__SmoothCamera.ForecastHistoryY) - 1])",
                                                ""
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "parameters": []
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Axis permutation to avoid a ratio between 2 numbers near 0."
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "Egal"
                                      },
                                      "parameters": [
                                        "abs(Object.Behavior::PropertyForecastHistoryVarianceX())",
                                        "<",
                                        "abs(Object.Behavior::PropertyForecastHistoryVarianceY())"
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearA"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior",
                                        "=",
                                        "Object.Behavior::PropertyForecastHistoryCovariance() / Object.Behavior::PropertyForecastHistoryVarianceY()"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearB"
                                      },
                                      "parameters": [
                                        "Object",
                                        "Behavior",
                                        "=",
                                        "Object.Behavior::PropertyForecastHistoryMeanX() - Object.Behavior::PropertyForecastHistoryLinearA() * Object.Behavior::PropertyForecastHistoryMeanY()"
                                      ]
                                    }
                                  ],
                                  "events": [
                                    {
                                      "disabled": true,
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "DebuggerTools::ConsoleLog"
                                          },
                                          "parameters": [
                                            "\"Linear: \" + ToString(Object.Behavior::PropertyForecastHistoryLinearA()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryLinearB())",
                                            "\"info\"",
                                            "\"SmoothCamera\""
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "colorB": 228,
                                      "colorG": 176,
                                      "colorR": 74,
                                      "creationTime": 0,
                                      "name": "Projection",
                                      "source": "",
                                      "type": "BuiltinCommonInstructions::Group",
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "SmoothCamera::SmoothCamera::ProjectHistoryEnds"
                                              },
                                              "parameters": [
                                                "Object",
                                                "Behavior",
                                                "Object.Variable(__SmoothCamera.ForecastHistoryY[0])",
                                                "Object.Variable(__SmoothCamera.ForecastHistoryX[0])",
                                                "Object.Variable(__SmoothCamera.ForecastHistoryY[Object.VariableChildCount(__SmoothCamera.ForecastHistoryY) - 1])",
                                                "Object.Variable(__SmoothCamera.ForecastHistoryX[Object.VariableChildCount(__SmoothCamera.ForecastHistoryX) - 1])",
                                                ""
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Permute back axis"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "SmoothCamera::SmoothCamera::SetPropertyIndex"
                                              },
                                              "parameters": [
                                                "Object",
                                                "Behavior",
                                                "=",
                                                "Object.Behavior::PropertyProjectedOldestX()"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestX"
                                              },
                                              "parameters": [
                                                "Object",
                                                "Behavior",
                                                "=",
                                                "Object.Behavior::PropertyProjectedOldestY()"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestY"
                                              },
                                              "parameters": [
                                                "Object",
                                                "Behavior",
                                                "=",
                                                "Object.Behavior::PropertyIndex()"
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "SmoothCamera::SmoothCamera::SetPropertyIndex"
                                              },
                                              "parameters": [
                                                "Object",
                                                "Behavior",
                                                "=",
                                                "Object.Behavior::PropertyProjectedNewestX()"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestX"
                                              },
                                              "parameters": [
                                                "Object",
                                                "Behavior",
                                                "=",
                                                "Object.Behavior::PropertyProjectedNewestY()"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestY"
                                              },
                                              "parameters": [
                                                "Object",
                                                "Behavior",
                                                "=",
                                                "Object.Behavior::PropertyIndex()"
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "parameters": []
                                    },
                                    {
                                      "disabled": true,
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "DebuggerTools::ConsoleLog"
                                          },
                                          "parameters": [
                                            "\"Oldest: \" + ToString(Object.Behavior::PropertyProjectedOldestX()) + \" \" + ToString(Object.Behavior::PropertyProjectedOldestY())",
                                            "\"info\"",
                                            "\"SmoothCamera\""
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "disabled": true,
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "DebuggerTools::ConsoleLog"
                                          },
                                          "parameters": [
                                            "\"Newest: \" + ToString(Object.Behavior::PropertyProjectedNewestX()) + \" \" + ToString(Object.Behavior::PropertyProjectedNewestY())",
                                            "\"info\"",
                                            "\"SmoothCamera\""
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "colorB": 228,
                                  "colorG": 176,
                                  "colorR": 74,
                                  "creationTime": 0,
                                  "name": "Forecasted position",
                                  "source": "",
                                  "type": "BuiltinCommonInstructions::Group",
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedX"
                                          },
                                          "parameters": [
                                            "Object",
                                            "Behavior",
                                            "=",
                                            "Object.Behavior::PropertyProjectedNewestX() + ( Object.Behavior::PropertyProjectedNewestX() - Object.Behavior::PropertyProjectedOldestX()) * Object.Behavior::ForecastTimeRatio()"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedY"
                                          },
                                          "parameters": [
                                            "Object",
                                            "Behavior",
                                            "=",
                                            "Object.Behavior::PropertyProjectedNewestY() + ( Object.Behavior::PropertyProjectedNewestY() - Object.Behavior::PropertyProjectedOldestY()) * Object.Behavior::ForecastTimeRatio()"
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "disabled": true,
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "DebuggerTools::ConsoleLog"
                                          },
                                          "parameters": [
                                            "\"Forecasted: \" + ToString(Object.Behavior::PropertyForecastedX()) + \" \" + ToString(Object.Behavior::PropertyForecastedY())",
                                            "\"info\"",
                                            "\"SmoothCamera\""
                                          ]
                                        }
                                      ]
                                    }
                                  ],
                                  "parameters": []
                                }
                              ],
                              "parameters": []
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Project history ends position to have the vector on the line from linear regression. This function is only called by UpdateForecastedPosition.",
              "fullName": "Project history ends",
              "functionType": "Action",
              "group": "Private",
              "name": "ProjectHistoryEnds",
              "private": true,
              "sentence": "Project history oldest: _PARAM2_;_PARAM3_ and newest position: _PARAM4_;_PARAM5_ of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Perpendicular line:\npA = -1/a; \npB = -pA * x + y\n\nIntersection:\n/ ProjectedY = a * ProjectedX + b\n\\ ProjectedY = pA * ProjectedX + b\n\nSolution that is cleaned out from indeterminism (like 0 / 0 or infinity / infinity):\nProjectedX= (x + (y - b) * a) / (a² + 1)\nProjectedY = y + (x * a - y + b) / (a² + 1)"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "(GetArgumentAsNumber(\"NewestX\") + (GetArgumentAsNumber(\"NewestY\") - Object.Behavior::PropertyForecastHistoryLinearB()) * Object.Behavior::PropertyForecastHistoryLinearA()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"NewestY\") + (GetArgumentAsNumber(\"NewestX\") * Object.Behavior::PropertyForecastHistoryLinearA() - GetArgumentAsNumber(\"NewestY\") \n+ Object.Behavior::PropertyForecastHistoryLinearB()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestX"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "(GetArgumentAsNumber(\"OldestX\") + (GetArgumentAsNumber(\"OldestY\") - Object.Behavior::PropertyForecastHistoryLinearB()) * Object.Behavior::PropertyForecastHistoryLinearA()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))"
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestY"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"OldestY\") + (GetArgumentAsNumber(\"OldestX\") * Object.Behavior::PropertyForecastHistoryLinearA() - GetArgumentAsNumber(\"OldestY\") \n+ Object.Behavior::PropertyForecastHistoryLinearB()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                },
                {
                  "description": "OldestX",
                  "name": "OldestX",
                  "type": "expression"
                },
                {
                  "description": "OldestY",
                  "name": "OldestY",
                  "type": "expression"
                },
                {
                  "description": "Newest X",
                  "name": "NewestX",
                  "type": "expression"
                },
                {
                  "description": "Newest Y",
                  "name": "NewestY",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the ratio between forecast time and the duration of the history. This function is only called by UpdateForecastedPosition.",
              "fullName": "Forecast time ratio",
              "functionType": "Expression",
              "group": "Private",
              "name": "ForecastTimeRatio",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "- Object.Behavior::PropertyForecastTime() / (Object.Variable(__SmoothCamera.ForecastHistoryTime[0]) - Object.Variable(__SmoothCamera.ForecastHistoryTime[Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime) - 1]))"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "0.9",
              "type": "Number",
              "label": "Leftward catch-up speed (in ratio per second)",
              "description": "",
              "group": "Catch-up speed",
              "extraInformation": [],
              "hidden": false,
              "name": "LeftwardSpeed"
            },
            {
              "value": "0.9",
              "type": "Number",
              "label": "Rightward catch-up speed (in ratio per second)",
              "description": "",
              "group": "Catch-up speed",
              "extraInformation": [],
              "hidden": false,
              "name": "RightwardSpeed"
            },
            {
              "value": "0.9",
              "type": "Number",
              "label": "Upward catch-up speed (in ratio per second)",
              "description": "",
              "group": "Catch-up speed",
              "extraInformation": [],
              "hidden": false,
              "name": "UpwardSpeed"
            },
            {
              "value": "0.9",
              "type": "Number",
              "label": "Downward catch-up speed (in ratio per second)",
              "description": "",
              "group": "Catch-up speed",
              "extraInformation": [],
              "hidden": false,
              "name": "DownwardSpeed"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Follow on X axis",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "FollowOnX"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Follow on Y axis",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "FollowOnY"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Follow free area left border",
              "description": "",
              "group": "Position",
              "extraInformation": [],
              "hidden": false,
              "name": "FollowFreeAreaLeft"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Follow free area right border",
              "description": "",
              "group": "Position",
              "extraInformation": [],
              "hidden": false,
              "name": "FollowFreeAreaRight"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Follow free area top border",
              "description": "",
              "group": "Position",
              "extraInformation": [],
              "hidden": false,
              "name": "FollowFreeAreaTop"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Follow free area bottom border",
              "description": "",
              "group": "Position",
              "extraInformation": [],
              "hidden": false,
              "name": "FollowFreeAreaBottom"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Camera offset X",
              "description": "",
              "group": "Position",
              "extraInformation": [],
              "hidden": false,
              "name": "CameraOffsetX"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Camera offset Y",
              "description": "",
              "group": "Position",
              "extraInformation": [],
              "hidden": false,
              "name": "CameraOffsetY"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Second",
              "label": "Camera delay",
              "description": "",
              "group": "Timing",
              "extraInformation": [],
              "hidden": false,
              "name": "CameraDelay"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Second",
              "label": "Forecast time",
              "description": "",
              "group": "Timing",
              "extraInformation": [],
              "hidden": false,
              "name": "ForecastTime"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Second",
              "label": "Forecast history duration",
              "description": "",
              "group": "Timing",
              "extraInformation": [],
              "hidden": false,
              "name": "ForecastHistoryDuration"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "LogLeftwardSpeed"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "LogRightwardSpeed"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "LogDownwardSpeed"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "LogUpwardSpeed"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "DelayedCenterX"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "DelayedCenterY"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ForecastHistoryMeanX"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ForecastHistoryMeanY"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ForecastHistoryVarianceX"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ForecastHistoryCovariance"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ForecastHistoryLinearA"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ForecastHistoryLinearB"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ForecastedX"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ForecastedY"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ProjectedNewestX"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ProjectedNewestY"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ProjectedOldestX"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ProjectedOldestY"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ForecastHistoryVarianceY"
            },
            {
              "value": "",
              "type": "Number",
              "label": "Index (local variable)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "Index"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "CameraDelayCatchUpSpeed"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "CameraExtraDelay"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "WaitingSpeedXMax"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "WaitingSpeedYMax"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "WaitingEnd"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "CameraDelayCatchUpDuration"
            },
            {
              "value": "9000",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Leftward maximum speed",
              "description": "",
              "group": "Maximum speed",
              "extraInformation": [],
              "hidden": false,
              "name": "LeftwardSpeedMax"
            },
            {
              "value": "9000",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Rightward maximum speed",
              "description": "",
              "group": "Maximum speed",
              "extraInformation": [],
              "hidden": false,
              "name": "RightwardSpeedMax"
            },
            {
              "value": "9000",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Upward maximum speed",
              "description": "",
              "group": "Maximum speed",
              "extraInformation": [],
              "hidden": false,
              "name": "UpwardSpeedMax"
            },
            {
              "value": "9000",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Downward maximum speed",
              "description": "",
              "group": "Maximum speed",
              "extraInformation": [],
              "hidden": false,
              "name": "DownwardSpeedMax"
            },
            {
              "value": "",
              "type": "Number",
              "label": "OldX (local variable)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "OldX"
            },
            {
              "value": "",
              "type": "Number",
              "label": "OldY (local variable)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "OldY"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "IsCalledManually"
            }
          ],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Smoothly scroll to follow a character and stabilize the camera when jumping.",
          "fullName": "Smooth platformer camera",
          "name": "SmoothPlatformerCamera",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "PlatformBehavior::IsJumping"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter"
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "PlatformBehavior::IsFalling"
                      },
                      "parameters": [
                        "Object",
                        "PlatformerCharacter"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaBottom"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyFloorFollowFreeAreaTop()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaTop"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyFloorFollowFreeAreaBottom()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetUpwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyFloorUpwardSpeed()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetDownwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyFloorDownwardSpeed()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetUpwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyFloorUpwardSpeedMax()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetDownwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyFloorDownwardSpeedMax()",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::IsJumping"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        },
                        {
                          "type": {
                            "value": "PlatformBehavior::IsFalling"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaBottom"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyAirFollowFreeAreaTop()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaTop"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyAirFollowFreeAreaBottom()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetUpwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyAirUpwardSpeed()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetDownwardSpeed"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyAirDownwardSpeed()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetUpwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyAirUpwardSpeedMax()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SmoothCamera::SmoothCamera::SetDownwardSpeedMax"
                      },
                      "parameters": [
                        "Object",
                        "SmoothCamera",
                        "Object.Behavior::PropertyAirDownwardSpeedMax()",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SmoothCamera::SmoothPlatformerCamera",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer character behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "PlatformBehavior::PlatformerObjectBehavior"
              ],
              "hidden": false,
              "name": "PlatformerCharacter"
            },
            {
              "value": "",
              "type": "Behavior",
              "label": "Smooth camera behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "SmoothCamera::SmoothCamera"
              ],
              "hidden": false,
              "name": "SmoothCamera"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "JumpOriginY"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Follow free area top in the air",
              "description": "",
              "group": "Position",
              "extraInformation": [],
              "hidden": false,
              "name": "AirFollowFreeAreaTop"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Follow free area bottom in the air",
              "description": "",
              "group": "Position",
              "extraInformation": [],
              "hidden": false,
              "name": "AirFollowFreeAreaBottom"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Follow free area top on the floor",
              "description": "",
              "group": "Position",
              "extraInformation": [],
              "hidden": false,
              "name": "FloorFollowFreeAreaTop"
            },
            {
              "value": "0",
              "type": "Number",
              "unit": "Pixel",
              "label": "Follow free area bottom on the floor",
              "description": "",
              "group": "Position",
              "extraInformation": [],
              "hidden": false,
              "name": "FloorFollowFreeAreaBottom"
            },
            {
              "value": "0.95",
              "type": "Number",
              "label": "Upward speed in the air (in ratio per second)",
              "description": "",
              "group": "Catch-up speed",
              "extraInformation": [],
              "hidden": false,
              "name": "AirUpwardSpeed"
            },
            {
              "value": "0.95",
              "type": "Number",
              "label": "Downward speed in the air (in ratio per second)",
              "description": "",
              "group": "Catch-up speed",
              "extraInformation": [],
              "hidden": false,
              "name": "AirDownwardSpeed"
            },
            {
              "value": "0.9",
              "type": "Number",
              "label": "Upward speed on the floor (in ratio per second)",
              "description": "",
              "group": "Catch-up speed",
              "extraInformation": [],
              "hidden": false,
              "name": "FloorUpwardSpeed"
            },
            {
              "value": "0.9",
              "type": "Number",
              "label": "Downward speed on the floor (in ratio per second)",
              "description": "",
              "group": "Catch-up speed",
              "extraInformation": [],
              "hidden": false,
              "name": "FloorDownwardSpeed"
            },
            {
              "value": "9000",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Upward maximum speed in the air",
              "description": "",
              "group": "Maximum speed",
              "extraInformation": [],
              "hidden": false,
              "name": "AirUpwardSpeedMax"
            },
            {
              "value": "9000",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Downward maximum speed in the air",
              "description": "",
              "group": "Maximum speed",
              "extraInformation": [],
              "hidden": false,
              "name": "AirDownwardSpeedMax"
            },
            {
              "value": "9000",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Upward maximum speed on the floor",
              "description": "",
              "group": "Maximum speed",
              "extraInformation": [],
              "hidden": false,
              "name": "FloorUpwardSpeedMax"
            },
            {
              "value": "9000",
              "type": "Number",
              "unit": "PixelSpeed",
              "label": "Downward maximum speed on the floor",
              "description": "",
              "group": "Maximum speed",
              "extraInformation": [],
              "hidden": false,
              "name": "FloorDownwardSpeedMax"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "Elairyx, @Bouh",
      "category": "Game mechanic",
      "extensionNamespace": "",
      "fullName": "Checkpoints",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWZsYWctdmFyaWFudCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik02LDNBMSwxIDAgMCwxIDcsNFY0Ljg4QzguMDYsNC40NCA5LjUsNCAxMSw0QzE0LDQgMTQsNiAxNiw2QzE5LDYgMjAsNCAyMCw0VjEyQzIwLDEyIDE5LDE0IDE2LDE0QzEzLDE0IDEzLDEyIDExLDEyQzgsMTIgNywxNCA3LDE0VjIxSDVWNEExLDEgMCAwLDEgNiwzWiIgLz48L3N2Zz4=",
      "name": "Checkpoints",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/flag-variant.svg",
      "shortDescription": "Respawn objects at checkpoints.",
      "version": "1.0.1",
      "description": [
        "This extension can save checkpoints and respawn objects at the last one.",
        "",
        "The platformer example uses this extension ([open the project online](https://editor.gdevelop.io/?project=example://platformer))\"."
      ],
      "origin": {
        "identifier": "Checkpoints",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "position",
        "checkpoint"
      ],
      "authorIds": [
        "30b1QQoYi1gQQHzIjMlNY8aLyYV2",
        "2OwwM8ToR9dx9RJ2sAKTcrLmCB92"
      ],
      "dependencies": [],
      "eventsFunctions": [
        {
          "description": "Update a checkpoint of an object.",
          "fullName": "Save checkpoint",
          "functionType": "Action",
          "name": "SaveCheckpoint",
          "sentence": "Save checkpoint _PARAM4_ of _PARAM1_ to _PARAM2_ (x-axis), _PARAM3_ (y-axis)",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "ModVarObjet"
                  },
                  "parameters": [
                    "ToSaveObject",
                    "__Checkpoints.Position[\"X\"+GetArgumentAsString(\"CheckpointName\")]",
                    "=",
                    "GetArgumentAsNumber(\"CoordinateX\")"
                  ]
                },
                {
                  "type": {
                    "value": "ModVarObjet"
                  },
                  "parameters": [
                    "ToSaveObject",
                    "__Checkpoints.Position[\"Y\"+GetArgumentAsString(\"CheckpointName\")]",
                    "=",
                    "GetArgumentAsNumber(\"CoordinateY\")"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Save checkpoint of object",
              "name": "ToSaveObject",
              "type": "objectList"
            },
            {
              "description": "X position",
              "name": "CoordinateX",
              "type": "expression"
            },
            {
              "description": "Y position",
              "name": "CoordinateY",
              "type": "expression"
            },
            {
              "description": "Checkpoint name",
              "name": "CheckpointName",
              "supplementaryInformation": "objectCheckpoint",
              "type": "identifier"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Change the position of the object to the saved checkpoint.",
          "fullName": "Load checkpoint",
          "functionType": "Action",
          "name": "LoadCheckpoint",
          "sentence": "Move _PARAM2_ to checkpoint _PARAM3_ of _PARAM1_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::And"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "ObjectVariableChildExists"
                          },
                          "parameters": [
                            "ToLoadObject",
                            "__Checkpoints.Position",
                            "\"X\" + GetArgumentAsString(\"CheckpointName\")"
                          ]
                        },
                        {
                          "type": {
                            "value": "ObjectVariableChildExists"
                          },
                          "parameters": [
                            "ToLoadObject",
                            "__Checkpoints.Position",
                            "\"Y\" + GetArgumentAsString(\"CheckpointName\")"
                          ]
                        }
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::And"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "value": "StrEqual"
                          },
                          "parameters": [
                            "GetArgumentAsString(\"SetIgnoreUndefined\")",
                            "!=",
                            "\"true\""
                          ]
                        },
                        {
                          "type": {
                            "value": "BuiltinCommonInstructions::Or"
                          },
                          "parameters": [],
                          "subInstructions": [
                            {
                              "type": {
                                "inverted": true,
                                "value": "ObjectVariableChildExists"
                              },
                              "parameters": [
                                "ToLoadObject",
                                "__Checkpoints.Position",
                                "\"Y\" + GetArgumentAsString(\"CheckpointName\")"
                              ]
                            },
                            {
                              "type": {
                                "inverted": true,
                                "value": "ObjectVariableChildExists"
                              },
                              "parameters": [
                                "ToLoadObject",
                                "__Checkpoints.Position",
                                "\"X\" + GetArgumentAsString(\"CheckpointName\")"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "MettreXY"
                  },
                  "parameters": [
                    "ToMoveObject",
                    "=",
                    "ToLoadObject.Variable(__Checkpoints.Position[\"X\" + GetArgumentAsString(\"CheckpointName\")])",
                    "=",
                    "ToLoadObject.Variable(__Checkpoints.Position[\"Y\" + GetArgumentAsString(\"CheckpointName\")])"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Load checkpoint from object",
              "name": "ToLoadObject",
              "type": "objectList"
            },
            {
              "description": "Change position of object",
              "name": "ToMoveObject",
              "type": "objectList"
            },
            {
              "description": "Checkpoint name",
              "name": "CheckpointName",
              "supplementaryInformation": "objectCheckpoint",
              "type": "identifier"
            },
            {
              "description": "Ignore (possibly) empty checkpoints",
              "longDescription": "Loading not yet saved checkpoints will (by default) set the position to the coordinate 0;0. Select \"yes\" to completely ignore non-existant checkpoints. To define an alternative checkpoint for it, create a new event and use the \"Checkpoint exists\" condition, save the wanted checkpoint as the action.",
              "name": "SetIgnoreUndefined",
              "supplementaryInformation": "[\"Set to 0\",\"Ignore\",\"Reset to initial position\"]",
              "type": "yesorno"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if a checkpoint has a position saved / does exist.",
          "fullName": "Checkpoint exists",
          "functionType": "Condition",
          "name": "CheckpointExist",
          "sentence": "Checkpoint _PARAM2_ of _PARAM1_ exists",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "ObjectVariableChildExists"
                  },
                  "parameters": [
                    "ToCheckObject",
                    "__Checkpoints.Position",
                    "\"Y\" + GetArgumentAsString(\"CheckpointName\")"
                  ]
                },
                {
                  "type": {
                    "value": "ObjectVariableChildExists"
                  },
                  "parameters": [
                    "ToCheckObject",
                    "__Checkpoints.Position",
                    "\"X\" + GetArgumentAsString(\"CheckpointName\")"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "ObjectVariableChildExists"
                      },
                      "parameters": [
                        "ToCheckObject",
                        "__Checkpoints.Position",
                        "\"X\" + GetArgumentAsString(\"CheckpointName\")"
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "ObjectVariableChildExists"
                      },
                      "parameters": [
                        "ToCheckObject",
                        "__Checkpoints.Position",
                        "\"Y\" + GetArgumentAsString(\"CheckpointName\")"
                      ]
                    }
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "False"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Check checkpoint from object",
              "name": "ToCheckObject",
              "type": "objectList"
            },
            {
              "description": "Checkpoint name",
              "name": "CheckpointName",
              "supplementaryInformation": "objectCheckpoint",
              "type": "identifier"
            }
          ],
          "objectGroups": []
        }
      ],
      "eventsBasedBehaviors": [],
      "eventsBasedObjects": []
    },
    {
      "author": "Bouh",
      "category": "Input",
      "extensionNamespace": "",
      "fullName": "Gamepads (controllers)",
      "helpPath": "/all-features/gamepad",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWdhbWVwYWQtdmFyaWFudC1vdXRsaW5lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTYsOUg4VjExSDEwVjEzSDhWMTVINlYxM0g0VjExSDZWOU0xOC41LDlBMS41LDEuNSAwIDAsMSAyMCwxMC41QTEuNSwxLjUgMCAwLDEgMTguNSwxMkExLjUsMS41IDAgMCwxIDE3LDEwLjVBMS41LDEuNSAwIDAsMSAxOC41LDlNMTUuNSwxMkExLjUsMS41IDAgMCwxIDE3LDEzLjVBMS41LDEuNSAwIDAsMSAxNS41LDE1QTEuNSwxLjUgMCAwLDEgMTQsMTMuNUExLjUsMS41IDAgMCwxIDE1LjUsMTJNMTcsNUE3LDcgMCAwLDEgMjQsMTJBNyw3IDAgMCwxIDE3LDE5QzE1LjA0LDE5IDEzLjI3LDE4LjIgMTIsMTYuOUMxMC43MywxOC4yIDguOTYsMTkgNywxOUE3LDcgMCAwLDEgMCwxMkE3LDcgMCAwLDEgNyw1SDE3TTcsN0E1LDUgMCAwLDAgMiwxMkE1LDUgMCAwLDAgNywxN0M4LjY0LDE3IDEwLjA5LDE2LjIxIDExLDE1SDEzQzEzLjkxLDE2LjIxIDE1LjM2LDE3IDE3LDE3QTUsNSAwIDAsMCAyMiwxMkE1LDUgMCAwLDAgMTcsN0g3WiIgLz48L3N2Zz4=",
      "name": "Gamepads",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/gamepad-variant-outline.svg",
      "shortDescription": "Add support for gamepads (or other controllers) to your game, giving access to information such as button presses, axis positions, trigger pressure, etc...",
      "version": "0.6.1",
      "description": [
        "Add support for gamepads (or other controllers).",
        "",
        "It gives access to:",
        "- button presses",
        "- axis positions and force",
        "- trigger pressure",
        "- configurable deadzone",
        "- vibration",
        "- automatic mappers for platformer characters and top-down movement",
        "",
        "The Bomberman-like example handles 4 players with gamepads ([open the project online](https://editor.gdevelop.io/?project=example://goose-bomberman))."
      ],
      "origin": {
        "identifier": "Gamepads",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "controllers",
        "gamepads",
        "joysticks",
        "axis",
        "xbox",
        "ps4",
        "platformer",
        "platform",
        "top-down"
      ],
      "authorIds": [
        "2OwwM8ToR9dx9RJ2sAKTcrLmCB92",
        "taRwmWxwAFYFL9yyBwB3cwBw0BO2",
        "mnImQKdn8nQxwzkS5D6a1JB27V23"
      ],
      "dependencies": [],
      "eventsFunctions": [
        {
          "description": "Get the value of the pressure on a gamepad trigger.",
          "fullName": "Pressure on a gamepad trigger",
          "functionType": "Expression",
          "name": "TriggerPressure",
          "sentence": "Player _PARAM1_ push axis _PARAM2_ to _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "const trigger = eventsFunctionContext.getArgument(\"trigger\").toUpperCase();\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier in expression: \"Pressure on a gamepad trigger\", is not valid number, must be between 0 and 4.');\r",
                "    return;\r",
                "}\r",
                "if (trigger != \"LT\" && trigger != \"RT\" && trigger != \"L2\" && trigger != \"R2\") {\r",
                "    console.error('Parameter trigger is not valid in expression: \"Pressure on a gamepad trigger\"');\r",
                "    return;\r",
                "}\r",
                "\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) return;\r",
                "\r",
                "switch (trigger) {\r",
                "    case 'LT':\r",
                "    case 'L2':\r",
                "        eventsFunctionContext.returnValue = gamepad.buttons[6].value;\r",
                "        break;\r",
                "\r",
                "    case 'RT':\r",
                "    case 'R2':\r",
                "        eventsFunctionContext.returnValue = gamepad.buttons[7].value;\r",
                "        break;\r",
                "\r",
                "    default:\r",
                "        eventsFunctionContext.returnValue = -1;\r",
                "        break;\r",
                "}"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Trigger button",
              "name": "trigger",
              "supplementaryInformation": "[\"LT\",\"RT\",\"L2\",\"R2\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "the force of gamepad stick (from 0 to 1).",
          "fullName": "Stick force",
          "functionType": "ExpressionAndCondition",
          "name": "StickForce",
          "sentence": "the gamepad _PARAM1_ _PARAM2_ stick force",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "const stick = eventsFunctionContext.getArgument(\"stick\").toUpperCase();\r",
                "\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier is not valid in expression: \"Value of a stick force\"');\r",
                "    return;\r",
                "}\r",
                "\r",
                "if (stick !== \"LEFT\" && stick !== \"RIGHT\") {\r",
                "    console.error('Parameter stick is not valid in expression: \"Value of a stick force\"');\r",
                "    return;\r",
                "}\r",
                "\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) return;\r",
                "\r",
                "\r",
                "switch (stick) {\r",
                "    case 'LEFT':\r",
                "        eventsFunctionContext.returnValue = gdjs.evtTools.common.clamp(Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId)) + Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId)), 0, 1);\r",
                "        break;\r",
                "\r",
                "    case 'RIGHT':\r",
                "        eventsFunctionContext.returnValue = gdjs.evtTools.common.clamp(Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId)) + Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId)), 0, 1);\r",
                "        break;\r",
                "\r",
                "    default:\r",
                "        eventsFunctionContext.returnValue = -1;\r",
                "        break;\r",
                "}"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Stick: \"Left\" or \"Right\"",
              "name": "stick",
              "supplementaryInformation": "[\"Left\",\"Right\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Get the rotation value of a gamepad stick.\nIf the deadzone value is high, the angle value is rounded to main axes, left, left, up, down.\nAn zero deadzone value give a total freedom on the angle value.",
          "fullName": "Value of a stick rotation (deprecated)",
          "functionType": "Expression",
          "name": "StickRotationValue",
          "private": true,
          "sentence": "Player _PARAM1_ push axis _PARAM2_ to _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "Gamepads::StickAngle(GetArgumentAsNumber(\"player_ID\"), GetArgumentAsString(\"stick\"))"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Stick: \"Left\" or \"Right\"",
              "name": "stick",
              "supplementaryInformation": "[\"Left\",\"Right\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the angle of a gamepad stick.\nIf the deadzone value is high, the angle value is rounded to main axes, left, left, up, down.\nAn zero deadzone value give a total freedom on the angle value.",
          "fullName": "Stick angle",
          "functionType": "Expression",
          "name": "StickAngle",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "const stick = eventsFunctionContext.getArgument(\"stick\").toUpperCase();\r",
                "\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier is not valid in expression: \"Value of a stick rotation\"');\r",
                "    return;\r",
                "}\r",
                "if (stick !== \"LEFT\" && stick !== \"RIGHT\") {\r",
                "    console.error('Parameter stick is not valid in expression: \"Value of a stick rotation\"');\r",
                "    return;\r",
                "}\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) return;\r",
                "\r",
                "switch (stick) {\r",
                "    case 'LEFT':\r",
                "        eventsFunctionContext.returnValue = gdjs._extensionController.axisToAngle(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId), gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId));\r",
                "        break;\r",
                "\r",
                "    case 'RIGHT':\r",
                "        eventsFunctionContext.returnValue = gdjs._extensionController.axisToAngle(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId), gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId));\r",
                "        break;\r",
                "\r",
                "    default:\r",
                "        eventsFunctionContext.returnValue = -1;\r",
                "        break;\r",
                "}"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Stick: \"Left\" or \"Right\"",
              "name": "stick",
              "supplementaryInformation": "[\"Left\",\"Right\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Get the value of axis of a gamepad stick.",
          "fullName": "Value of a gamepad axis (deprecated)",
          "functionType": "Expression",
          "name": "AxisValue",
          "private": true,
          "sentence": "Player _PARAM1_ push axis _PARAM2_ to _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "const stick = eventsFunctionContext.getArgument(\"stick\").toUpperCase();\r",
                "const direction = eventsFunctionContext.getArgument(\"direction\").toUpperCase();\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier is not valid in expression: \"Value of a gamepad axis\"');\r",
                "    return;\r",
                "}\r",
                "if (stick != \"LEFT\" && stick != \"RIGHT\") {\r",
                "    console.error('Parameter stick is not valid in expression: \"Value of a gamepad axis\"');\r",
                "    return;\r",
                "}\r",
                "if (direction != \"UP\" && direction != \"DOWN\" && direction != \"LEFT\" && direction != \"RIGHT\" && direction != \"HORIZONTAL\" && direction != \"VERTICAL\") {\r",
                "    console.error('Parameter direction is not valid in expression: \"Value of a gamepad axis\"');\r",
                "    return;\r",
                "}\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) return;\r",
                "\r",
                "let parameterError = false;\r",
                "switch (stick) {\r",
                "    case 'LEFT':\r",
                "        switch (direction) {\r",
                "            case 'LEFT':\r",
                "                if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId) < 0) {\r",
                "                    eventsFunctionContext.returnValue = -gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId);\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'RIGHT':\r",
                "                if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId) > 0) {\r",
                "                    eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId);\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'UP':\r",
                "                if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId) < 0) {\r",
                "                    eventsFunctionContext.returnValue = -gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId);\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'DOWN':\r",
                "                if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId) > 0) {\r",
                "                    eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId);\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case \"HORIZONTAL\":\r",
                "                eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId);\r",
                "                break;\r",
                "\r",
                "            case \"VERTICAL\":\r",
                "                eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId);\r",
                "                break;\r",
                "\r",
                "            default:\r",
                "                break;\r",
                "        }\r",
                "        break;\r",
                "\r",
                "    case 'RIGHT':\r",
                "        switch (direction) {\r",
                "            case 'LEFT':\r",
                "                if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId) < 0) {\r",
                "                    eventsFunctionContext.returnValue = -gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId);\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'RIGHT':\r",
                "                if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId) > 0) {\r",
                "                    eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId);\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'UP':\r",
                "                if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId) < 0) {\r",
                "                    eventsFunctionContext.returnValue = -gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId);\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'DOWN':\r",
                "                if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId) > 0) {\r",
                "                    eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId);\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case \"HORIZONTAL\":\r",
                "                eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId);\r",
                "                break;\r",
                "\r",
                "            case \"VERTICAL\":\r",
                "                eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId);\r",
                "                break;\r",
                "\r",
                "            default:\r",
                "                break;\r",
                "        }\r",
                "        break;\r",
                "\r",
                "    default:\r",
                "        break;\r",
                "}\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Stick: \"Left\" or \"Right\"",
              "name": "stick",
              "supplementaryInformation": "[\"Left\",\"Right\"]",
              "type": "stringWithSelector"
            },
            {
              "description": "Direction",
              "name": "direction",
              "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"Horizontal\",\"Vertical\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the gamepad stick force on X axis (from -1 at the left to 1 at the right).",
          "fullName": "Stick X force",
          "functionType": "Expression",
          "name": "StickForceX",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"Gamepad\") - 1;\r",
                "const stick = eventsFunctionContext.getArgument(\"Stick\").toLowerCase();\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier is not valid in expression: \"Value of a gamepad axis\"');\r",
                "    return;\r",
                "}\r",
                "if (stick != \"left\" && stick != \"right\") {\r",
                "    console.error('Parameter stick is not valid in expression: \"Value of a gamepad axis\"');\r",
                "    return;\r",
                "}\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) return;\r",
                "\r",
                "const axisIndex = stick === 'right' ? 2 : 0;\r",
                "eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[axisIndex], playerId);\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "Gamepad",
              "type": "expression"
            },
            {
              "description": "Stick: \"Left\" or \"Right\"",
              "name": "Stick",
              "supplementaryInformation": "[\"Left\",\"Right\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the gamepad stick force on Y axis (from -1 at the top to 1 at the bottom).",
          "fullName": "Stick Y force",
          "functionType": "Expression",
          "name": "StickForceY",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"Gamepad\") - 1;\r",
                "const stick = eventsFunctionContext.getArgument(\"Stick\").toLowerCase();\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier is not valid in expression: \"Value of a gamepad axis\"');\r",
                "    return;\r",
                "}\r",
                "if (stick != \"left\" && stick != \"right\") {\r",
                "    console.error('Parameter stick is not valid in expression: \"Value of a gamepad axis\"');\r",
                "    return;\r",
                "}\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) return;\r",
                "\r",
                "const axisIndex = stick === 'right' ? 3 : 1;\r",
                "eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[axisIndex], playerId);\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "Gamepad",
              "type": "expression"
            },
            {
              "description": "Stick: \"Left\" or \"Right\"",
              "name": "Stick",
              "supplementaryInformation": "[\"Left\",\"Right\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Test if a button is released on a gamepad. Buttons can be:\n* Xbox: \"A\", \"B\", \"X\", \"Y\", \"LB\", \"RB\", \"LT\", \"RT\", \"BACK\", \"START\",\n* PS4: \"CROSS\", \"SQUARE\", \"CIRCLE\", \"TRIANGLE\", \"L1\", \"L2\", \"R1\", \"R2\", \"SHARE\", \"OPTIONS\", \"PS_BUTTON\", \"CLICK_TOUCHPAD\",\n* Other: \"UP\", \"DOWN\", \"LEFT\", \"RIGHT\", \"CLICK_STICK_LEFT\", \"CLICK_STICK_RIGHT\".",
          "fullName": "Gamepad button released",
          "functionType": "Condition",
          "name": "C_Button_released",
          "sentence": "Button _PARAM2_ of gamepad _PARAM1_ is released",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "const button = eventsFunctionContext.getArgument(\"button\").toUpperCase();\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier in condition: \"Gamepad button released\", is not valid number, must be between 0 and 4.');\r",
                "    return;\r",
                "}\r",
                "if (button === \"\") {\r",
                "    console.error('Parameter button is not valid in condition: \"Gamepad button released\"');\r",
                "    return;\r",
                "}\r",
                "\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) return;\r",
                "\r",
                "let buttonId;\r",
                "\r",
                "switch (button) {\r",
                "    case 'A':\r",
                "    case 'CROSS':\r",
                "        buttonId = 0;\r",
                "        break;\r",
                "    case 'B':\r",
                "    case 'CIRCLE':\r",
                "        buttonId = 1;\r",
                "        break;\r",
                "    case 'X':\r",
                "    case 'SQUARE':\r",
                "        buttonId = 2;\r",
                "        break;\r",
                "    case 'Y':\r",
                "    case 'TRIANGLE':\r",
                "        buttonId = 3;\r",
                "        break;\r",
                "    case 'LB':\r",
                "    case 'L1':\r",
                "        buttonId = 4;\r",
                "        break;\r",
                "    case 'RB':\r",
                "    case 'R1':\r",
                "        buttonId = 5;\r",
                "        break;\r",
                "    case 'LT':\r",
                "    case 'L2':\r",
                "        buttonId = 6;\r",
                "        break;\r",
                "    case 'RT':\r",
                "    case 'R2':\r",
                "        buttonId = 7;\r",
                "        break;\r",
                "\r",
                "    case 'UP':\r",
                "        buttonId = 12;\r",
                "        break;\r",
                "    case 'DOWN':\r",
                "        buttonId = 13;\r",
                "        break;\r",
                "    case 'LEFT':\r",
                "        buttonId = 14;\r",
                "        break;\r",
                "    case 'RIGHT':\r",
                "        buttonId = 15;\r",
                "        break;\r",
                "\r",
                "    case 'BACK':\r",
                "    case 'SHARE':\r",
                "        buttonId = 8;\r",
                "        break;\r",
                "    case 'START':\r",
                "    case 'OPTIONS':\r",
                "        buttonId = 9;\r",
                "        break;\r",
                "\r",
                "    case 'CLICK_STICK_LEFT':\r",
                "        buttonId = 10;\r",
                "        break;\r",
                "    case 'CLICK_STICK_RIGHT':\r",
                "        buttonId = 11;\r",
                "        break;\r",
                "\r",
                "    //PS4\r",
                "    case 'PS_BUTTON':\r",
                "        buttonId = 16;\r",
                "        break;\r",
                "    case 'CLICK_TOUCHPAD':\r",
                "        buttonId = 17;\r",
                "        break;\r",
                "\r",
                "    default:\r",
                "        console.error('The button: ' + button + ' in condition: \"Gamepad button released\" is not valid.');\r",
                "        break;\r",
                "}\r",
                "\r",
                "if (buttonId === undefined) {\r",
                "    console.error('There is no buttons valid in condition: \"Gamepad button released\"');\r",
                "    eventsFunctionContext.returnValue = false;\r",
                "    return;\r",
                "}\r",
                "\r",
                "if (gamepad.buttons == null || gamepad.buttons[buttonId] == null) {\r",
                "    console.error('Buttons on the gamepad are not accessible in condition: \"Gamepad button released\"');\r",
                "    eventsFunctionContext.returnValue = false;\r",
                "    return;\r",
                "}\r",
                "\r",
                "//Define default value on pressed button or use previous value\r",
                "gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId] = gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId] || { pressed: false };\r",
                "\r",
                "//Get state of button at previous frame\r",
                "const previousStateButton = gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed;\r",
                "\r",
                "//When previousStateButton is true and actual button state is not pressed\r",
                "//Player have release the button\r",
                "if (previousStateButton === true && gamepad.buttons[buttonId].pressed === false) {\r",
                "    // Save the last button used for the player    \r",
                "    gdjs._extensionController.players[playerId].lastButtonUsed = buttonId;\r",
                "    gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed = true;\r",
                "    eventsFunctionContext.returnValue = true;\r",
                "\r",
                "} else {\r",
                "    gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed = false;\r",
                "    eventsFunctionContext.returnValue = false;\r",
                "}\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Name of the button",
              "name": "button",
              "supplementaryInformation": "[\"A\",\"Cross\",\"B\",\"Circle\",\"X\",\"Square\",\"Y\",\"Triangle\",\"LB\",\"L1\",\"RB\",\"R1\",\"LT\",\"L2\",\"RT\",\"R2\",\"Up\",\"Down\",\"Left\",\"Right\",\"Back\",\"Share\",\"Start\",\"Options\",\"Click_Stick_Left\",\"Click_Stick_Right\",\"PS_Button\",\"Click_Touchpad\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the index of the last pressed button of a gamepad.",
          "fullName": "Last pressed button (id)",
          "functionType": "Expression",
          "name": "LastButtonID",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "//Get function parameter\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "\r",
                "//Player id is not valid\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier in expression: \"Last pressed button (id)\", is not valid number, must be between 0 and 4.');\r",
                "    return;\r",
                "}\r",
                "\r",
                "//Return the last button used by the player\r",
                "eventsFunctionContext.returnValue = gdjs._extensionController.players[playerId].lastButtonUsed;"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if any button is pressed on a gamepad.",
          "fullName": "Any gamepad button pressed",
          "functionType": "Condition",
          "name": "C_Any_Button_pressed",
          "sentence": "Any button of gamepad _PARAM1_ is pressed",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameter\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier in condition: \"Any gamepad button pressed\", is not valid number, must be between 0 and 4.');\r",
                "    return;\r",
                "}\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) return;\r",
                "\r",
                "let buttonId;\r",
                "for (let i = 0; i < gamepad.buttons.length; i++) { //For each buttons\r",
                "    if (gamepad.buttons[i].pressed) { //One of them is pressed\r",
                "        buttonId = i; //Save the button pressed\r",
                "        break;\r",
                "    }\r",
                "}\r",
                "\r",
                "if (buttonId === undefined) {\r",
                "    // No buttons are pressed.\r",
                "    eventsFunctionContext.returnValue = false;\r",
                "    return;\r",
                "}\r",
                "\r",
                "if (gamepad.buttons == null || gamepad.buttons[buttonId] == null) {\r",
                "    console.error('Buttons on the gamepad are not accessible in condition: \"Any gamepad button pressed\"');\r",
                "    eventsFunctionContext.returnValue = false;\r",
                "    return;\r",
                "}\r",
                "\r",
                "//When a button is pressed, save the button in lastButtonUsed for each players\r",
                "if (gamepad.buttons[buttonId].pressed) gdjs._extensionController.players[playerId].lastButtonUsed = buttonId;\r",
                "eventsFunctionContext.returnValue = gamepad.buttons[buttonId].pressed;\r",
                "\r",
                "\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the last button pressed. \nButtons for Xbox and PS4 can be:\n* Xbox: \"A\", \"B\", \"X\", \"Y\", \"LB\", \"RB\", \"LT\", \"RT\", \"BACK\", \"START\",\n* PS4: \"CROSS\", \"SQUARE\", \"CIRCLE\", \"TRIANGLE\", \"L1\", \"L2\", \"R1\", \"R2\", \"SHARE\", \"OPTIONS\", \"PS_BUTTON\", \"CLICK_TOUCHPAD\",\n* Both: \"UP\", \"DOWN\", \"LEFT\", \"RIGHT\", \"CLICK_STICK_LEFT\", \"CLICK_STICK_RIGHT\".",
          "fullName": "Last pressed button (string)",
          "functionType": "StringExpression",
          "name": "LastButtonString",
          "sentence": "Button _PARAM2_ of gamepad _PARAM1_ is pressed",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "const controllerType = eventsFunctionContext.getArgument(\"controller_type\").toUpperCase();\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier in string expression: \"Last pressed button (LastButtonString)\", is not valid number, must be between 0 and 4.');\r",
                "    return;\r",
                "}\r",
                "if (controllerType === \"\") {\r",
                "    console.error('Parameter controller type is not valid in string expression: \"Last pressed button (LastButtonString)\"');\r",
                "    return;\r",
                "}\r",
                "\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "if (gamepad !== null) { //Gamepad exist\r",
                "    //Get last btn id\r",
                "    const lastButtonUsedID = gdjs._extensionController.players[playerId].lastButtonUsed;\r",
                "\r",
                "    //Return last button as string    \r",
                "    eventsFunctionContext.returnValue = gdjs._extensionController.getInputString(controllerType, lastButtonUsedID);\r",
                "\r",
                "} else { //Gamepad dosen't exist\r",
                "    console.error('Your controller is not supported or the gamepad wasn\\'t detected in string expression: \"Last pressed button (LastButtonString)\"');\r",
                "    eventsFunctionContext.returnValue = \"Gamepad not connected\";\r",
                "}"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "string"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Controller type",
              "name": "controller_type",
              "supplementaryInformation": "[\"Xbox\",\"PS4\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the number of gamepads.",
          "fullName": "Gamepad count",
          "functionType": "Expression",
          "name": "GamepadCount",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get the last activated controller\r",
                "const controllerId = gdjs._extensionController.lastActiveController;\r",
                "\r",
                "// Check if controller is active\r",
                "const gamepad = gamepads[controllerId];\r",
                "if (gamepad == null) {\r",
                "    eventsFunctionContext.returnValue = 0;\r",
                "} else {\r",
                "    // Return active controller id\r",
                "    eventsFunctionContext.returnValue = controllerId + 1;\r",
                "}\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [],
          "objectGroups": []
        },
        {
          "description": "Check if a button is pressed on a gamepad. \nButtons can be:\n* Xbox: \"A\", \"B\", \"X\", \"Y\", \"LB\", \"RB\", \"LT\", \"RT\", \"BACK\", \"START\",\n* PS4: \"CROSS\", \"SQUARE\", \"CIRCLE\", \"TRIANGLE\", \"L1\", \"L2\", \"R1\", \"R2\", \"SHARE\", \"OPTIONS\", \"PS_BUTTON\", \"CLICK_TOUCHPAD\",\n* Other: \"UP\", \"DOWN\", \"LEFT\", \"RIGHT\", \"CLICK_STICK_LEFT\", \"CLICK_STICK_RIGHT\".",
          "fullName": "Gamepad button pressed",
          "functionType": "Condition",
          "name": "C_Button_pressed",
          "sentence": "Button _PARAM2_ of gamepad _PARAM1_ is pressed",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "const button = eventsFunctionContext.getArgument(\"button\").toUpperCase();\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier in condition: \"Gamepad button pressed\", is not valid number, must be between 0 and 4.');\r",
                "    return;\r",
                "}\r",
                "if (button === \"\") {\r",
                "    console.error('Parameter button is not valid in condition: \"Gamepad button pressed\"');\r",
                "    eventsFunctionContext.returnValue = false;\r",
                "    return;\r",
                "}\r",
                "\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) return;\r",
                "\r",
                "let buttonId;\r",
                "\r",
                "switch (button) {\r",
                "    case 'A':\r",
                "    case 'CROSS':\r",
                "        buttonId = 0;\r",
                "        break;\r",
                "    case 'B':\r",
                "    case 'CIRCLE':\r",
                "        buttonId = 1;\r",
                "        break;\r",
                "    case 'X':\r",
                "    case 'SQUARE':\r",
                "        buttonId = 2;\r",
                "        break;\r",
                "    case 'Y':\r",
                "    case 'TRIANGLE':\r",
                "        buttonId = 3;\r",
                "        break;\r",
                "    case 'LB':\r",
                "    case 'L1':\r",
                "        buttonId = 4;\r",
                "        break;\r",
                "    case 'RB':\r",
                "    case 'R1':\r",
                "        buttonId = 5;\r",
                "        break;\r",
                "    case 'LT':\r",
                "    case 'L2':\r",
                "        buttonId = 6;\r",
                "        break;\r",
                "    case 'RT':\r",
                "    case 'R2':\r",
                "        buttonId = 7;\r",
                "        break;\r",
                "\r",
                "    case 'UP':\r",
                "        buttonId = 12;\r",
                "        break;\r",
                "    case 'DOWN':\r",
                "        buttonId = 13;\r",
                "        break;\r",
                "    case 'LEFT':\r",
                "        buttonId = 14;\r",
                "        break;\r",
                "    case 'RIGHT':\r",
                "        buttonId = 15;\r",
                "        break;\r",
                "\r",
                "    case 'BACK':\r",
                "    case 'SHARE':\r",
                "        buttonId = 8;\r",
                "        break;\r",
                "    case 'START':\r",
                "    case 'OPTIONS':\r",
                "        buttonId = 9;\r",
                "        break;\r",
                "\r",
                "    case 'CLICK_STICK_LEFT':\r",
                "        buttonId = 10;\r",
                "        break;\r",
                "    case 'CLICK_STICK_RIGHT':\r",
                "        buttonId = 11;\r",
                "        break;\r",
                "\r",
                "    //PS4\r",
                "    case 'PS_BUTTON':\r",
                "        buttonId = 16;\r",
                "        break;\r",
                "    case 'CLICK_TOUCHPAD':\r",
                "        buttonId = 17;\r",
                "        break;\r",
                "\r",
                "    default:\r",
                "        console.error('The button: ' + button + ' in condition: \"Gamepad button pressed\" is not valid.');\r",
                "        eventsFunctionContext.returnValue = false;\r",
                "        break;\r",
                "}\r",
                "\r",
                "\r",
                "\r",
                "if (buttonId === undefined) {\r",
                "    console.error('There is no buttons valid in condition: \"Gamepad button pressed\"');\r",
                "    eventsFunctionContext.returnValue = false;\r",
                "    return;\r",
                "}\r",
                "\r",
                "if (gamepad.buttons == null || gamepad.buttons[buttonId] == null) {\r",
                "    console.error('Buttons on the gamepad are not accessible in condition: \"Gamepad button pressed\"');\r",
                "    eventsFunctionContext.returnValue = false;\r",
                "    return;\r",
                "}\r",
                "\r",
                "//When a button is pressed, save the button in lastButtonUsed for each players\r",
                "if (gamepad.buttons[buttonId].pressed) gdjs._extensionController.players[playerId].lastButtonUsed = buttonId;\r",
                "eventsFunctionContext.returnValue = gamepad.buttons[buttonId].pressed;\r",
                "\r",
                "\r",
                "\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Name of the button",
              "name": "button",
              "supplementaryInformation": "[\"A\",\"Cross\",\"B\",\"Circle\",\"X\",\"Square\",\"Y\",\"Triangle\",\"LB\",\"L1\",\"RB\",\"R1\",\"LT\",\"L2\",\"RT\",\"R2\",\"Up\",\"Down\",\"Left\",\"Right\",\"Back\",\"Share\",\"Start\",\"Options\",\"Click_Stick_Left\",\"Click_Stick_Right\",\"PS_Button\",\"Click_Touchpad\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the value of the deadzone applied to a gamepad sticks, between 0 and 1.",
          "fullName": "Gamepad deadzone for sticks",
          "functionType": "Expression",
          "name": "Deadzone",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": []
            },
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "//Get function parameter\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier in expression: \"Gamepad deadzone for sticks\", is not valid number, must be between 0 and 4.');\r",
                "    return;\r",
                "}\r",
                "///Return the deadzone value for a given player\r",
                "eventsFunctionContext.returnValue = gdjs._extensionController.players[playerId].deadzone;"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Set the deadzone for sticks of the gamepad. The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved). Deadzone is between 0 and 1, and is by default 0.2.",
          "fullName": "Set gamepad deadzone for sticks",
          "functionType": "Action",
          "name": "A_Set_deadzone",
          "sentence": "Set deadzone for sticks on gamepad: _PARAM1_ to _PARAM2_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "//Get function parameter\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "const newDeadzone = eventsFunctionContext.getArgument(\"deadzone\");\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier in action: \"Set gamepad deadzone for sticks\", is not valid, must be between 0 and 4.');\r",
                "    return;\r",
                "}\r",
                "\r",
                "// clamp the newDeadzone in range [0, 1].\r",
                "// https://github.com/4ian/GDevelop-extensions/pull/33#issuecomment-618224857\r",
                "gdjs._extensionController.players[playerId].deadzone = gdjs.evtTools.common.clamp(newDeadzone, 0, 1);\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Deadzone for sticks, 0.2 by default (0 to 1)",
              "name": "deadzone",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if a stick of a gamepad is pushed in a given direction.",
          "fullName": "Gamepad stick pushed (axis)",
          "functionType": "Condition",
          "name": "C_Axis_pushed",
          "sentence": "_PARAM2_ stick of gamepad _PARAM1_ is pushed in direction _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "const stick = eventsFunctionContext.getArgument(\"stick\").toUpperCase();\r",
                "const direction = eventsFunctionContext.getArgument(\"direction\").toUpperCase();\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "    console.error('Parameter gamepad identifier in condition: \"Gamepad stick pushed (axis)\", is not valid number, must be between 0 and 4.');\r",
                "    return;\r",
                "}\r",
                "if (stick != \"LEFT\" && stick != \"RIGHT\") {\r",
                "    console.error('Parameter stick in condition: \"Gamepad stick pushed (axis)\", is not valid, must be LEFT or RIGHT');\r",
                "    return;\r",
                "}\r",
                "if (direction != \"UP\" && direction != \"DOWN\" && direction != \"LEFT\" && direction != \"RIGHT\" && direction != \"ANY\") {\r",
                "    console.error('Parameter deadzone in condition: \"Gamepad stick pushed (axis)\", is not valid, must be UP, DOWN, LEFT or RIGHT');\r",
                "    return;\r",
                "}\r",
                "\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) {\r",
                "    eventsFunctionContext.returnValue = false;\r",
                "    return;\r",
                "}\r",
                "\r",
                "\r",
                "//Define in onFirstSceneLoaded function\r",
                "const getNormalizedAxisValue = gdjs._extensionController.getNormalizedAxisValue;\r",
                "\r",
                "switch (stick) {\r",
                "    case 'LEFT':\r",
                "        switch (direction) {\r",
                "            case 'LEFT':\r",
                "                if (getNormalizedAxisValue(gamepad.axes[0], playerId) < 0) {\r",
                "                    eventsFunctionContext.returnValue = true;\r",
                "                    return;\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'RIGHT':\r",
                "                if (getNormalizedAxisValue(gamepad.axes[0], playerId) > 0) {\r",
                "                    eventsFunctionContext.returnValue = true;\r",
                "                    return;\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'UP':\r",
                "                if (getNormalizedAxisValue(gamepad.axes[1], playerId) < 0) {\r",
                "                    eventsFunctionContext.returnValue = true;\r",
                "                    return;\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'DOWN':\r",
                "                if (getNormalizedAxisValue(gamepad.axes[1], playerId) > 0) {\r",
                "                    eventsFunctionContext.returnValue = true;\r",
                "                    return;\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'ANY':\r",
                "                if (   getNormalizedAxisValue(gamepad.axes[0], playerId) < 0\r",
                "                    || getNormalizedAxisValue(gamepad.axes[0], playerId) > 0\r",
                "                    || getNormalizedAxisValue(gamepad.axes[1], playerId) < 0 \r",
                "                    || getNormalizedAxisValue(gamepad.axes[1], playerId) > 0) {\r",
                "                    eventsFunctionContext.returnValue = true;\r",
                "                    return;\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            default:\r",
                "                console.error('The value Direction on stick Left on the condition: \"Gamepad stick pushed (axis)\" is not valid.');\r",
                "                eventsFunctionContext.returnValue = false;\r",
                "                break;\r",
                "        }\r",
                "        break;\r",
                "\r",
                "    case 'RIGHT':\r",
                "        switch (direction) {\r",
                "            case 'LEFT':\r",
                "                if (getNormalizedAxisValue(gamepad.axes[2], playerId) < 0) {\r",
                "                    eventsFunctionContext.returnValue = true;\r",
                "                    return;\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'RIGHT':\r",
                "                if (getNormalizedAxisValue(gamepad.axes[2], playerId) > 0) {\r",
                "                    eventsFunctionContext.returnValue = true;\r",
                "                    return;\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'UP':\r",
                "                if (getNormalizedAxisValue(gamepad.axes[3], playerId) < 0) {\r",
                "                    eventsFunctionContext.returnValue = true;\r",
                "                    return;\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'DOWN':\r",
                "                if (getNormalizedAxisValue(gamepad.axes[3], playerId) > 0) {\r",
                "                    eventsFunctionContext.returnValue = true;\r",
                "                    return;\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            case 'ANY':\r",
                "                if (   getNormalizedAxisValue(gamepad.axes[2], playerId) < 0\r",
                "                    || getNormalizedAxisValue(gamepad.axes[2], playerId) > 0\r",
                "                    || getNormalizedAxisValue(gamepad.axes[3], playerId) < 0 \r",
                "                    || getNormalizedAxisValue(gamepad.axes[3], playerId) > 0) {\r",
                "                    eventsFunctionContext.returnValue = true;\r",
                "                    return;\r",
                "                }\r",
                "                break;\r",
                "\r",
                "            default:\r",
                "                console.error('The value Direction on stick Right on the condition: \"Gamepad stick pushed (axis)\" is not valid.');\r",
                "                eventsFunctionContext.returnValue = false;\r",
                "                break;\r",
                "        }\r",
                "        break;\r",
                "\r",
                "    default:\r",
                "        console.error('The value Stick on the condition: \"Gamepad stick pushed (axis)\" is not valid.');\r",
                "        eventsFunctionContext.returnValue = false;\r",
                "        break;\r",
                "}\r",
                "\r",
                "eventsFunctionContext.returnValue = false;\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Stick: \"Left\" or \"Right\"",
              "name": "stick",
              "supplementaryInformation": "[\"Left\",\"Right\"]",
              "type": "stringWithSelector"
            },
            {
              "description": "Direction",
              "name": "direction",
              "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"Any\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the number of connected gamepads.",
          "fullName": "Connected gamepads number",
          "functionType": "Expression",
          "name": "ConnectedGamepadsCount",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": []
            },
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "// Gamepads can be disconnected and become null, so we have to filter them.\r",
                "eventsFunctionContext.returnValue = Object.keys(gamepads).filter(key => !!gamepads[key]).length;\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [],
          "objectGroups": []
        },
        {
          "description": "Return a string containing informations about the specified gamepad.",
          "fullName": "Gamepad type",
          "functionType": "StringExpression",
          "name": "GamepadType",
          "sentence": "Player _PARAM1_ use _PARAM2_ controller",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);",
                "",
                "//Get function parameter",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;",
                "",
                "if (playerId < 0 || playerId > 4) {",
                "    console.error('Parameter gamepad identifier in string expression: \"Gamepad type\", is not valid number, must be between 0 and 4');",
                "    return;",
                "}",
                "",
                "const gamepad = gamepads[playerId];",
                "",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.",
                "if (gamepad == null) return;",
                "",
                "eventsFunctionContext.returnValue = (gamepad && gamepad.id) ? gamepad.id : \"No information for player \" + (playerId + 1)",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "expressionType": {
            "type": "string"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if the specified gamepad has the specified information in its description. Useful to know if the gamepad is a Xbox or PS4 controller.",
          "fullName": "Gamepad type",
          "functionType": "Condition",
          "name": "C_Controller_type",
          "sentence": "Gamepad _PARAM1_ is a _PARAM2_ controller",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);",
                "",
                "//Get function parameters",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;",
                "const controllerType = eventsFunctionContext.getArgument(\"controller_type\").toUpperCase();",
                "",
                "if (playerId < 0 || playerId > 4) {",
                "    console.error('Parameter gamepad identifier in condition: \"Gamepad type\", is not valid number, must be between 0 and 4.');",
                "    return;",
                "}",
                "if (controllerType === \"\") {",
                "    console.error('Parameter type in condition: \"Gamepad type\", is not a string.');",
                "    return;",
                "}",
                "",
                "const gamepad = gamepads[playerId];",
                "",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.",
                "if (gamepad == null) return;",
                "",
                "",
                "if (controllerType == \"XBOX\") {",
                "    eventsFunctionContext.returnValue = gdjs._extensionController.isXbox(gamepad);",
                "} else {",
                "    eventsFunctionContext.returnValue = gamepad ? gamepad.id.toUpperCase().indexOf(controllerType) !== -1 : false;",
                "}"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            },
            {
              "description": "Type: \"Xbox\", \"PS4\", \"Steam\" or \"PS3\" (among other)",
              "name": "controller_type",
              "type": "string"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if a gamepad is connected.",
          "fullName": "Gamepad connected",
          "functionType": "Condition",
          "name": "C_Controller_X_is_connected",
          "sentence": "Gamepad _PARAM1_ is plugged and connected",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);",
                "",
                "//Get function parameter",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;",
                "",
                "if (playerId < 0 || playerId > 4) {",
                "    console.error('Parameter gamepad identifier in condition: \"Gamepad connected\", is not valid number, must be between 0 and 4.');",
                "    return;",
                "}",
                "",
                "// If gamepad was disconnected it will be null (so this will return false)",
                "// If gamepad was never connected it will be undefined (so this will return false)",
                "eventsFunctionContext.returnValue = !!gamepads[playerId];"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Generate a vibration on the specified controller. Might only work if the game is running in a recent web browser.",
          "fullName": "Gamepad vibration",
          "functionType": "Action",
          "name": "A_Vibrate_controller",
          "sentence": "Make gamepad _PARAM1_ vibrate for _PARAM2_ seconds",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */",
                "//Vibration work only on game in browser.",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);",
                "",
                "//Get function parameters",
                "const playerId = eventsFunctionContext.getArgument(\"Player_ID\") - 1;",
                "const duration = eventsFunctionContext.getArgument(\"Duration\") || 1;",
                "",
                "if (playerId < 0 || playerId > 4) {",
                "  console.error('Parameter gamepad identifier in action: \"Gamepad connected\", is not valid number, must be between 0 and 4.');",
                "  return;",
                "}",
                "",
                "const gamepad = gamepads[playerId];",
                "",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.",
                "if (gamepad == null) return;",
                "",
                "if (gamepad && gamepad.vibrationActuator) {",
                "  gamepad.vibrationActuator.playEffect(\"dual-rumble\", {",
                "    startDelay: 0,",
                "    duration: duration * 1000,",
                "    weakMagnitude: 1.0,",
                "    strongMagnitude: 1.0",
                "  });",
                "}"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "Player_ID",
              "type": "expression"
            },
            {
              "description": "Time of the vibration, in seconds (optional, default value is 1)",
              "name": "Duration",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Generate an advanced vibration on the specified controller. Incompatible with Firefox.",
          "fullName": "Advanced gamepad vibration",
          "functionType": "Action",
          "name": "A_Advanced_Vibration_Controller",
          "sentence": "Make gamepad _PARAM1_ vibrate for _PARAM2_ seconds with the vibration magnitude of _PARAM3_ and _PARAM4_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */",
                "//Vibration work only on game in browser.",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);",
                "",
                "//Get function parameters",
                "const playerId = eventsFunctionContext.getArgument(\"Player_ID\") - 1;",
                "const duration = eventsFunctionContext.getArgument(\"Duration\") || 1;",
                "const strongRumbleMagnitude = eventsFunctionContext.getArgument(\"StrongMagnitude\");",
                "const weakRumbleMagnitude = eventsFunctionContext.getArgument(\"WeakMagnitude\");",
                "",
                "if (playerId < 0 || playerId > 4) {",
                "  console.error('Parameter gamepad identifier in action: \"Advanced gamepad vibration\", is not valid number, must be between 0 and 4.');",
                "  return;",
                "}",
                "if (weakRumbleMagnitude < 0 || weakRumbleMagnitude > 1) {",
                "  console.error('Parameter weakRumble identifier in action: \"Advanced gamepad vibration\", is not valid number, must be between 0 and 1.');",
                "  return;",
                "}",
                "if (strongRumbleMagnitude < 0 || strongRumbleMagnitude > 1) {",
                "  console.error('Parameter strongRumble identifier in action: \"Advanced gamepad vibration\", is not valid number, must be between 0 and 1.');",
                "  return;",
                "}",
                "",
                "const gamepad = gamepads[playerId];",
                "",
                "//we need keep this condition because when use have not yet plug the controller we can't get the controller in the gamepad variable.",
                "if (gamepad == null) return;",
                "",
                "if (gamepad && gamepad.vibrationActuator) {",
                "  gamepad.vibrationActuator.playEffect(\"dual-rumble\", {",
                "    startDelay: 0,",
                "    duration: duration * 1000,",
                "    weakMagnitude: weakRumbleMagnitude,",
                "    strongMagnitude: strongRumbleMagnitude",
                "  });",
                "}",
                "",
                "gdjs._extensionController.players[playerId].rumble.duration = duration;",
                "gdjs._extensionController.players[playerId].rumble.elapsedTime = 0;",
                "gdjs._extensionController.players[playerId].rumble.weakMagnitude = weakRumbleMagnitude;",
                "gdjs._extensionController.players[playerId].rumble.strongMagnitude = strongRumbleMagnitude;"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "Player_ID",
              "type": "expression"
            },
            {
              "description": "Time of the vibration, in seconds (optional, default value is 1)",
              "name": "Duration",
              "type": "expression"
            },
            {
              "description": "Strong rumble magnitude (from 0 to 1)",
              "name": "StrongMagnitude",
              "type": "expression"
            },
            {
              "description": "Weak rumble magnitude (from 0 to 1)",
              "name": "WeakMagnitude",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Change a vibration on the specified controller. Incompatible with Firefox.",
          "fullName": "Change gamepad active vibration",
          "functionType": "Action",
          "name": "A_Change_Vibration_Magnitude",
          "sentence": "Change the vibration magnitude of _PARAM2_ & _PARAM3_ on gamepad _PARAM1_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */",
                "//Vibration work only on game in browser.",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);",
                "",
                "//Get function parameters",
                "const playerId = eventsFunctionContext.getArgument(\"Player_ID\") - 1;",
                "const elapsedTime = gdjs._extensionController.players[playerId].rumble.elapsedTime || 0;",
                "const originalDuration = gdjs._extensionController.players[playerId].rumble.duration || 1;",
                "const strongRumbleMagnitude = eventsFunctionContext.getArgument(\"StrongMagnitude\");",
                "const weakRumbleMagnitude = eventsFunctionContext.getArgument(\"WeakMagnitude\");",
                "",
                "",
                "if (playerId < 0 || playerId > 4) {",
                "  console.error('Parameter gamepad identifier in action: \"Change gamepad active vibration\", is not valid number, must be between 0 and 4.');",
                "  return;",
                "}",
                "if (weakRumbleMagnitude < 0 || weakRumbleMagnitude > 1) {",
                "  console.error('Parameter weakRumble identifier in action: \"Change gamepad active vibration\", is not valid number, must be between 0 and 1.');",
                "  return;",
                "}",
                "if (strongRumbleMagnitude < 0 || strongRumbleMagnitude > 1) {",
                "  console.error('Parameter strongRumble identifier in action: \"Change gamepad active vibration\", is not valid number, must be between 0 and 1.');",
                "  return;",
                "}",
                "",
                "const gamepad = gamepads[playerId];",
                "",
                "//we need keep this condition because when use have not yet plug the controller we can't get the controller in the gamepad variable.",
                "if (gamepad == null) return;",
                "",
                "if (originalDuration - elapsedTime <= 0) return;",
                "",
                "if (gamepad && gamepad.vibrationActuator) {",
                "  gamepad.vibrationActuator.playEffect(\"dual-rumble\", {",
                "    startDelay: 0,",
                "    duration: 1000 * (originalDuration - elapsedTime),",
                "    weakMagnitude: weakRumbleMagnitude,",
                "    strongMagnitude: strongRumbleMagnitude",
                "  });",
                "}",
                "",
                "gdjs._extensionController.players[playerId].rumble.weakMagnitude = weakRumbleMagnitude;",
                "gdjs._extensionController.players[playerId].rumble.strongMagnitude = strongRumbleMagnitude;"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "Player_ID",
              "type": "expression"
            },
            {
              "description": "Strong rumble magnitude (from 0 to 1)",
              "name": "StrongMagnitude",
              "type": "expression"
            },
            {
              "description": "Weak rumble magnitude (from 0 to 1)",
              "name": "WeakMagnitude",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "fullName": "",
          "functionType": "Action",
          "name": "onFirstSceneLoaded",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": []
            },
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "//Define an new private object javascript for the gamepad extension\r",
                "gdjs._extensionController = {\r",
                "    players: {\r",
                "        0: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r",
                "        1: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r",
                "        2: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r",
                "        3: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r",
                "    },\r",
                "    lastActiveController: -1, // Last active controller\r",
                "    controllerButtonNames: { //Map associating controller button ids to button names\r",
                "        \"XBOX\": {\r",
                "            0: \"A\",\r",
                "            1: \"B\",\r",
                "            2: \"X\",\r",
                "            3: \"Y\",\r",
                "            4: \"LB\",\r",
                "            5: \"RB\",\r",
                "            6: \"LT\",\r",
                "            7: \"RT\",\r",
                "            8: \"BACK\",\r",
                "            9: \"START\",\r",
                "            10: \"CLICK_STICK_LEFT\",\r",
                "            11: \"CLICK_STICK_RIGHT\",\r",
                "            12: \"UP\",\r",
                "            13: \"DOWN\",\r",
                "            14: \"LEFT\",\r",
                "            15: \"RIGHT\",\r",
                "            16: \"NONE\",\r",
                "            17: \"NONE\"\r",
                "        },\r",
                "        \"PS4\": {\r",
                "            0: \"CROSS\",\r",
                "            1: \"CIRCLE\",\r",
                "            2: \"SQUARE\",\r",
                "            3: \"TRIANGLE\",\r",
                "            4: \"L1\",\r",
                "            5: \"R1\",\r",
                "            6: \"L2\",\r",
                "            7: \"R2\",\r",
                "            8: \"SHARE\",\r",
                "            9: \"OPTIONS\",\r",
                "            10: \"CLICK_STICK_LEFT\",\r",
                "            11: \"CLICK_STICK_RIGHT\",\r",
                "            12: \"UP\",\r",
                "            13: \"DOWN\",\r",
                "            14: \"LEFT\",\r",
                "            15: \"RIGHT\",\r",
                "            16: \"PS_BUTTON\",\r",
                "            17: \"CLICK_TOUCHPAD\"\r",
                "        }\r",
                "    }\r",
                "};\r",
                "\r",
                "gdjs._extensionController.getInputString = function (type, buttonId) {\r",
                "    const controllerButtonNames = gdjs._extensionController.controllerButtonNames;\r",
                "    if (controllerButtonNames[type] !== undefined) {\r",
                "        return controllerButtonNames[type][buttonId];\r",
                "    }\r",
                "\r",
                "    return \"UNKNOWN_BUTTON\";\r",
                "}\r",
                "\r",
                "gdjs._extensionController.axisToAngle = function (deltaX, deltaY) {\r",
                "    const rad = Math.atan2(deltaY, deltaX);\r",
                "    const deg = rad * (180 / Math.PI);\r",
                "    return deg;\r",
                "}\r",
                "\r",
                "gdjs._extensionController.isXbox = function (gamepad) {\r",
                "    return (gamepad ? (\r",
                "        gamepad.id.toUpperCase().indexOf(\"XBOX\") !== -1\r",
                "        // \"XINPUT\" cannot be used to check if it is a xbox controller is just a generic\r",
                "        // name reported in Firefox corresponding to the driver being used by the controller\r",
                "        // https://gamefaqs.gamespot.com/boards/916373-pc/73341312?page=1\r",
                "    ) : false);\r",
                "}\r",
                "\r",
                "//Returns the new value taking into account the dead zone for the player_ID given\r",
                "gdjs._extensionController.getNormalizedAxisValue = function (v, player_ID) {\r",
                "    //    gdjs._extensionController = gdjs._extensionController || { deadzone: 0.2 };\r",
                "\r",
                "    // Anything smaller than this is assumed to be 0,0\r",
                "    const DEADZONE = gdjs._extensionController.players[player_ID].deadzone;\r",
                "\r",
                "    if (Math.abs(v) < DEADZONE) {\r",
                "        // In the dead zone, set to 0\r",
                "        v = 0;\r",
                "\r",
                "        if (v == null) {\r",
                "            return 0;\r",
                "        } else {\r",
                "            return v;\r",
                "        }\r",
                "\r",
                "    } else {\r",
                "        // We're outside the dead zone, but we'd like to smooth\r",
                "        // this value out so it still runs nicely between 0..1.\r",
                "        // That is, we don't want it to jump suddenly from 0 to\r",
                "        // DEADZONE.\r",
                "\r",
                "        // Remap v from\r",
                "        //    DEADZONE..1 to 0..(1-DEADZONE)\r",
                "        // or from\r",
                "        //    -1..-DEADZONE to -(1-DEADZONE)..0\r",
                "\r",
                "        v = v - Math.sign(v) * DEADZONE;\r",
                "\r",
                "        // Remap v from\r",
                "        //    0..(1-DEADZONE) to 0..1\r",
                "        // or from\r",
                "        //    -(1-DEADZONE)..0 to -1..0\r",
                "\r",
                "        return v / (1 - DEADZONE);\r",
                "    }\r",
                "};"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [],
          "objectGroups": []
        },
        {
          "fullName": "",
          "functionType": "Action",
          "name": "onScenePostEvents",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": []
            },
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "//Each time a player press a button i save the last button pressed for the next frame",
                "/** @type {Gamepad[]} */",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);",
                "",
                "//Get function parameter",
                "let countPlayers = Object.keys(gdjs._extensionController.players).length;",
                "",
                "//Repeat for each players",
                "for (let i = 0; i < countPlayers; i++) {",
                "    let gamepad = gamepads[i]; // Get the gamepad of the player",
                "",
                "    //We have to keep this condition because if the user hasn't plugged in his controller yet, we can't get the controller in the gamepad variable.",
                "    if (gamepad == null) {",
                "        continue;",
                "    }",
                "",
                "    for (let b = 0; b < Object.keys(gamepad.buttons).length; b++) { //For each buttons",
                "        if (gamepad.buttons[b].pressed) { //One of them is pressed",
                "            gdjs._extensionController.players[i].lastButtonUsed = b; //Save the button pressed",
                "",
                "            //Save the state of the button for the next frame.",
                "            gdjs._extensionController.players[i].previousFrameStateButtons[b] = { pressed: true };",
                "",
                "            // Update Last Active Controller",
                "            gdjs._extensionController.lastActiveController = i;",
                "        } else {",
                "            gdjs._extensionController.players[i].previousFrameStateButtons[b] = { pressed: false };",
                "        }",
                "    }",
                "",
                "",
                "    gdjs._extensionController.players[i].rumble.elapsedTime += runtimeScene.getElapsedTime(runtimeScene) / 1000;",
                "    if (",
                "        gdjs._extensionController.players[i].rumble.duration - gdjs._extensionController.players[i].rumble.elapsedTime <= 0 &&",
                "        (gdjs._extensionController.players[i].rumble.weakMagnitude || gdjs._extensionController.players[i].rumble.strongMagnitude)",
                "    ) {",
                "        gdjs._extensionController.players[i].rumble.weakMagnitude = 0;",
                "        gdjs._extensionController.players[i].rumble.strongMagnitude = 0;",
                "    }",
                "",
                "",
                "}",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [],
          "objectGroups": []
        },
        {
          "description": "Check if any button is released on a gamepad.",
          "fullName": "Any gamepad button released",
          "functionType": "Condition",
          "name": "C_any_button_released",
          "sentence": "Any button of gamepad _PARAM1_ is released",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": []
            },
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "/** @type {Gamepad[]} */\r",
                "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r",
                "\r",
                "//Get function parameters\r",
                "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r",
                "\r",
                "if (playerId < 0 || playerId > 4) {\r",
                "\tconsole.error('Parameter gamepad identifier in condition: \"Any gamepad button released\", is not valid number, must be between 0 and 4.');\r",
                "\treturn;\r",
                "}\r",
                "\r",
                "const gamepad = gamepads[playerId];\r",
                "\r",
                "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r",
                "if (gamepad == null) return;\r",
                "\r",
                "for (let buttonId = 0; buttonId < gamepad.buttons.length; buttonId++) { //For each buttons on current frame.\r",
                "\r",
                "\tif (buttonId === undefined) {\r",
                "\t\teventsFunctionContext.returnValue = false;\r",
                "\t\treturn;\r",
                "\t}\r",
                "\r",
                "\t//Get previous value or define value by default for the current button\r",
                "\tgdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId] = gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId] || { pressed: false };\r",
                "\r",
                "\t//Get state of the button at previous frame\r",
                "\tconst previousStateButtonIsPressed = gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed;\r",
                "\r",
                "\t//Get the state of the button on the current frame.\r",
                "\tconst currentFrameStateButtonIsPressed = gamepad.buttons[buttonId].pressed;\r",
                "\r",
                "\t//When previousStateButtonIsPressed is true and actual button state is not pressed\r",
                "\t//Player have release the button\r",
                "\tif (previousStateButtonIsPressed === true && currentFrameStateButtonIsPressed === false) {\r",
                "\t\tgdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed = true;\r",
                "\t\teventsFunctionContext.returnValue = true;\r",
                "\t\t//break;\r",
                "\t\treturn;\r",
                "\t} else {\r",
                "\t\t//The player didn't released the button yet, the previous frame state is still true\r",
                "\t\tgdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed = false;\r",
                "\t\teventsFunctionContext.returnValue = false;\r",
                "\t}\r",
                "\r",
                "\tif (currentFrameStateButtonIsPressed) gdjs._extensionController.players[playerId].lastButtonUsed = buttonId;\r",
                "}\r",
                ""
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": true
            }
          ],
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "player_ID",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the strength of the weak vibration motor on the gamepad of a player.",
          "fullName": "Weak rumble magnitude",
          "functionType": "Expression",
          "name": "WeakVibrationMagnitude",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "const playerId = eventsFunctionContext.getArgument(\"Player_ID\") - 1;\r",
                "eventsFunctionContext.returnValue = gdjs._extensionController.players[playerId].rumble.weakMagnitude;"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": false
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "Player_ID",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the strength of the strong vibration motor on the gamepad of a player.",
          "fullName": "Strong rumble magnitude",
          "functionType": "Expression",
          "name": "StrongVibrationMagnitude",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::JsCode",
              "inlineCode": [
                "const playerId = eventsFunctionContext.getArgument(\"Player_ID\") - 1;\r",
                "eventsFunctionContext.returnValue = gdjs._extensionController.players[playerId].rumble.strongMagnitude;"
              ],
              "parameterObjects": "",
              "useStrict": true,
              "eventsSheetExpanded": false
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "The gamepad identifier: 1, 2, 3 or 4",
              "name": "Player_ID",
              "type": "expression"
            }
          ],
          "objectGroups": []
        }
      ],
      "eventsBasedBehaviors": [
        {
          "description": "Control a platformer character with a gamepad.",
          "fullName": "Platformer gamepad mapper",
          "name": "PlatformerGamepadMapper",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Gamepads::C_Controller_X_is_connected"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyGamepadIdentifier()",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyUseArrows"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Button_pressed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Left\"",
                                "\"Left\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateLeftKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Button_pressed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Right\"",
                                "\"Left\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateRightKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Button_pressed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Up\"",
                                "\"Left\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateUpKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            },
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateLadderKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Button_pressed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Down\"",
                                "\"Left\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateDownKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyUseLeftStick"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Axis_pushed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Left\"",
                                "\"Left\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateLeftKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Axis_pushed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Left\"",
                                "\"Right\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateRightKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Axis_pushed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Left\"",
                                "\"Up\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateUpKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            },
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateLadderKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Axis_pushed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Left\"",
                                "\"Down\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateDownKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyUseRightStick"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Axis_pushed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Right\"",
                                "\"Left\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateLeftKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Axis_pushed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Right\"",
                                "\"Right\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateRightKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Axis_pushed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Right\"",
                                "\"Up\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateUpKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            },
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateLadderKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Axis_pushed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Right\"",
                                "\"Down\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "PlatformBehavior::SimulateDownKey"
                              },
                              "parameters": [
                                "Object",
                                "PlatformerCharacter"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "\"A or Cross\""
                          ]
                        },
                        {
                          "type": {
                            "value": "Gamepads::C_Button_pressed"
                          },
                          "parameters": [
                            "",
                            "Object.Behavior::PropertyGamepadIdentifier()",
                            "\"A\"",
                            "\"Left\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateJumpKey"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "\"B or Circle\""
                          ]
                        },
                        {
                          "type": {
                            "value": "Gamepads::C_Button_pressed"
                          },
                          "parameters": [
                            "",
                            "Object.Behavior::PropertyGamepadIdentifier()",
                            "\"B\"",
                            "\"Left\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateJumpKey"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "\"X or Square\""
                          ]
                        },
                        {
                          "type": {
                            "value": "Gamepads::C_Button_pressed"
                          },
                          "parameters": [
                            "",
                            "Object.Behavior::PropertyGamepadIdentifier()",
                            "\"X\"",
                            "\"Left\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateJumpKey"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "\"Y or Triangle\""
                          ]
                        },
                        {
                          "type": {
                            "value": "Gamepads::C_Button_pressed"
                          },
                          "parameters": [
                            "",
                            "Object.Behavior::PropertyGamepadIdentifier()",
                            "\"Y\"",
                            "\"Left\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateJumpKey"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "\"LB or L1\""
                          ]
                        },
                        {
                          "type": {
                            "value": "Gamepads::C_Button_pressed"
                          },
                          "parameters": [
                            "",
                            "Object.Behavior::PropertyGamepadIdentifier()",
                            "\"LB\"",
                            "\"Left\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateJumpKey"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "\"RB or R1\""
                          ]
                        },
                        {
                          "type": {
                            "value": "Gamepads::C_Button_pressed"
                          },
                          "parameters": [
                            "",
                            "Object.Behavior::PropertyGamepadIdentifier()",
                            "\"RB\"",
                            "\"Left\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateJumpKey"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "\"LT or L2\""
                          ]
                        },
                        {
                          "type": {
                            "value": "Gamepads::C_Button_pressed"
                          },
                          "parameters": [
                            "",
                            "Object.Behavior::PropertyGamepadIdentifier()",
                            "\"LT\"",
                            "\"Left\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateJumpKey"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "\"RT or R2\""
                          ]
                        },
                        {
                          "type": {
                            "value": "Gamepads::C_Button_pressed"
                          },
                          "parameters": [
                            "",
                            "Object.Behavior::PropertyGamepadIdentifier()",
                            "\"RT\"",
                            "\"Left\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "PlatformBehavior::SimulateJumpKey"
                          },
                          "parameters": [
                            "Object",
                            "PlatformerCharacter"
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Gamepads::PlatformerGamepadMapper",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Platformer character behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "PlatformBehavior::PlatformerObjectBehavior"
              ],
              "hidden": false,
              "name": "PlatformerCharacter"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Gamepad identifier (1, 2, 3 or 4)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "GamepadIdentifier"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Use directional pad",
              "description": "",
              "group": "Controls",
              "extraInformation": [],
              "hidden": false,
              "name": "UseArrows"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Use left stick",
              "description": "",
              "group": "Controls",
              "extraInformation": [],
              "hidden": false,
              "name": "UseLeftStick"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Use right stick",
              "description": "",
              "group": "Controls",
              "extraInformation": [],
              "hidden": false,
              "name": "UseRightStick"
            },
            {
              "value": "A or Cross",
              "type": "Choice",
              "label": "Jump button",
              "description": "",
              "group": "Controls",
              "extraInformation": [
                "A or Cross",
                "B or Circle",
                "X or Square",
                "Y or Triangle",
                "LB or L1",
                "RB or R1",
                "LT or L2",
                "RT or R2"
              ],
              "hidden": false,
              "name": "JumpButton"
            }
          ],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Control a top-down character with a gamepad.",
          "fullName": "Top-down gamepad mapper",
          "name": "TopDownGamepadMapper",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "Gamepads::C_Controller_X_is_connected"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyGamepadIdentifier()",
                        ""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyUseArrows"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Button_pressed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Left\"",
                                "\"Left\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateLeftKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Button_pressed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Right\"",
                                "\"Left\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateRightKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Button_pressed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Up\"",
                                "\"Left\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateUpKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::C_Button_pressed"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyGamepadIdentifier()",
                                "\"Down\"",
                                "\"Left\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateDownKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyUseLeftStick"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"Analog\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateStick"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement",
                                "Gamepads::StickRotationValue(Object.Behavior::PropertyGamepadIdentifier(), \"Left\")",
                                "Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Left\")"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"360°\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateStick"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement",
                                "Gamepads::StickRotationValue(Object.Behavior::PropertyGamepadIdentifier(), \"Left\")",
                                "sign(Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Left\"))"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"8 Directions\""
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "Gamepads::C_Axis_pushed"
                                  },
                                  "parameters": [
                                    "",
                                    "Object.Behavior::PropertyGamepadIdentifier()",
                                    "\"Left\"",
                                    "\"Left\"",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "TopDownMovementBehavior::SimulateLeftKey"
                                  },
                                  "parameters": [
                                    "Object",
                                    "TopDownMovement"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "Gamepads::C_Axis_pushed"
                                  },
                                  "parameters": [
                                    "",
                                    "Object.Behavior::PropertyGamepadIdentifier()",
                                    "\"Left\"",
                                    "\"Right\"",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "TopDownMovementBehavior::SimulateRightKey"
                                  },
                                  "parameters": [
                                    "Object",
                                    "TopDownMovement"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "Gamepads::C_Axis_pushed"
                                  },
                                  "parameters": [
                                    "",
                                    "Object.Behavior::PropertyGamepadIdentifier()",
                                    "\"Left\"",
                                    "\"Up\"",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "TopDownMovementBehavior::SimulateUpKey"
                                  },
                                  "parameters": [
                                    "Object",
                                    "TopDownMovement"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "Gamepads::C_Axis_pushed"
                                  },
                                  "parameters": [
                                    "",
                                    "Object.Behavior::PropertyGamepadIdentifier()",
                                    "\"Left\"",
                                    "\"Down\"",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "TopDownMovementBehavior::SimulateDownKey"
                                  },
                                  "parameters": [
                                    "Object",
                                    "TopDownMovement"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "Gamepads::PlatformerGamepadMapper::PropertyUseRightStick"
                          },
                          "parameters": [
                            "Object",
                            "Behavior"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"Analog\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateStick"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement",
                                "Gamepads::StickRotationValue(Object.Behavior::PropertyGamepadIdentifier(), \"Right\")",
                                "Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Right\")"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"360°\""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateStick"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement",
                                "sign(Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Right\"))",
                                "1"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "\"8 Directions\""
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "Gamepads::C_Axis_pushed"
                                  },
                                  "parameters": [
                                    "",
                                    "Object.Behavior::PropertyGamepadIdentifier()",
                                    "\"Right\"",
                                    "\"Left\"",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "TopDownMovementBehavior::SimulateLeftKey"
                                  },
                                  "parameters": [
                                    "Object",
                                    "TopDownMovement"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "Gamepads::C_Axis_pushed"
                                  },
                                  "parameters": [
                                    "",
                                    "Object.Behavior::PropertyGamepadIdentifier()",
                                    "\"Right\"",
                                    "\"Right\"",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "TopDownMovementBehavior::SimulateRightKey"
                                  },
                                  "parameters": [
                                    "Object",
                                    "TopDownMovement"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "Gamepads::C_Axis_pushed"
                                  },
                                  "parameters": [
                                    "",
                                    "Object.Behavior::PropertyGamepadIdentifier()",
                                    "\"Right\"",
                                    "\"Up\"",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "TopDownMovementBehavior::SimulateUpKey"
                                  },
                                  "parameters": [
                                    "Object",
                                    "TopDownMovement"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "Gamepads::C_Axis_pushed"
                                  },
                                  "parameters": [
                                    "",
                                    "Object.Behavior::PropertyGamepadIdentifier()",
                                    "\"Right\"",
                                    "\"Down\"",
                                    ""
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "TopDownMovementBehavior::SimulateDownKey"
                                  },
                                  "parameters": [
                                    "Object",
                                    "TopDownMovement"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Gamepads::TopDownGamepadMapper",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Top-down movement behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "TopDownMovementBehavior::TopDownMovementBehavior"
              ],
              "hidden": false,
              "name": "TopDownMovement"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Gamepad identifier (1, 2, 3 or 4)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "GamepadIdentifier"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Use directional pad",
              "description": "",
              "group": "Controls",
              "extraInformation": [],
              "hidden": false,
              "name": "UseArrows"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "Use left stick",
              "description": "",
              "group": "Controls",
              "extraInformation": [],
              "hidden": false,
              "name": "UseLeftStick"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Use right stick",
              "description": "",
              "group": "Controls",
              "extraInformation": [],
              "hidden": false,
              "name": "UseRightStick"
            },
            {
              "value": "Analog",
              "type": "Choice",
              "label": "Stick mode",
              "description": "",
              "group": "Controls",
              "extraInformation": [
                "Analog",
                "360°",
                "8 Directions"
              ],
              "hidden": false,
              "name": "StickMode"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "",
      "category": "Input",
      "extensionNamespace": "",
      "fullName": "Multitouch joystick and buttons (sprite)",
      "helpPath": "/objects/multitouch-joystick",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTMiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjI4LjQsMTIgMjAsMTIgMjAsMy42ICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMjguNCAyMCwyMCAyOC40LDIwICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMy42LDIwIDEyLDIwIDEyLDI4LjQgIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIxMiwzLjYgMTIsMTIgMy42LDEyICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNiw2IDE2LjcsNyAxNS4zLDcgIi8+DQo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjE2LDI2IDE1LjMsMjUgMTYuNywyNSAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNiwxNiA3LDE1LjMgNywxNi43ICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyNiwxNiAyNSwxNi43IDI1LDE1LjMgIi8+DQo8L3N2Zz4NCg==",
      "name": "SpriteMultitouchJoystick",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Videogames/Videogames_controller_joystick_arrows_direction.svg",
      "shortDescription": "Joysticks or buttons for touchscreens.",
      "version": "1.2.2",
      "description": [
        "Multitouch joysticks can be used the same way as physical gamepads:",
        "- 4 or 8 directions",
        "- Analogus pads",
        "- Player selection",
        "- Controls mapping for top-down movement and platformer characters",
        "",
        "There are ready-to-use joysticks in the asset-store [multitouch joysticks pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=multitouch-joysticks-multitouch-joysticks)."
      ],
      "origin": {
        "identifier": "SpriteMultitouchJoystick",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "multitouch",
        "joystick",
        "thumbstick",
        "controller",
        "touchscreen",
        "twin stick",
        "shooter",
        "virtual",
        "platformer",
        "platform",
        "top-down"
      ],
      "authorIds": [
        "gqDaZjCfevOOxBYkK6zlhtZnXCg1",
        "1OgYzWp5UeVPbiWGJwI6vqfgZLC3",
        "v0YRpdAnIucZFgiRCCecqVnGKno2",
        "IWykYNRvhCZBN3vEgKEbBPOR3Oc2"
      ],
      "dependencies": [],
      "eventsFunctions": [
        {
          "description": "Check if a button is pressed on a gamepad.",
          "fullName": "Multitouch controller button pressed",
          "functionType": "Condition",
          "name": "IsButtonPressed",
          "sentence": "Button _PARAM2_ of multitouch controller _PARAM1_ is pressed",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "VarSceneTxt"
                  },
                  "parameters": [
                    "__MultitouchJoystick.Controllers[GetArgumentAsNumber(\"ControllerIdentifier\")].Buttons[GetArgumentAsString(\"Button\")].State",
                    "=",
                    "\"Pressed\""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Button name",
              "name": "Button",
              "supplementaryInformation": "[\"A\",\"CROSS\",\"B\",\"CIRCLE\",\"X\",\"SQUARE\",\"Y\",\"TRIANGLE\",\"LB\",\"L1\",\"RB\",\"R1\",\"LT\",\"L2\",\"RT\",\"R2\",\"UP\",\"DOWN\",\"LEFT\",\"RIGHT\",\"BACK\",\"SHARE\",\"START\",\"OPTIONS\",\"CLICK_STICK_LEFT\",\"CLICK_STICK_RIGHT\",\"PS_BUTTON\",\"CLICK_TOUCHPAD\"]",
              "type": "string"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if a button is released on a gamepad.",
          "fullName": "Multitouch controller button released",
          "functionType": "Condition",
          "name": "IsButtonReleased",
          "sentence": "Button _PARAM2_ of multitouch controller _PARAM1_ is released",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "VarSceneTxt"
                  },
                  "parameters": [
                    "__MultitouchJoystick.Controllers[GetArgumentAsNumber(\"ControllerIdentifier\")].Buttons[GetArgumentAsString(\"Button\")].State",
                    "=",
                    "\"Released\""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Button name",
              "name": "Button",
              "supplementaryInformation": "[\"A\",\"CROSS\",\"B\",\"CIRCLE\",\"X\",\"SQUARE\",\"Y\",\"TRIANGLE\",\"LB\",\"L1\",\"RB\",\"R1\",\"LT\",\"L2\",\"RT\",\"R2\",\"UP\",\"DOWN\",\"LEFT\",\"RIGHT\",\"BACK\",\"SHARE\",\"START\",\"OPTIONS\",\"CLICK_STICK_LEFT\",\"CLICK_STICK_RIGHT\",\"PS_BUTTON\",\"CLICK_TOUCHPAD\"]",
              "type": "string"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Change a button state for a multitouch controller.",
          "fullName": "Button state",
          "functionType": "Action",
          "name": "SetButtonState",
          "private": true,
          "sentence": "Mark _PARAM2_ button as _PARAM3_ for multitouch controller _PARAM1_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "ModVarSceneTxt"
                  },
                  "parameters": [
                    "__MultitouchJoystick.Controllers[GetArgumentAsNumber(\"ControllerIdentifier\")].Buttons[GetArgumentAsString(\"Button\")].State",
                    "=",
                    "GetArgumentAsString(\"ButtonState\")"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Button name",
              "name": "Button",
              "type": "string"
            },
            {
              "description": "Button state",
              "name": "ButtonState",
              "supplementaryInformation": "[\"Idle\",\"Pressed\",\"Released\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Change the dead zone radius of a joystick. The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved).",
          "fullName": "Dead zone radius",
          "functionType": "Action",
          "name": "SetDeadZone",
          "private": true,
          "sentence": "Change the dead zone of multitouch joystick _PARAM2_ of multitouch controller _PARAM1_ to _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "__MultitouchJoystick.Controllers[GetArgumentAsNumber(\"ControllerIdentifier\")].Joystick[GetArgumentAsString(\"JoystickIdentifier\")].DeadZone",
                    "=",
                    "GetArgumentAsNumber(\"DeadZoneRadius\")"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "type": "string"
            },
            {
              "description": "Dead zone radius",
              "name": "DeadZoneRadius",
              "supplementaryInformation": "[]",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the dead zone radius of a joystick. The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved).",
          "fullName": "Dead zone radius",
          "functionType": "Expression",
          "name": "DeadZone",
          "private": true,
          "sentence": "Change multitouch joystick _PARAM2_ of multitouch controller _PARAM1_ dead zone to _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "Variable(__MultitouchJoystick.Controllers[GetArgumentAsNumber(\"ControllerIdentifier\")].Joystick[GetArgumentAsString(\"JoystickIdentifier\")].DeadZone)"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "type": "string"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "the direction index (left = 1, bottom = 1, right = 2, top = 3) for an angle (in degrees).",
          "fullName": "Angle to 4-way index",
          "functionType": "ExpressionAndCondition",
          "name": "AngleTo4Way",
          "private": true,
          "sentence": "The angle _PARAM1_ 4-way index",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "mod(round(GetArgumentAsNumber(\"Angle\") * 4 / 360), 4)"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "Angle",
              "name": "Angle",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "the direction index (left = 1, bottom-left = 1... top-left = 7) for an angle (in degrees).",
          "fullName": "Angle to 8-way index",
          "functionType": "ExpressionAndCondition",
          "name": "AngleTo8Way",
          "private": true,
          "sentence": "The angle _PARAM1_ 8-way index",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "mod(round(GetArgumentAsNumber(\"Angle\") * 8 / 360), 8)"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "Angle",
              "name": "Angle",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if angle is in a given direction.",
          "fullName": "Angle 4-way direction",
          "functionType": "Condition",
          "name": "IsAngleIn4WayDirection",
          "private": true,
          "sentence": "The angle _PARAM1_ is the 4-way direction _PARAM2_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"Right\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo4Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "0",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"Down\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo4Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "1",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"Left\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo4Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "2",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"Up\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo4Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "3",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Angle",
              "name": "Angle",
              "type": "expression"
            },
            {
              "description": "Direction",
              "name": "Direction",
              "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if angle is in a given direction.",
          "fullName": "Angle 8-way direction",
          "functionType": "Condition",
          "name": "IsAngleIn8WayDirection",
          "private": true,
          "sentence": "The angle _PARAM1_ is the 8-way direction _PARAM2_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"Right\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo8Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "0",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"DownRight\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo8Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "1",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"Down\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo8Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "2",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"DownLeft\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo8Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "3",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"Left\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo8Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "4",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"UpLeft\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo8Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "5",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"Up\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo8Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "6",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::CompareStrings"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"Direction\")",
                    "=",
                    "\"UpRight\""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::AngleTo8Way"
                  },
                  "parameters": [
                    "",
                    "=",
                    "7",
                    "GetArgumentAsNumber(\"Angle\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Angle",
              "name": "Angle",
              "type": "expression"
            },
            {
              "description": "Direction",
              "name": "Direction",
              "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"UpLeft\",\"UpRight\",\"DownLeft\",\"DownRight\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if joystick is pushed in a given direction.",
          "fullName": "Joystick pushed in a direction (4-way)",
          "functionType": "Condition",
          "name": "IsDirectionPushed4Way",
          "sentence": "Joystick _PARAM2_ of multitouch controller _PARAM1_ is pushed in direction _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Comment",
              "color": {
                "b": 109,
                "g": 230,
                "r": 255,
                "textB": 0,
                "textG": 0,
                "textR": 0
              },
              "comment": "Make sure the joystick has moved from center"
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::JoystickForce"
                  },
                  "parameters": [
                    "",
                    ">",
                    "SpriteMultitouchJoystick::DeadZone(GetArgumentAsNumber(\"ControllerIdentifier\"), GetArgumentAsString(\"JoystickIdentifier\"))",
                    "GetArgumentAsNumber(\"ControllerIdentifier\")",
                    "GetArgumentAsString(\"JoystickIdentifier\")",
                    ""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::IsAngleIn4WayDirection"
                  },
                  "parameters": [
                    "",
                    "SpriteMultitouchJoystick::JoystickAngle(GetArgumentAsNumber(\"ControllerIdentifier\"), GetArgumentAsString(\"JoystickIdentifier\"))",
                    "GetArgumentAsString(\"Direction\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "supplementaryInformation": "[\"Primary\",\"Secondary\"]",
              "type": "stringWithSelector"
            },
            {
              "description": "Direction",
              "name": "Direction",
              "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if joystick is pushed in a given direction.",
          "fullName": "Joystick pushed in a direction (8-way)",
          "functionType": "Condition",
          "name": "IsDirectionPushed8Way",
          "sentence": "Joystick _PARAM2_ of multitouch controller _PARAM1_ is pushed in direction _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Comment",
              "color": {
                "b": 109,
                "g": 230,
                "r": 255,
                "textB": 0,
                "textG": 0,
                "textR": 0
              },
              "comment": "Make sure the joystick has moved from center"
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::JoystickForce"
                  },
                  "parameters": [
                    "",
                    ">",
                    "SpriteMultitouchJoystick::DeadZone(GetArgumentAsNumber(\"ControllerIdentifier\"), GetArgumentAsString(\"JoystickIdentifier\"))",
                    "GetArgumentAsNumber(\"ControllerIdentifier\")",
                    "GetArgumentAsString(\"JoystickIdentifier\")",
                    ""
                  ]
                },
                {
                  "type": {
                    "value": "SpriteMultitouchJoystick::IsAngleIn8WayDirection"
                  },
                  "parameters": [
                    "",
                    "SpriteMultitouchJoystick::JoystickAngle(GetArgumentAsNumber(\"ControllerIdentifier\"), GetArgumentAsString(\"JoystickIdentifier\"))",
                    "GetArgumentAsString(\"Direction\")",
                    ""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "supplementaryInformation": "[\"Primary\",\"Secondary\"]",
              "type": "stringWithSelector"
            },
            {
              "description": "Direction",
              "name": "Direction",
              "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"UpLeft\",\"UpRight\",\"DownLeft\",\"DownRight\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "the percentage the thumb has been pulled away from the joystick center (Range: 0 to 1).",
          "fullName": "Joystick force (deprecated)",
          "functionType": "ExpressionAndCondition",
          "name": "JoystickForce",
          "private": true,
          "sentence": "Joystick _PARAM2_ of multitouch controller _PARAM1_ force",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "SpriteMultitouchJoystick::StickForce(GetArgumentAsNumber(\"ControllerIdentifier\"), GetArgumentAsString(\"JoystickIdentifier\"))"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "supplementaryInformation": "[\"Primary\",\"Secondary\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "the force of multitouch contoller stick (from 0 to 1).",
          "fullName": "Stick force",
          "functionType": "ExpressionAndCondition",
          "name": "StickForce",
          "sentence": "multitouch controller _PARAM1_ _PARAM2_ stick force",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "Variable(__MultitouchJoystick.Controllers[GetArgumentAsNumber(\"ControllerIdentifier\")].Joystick[GetArgumentAsString(\"JoystickIdentifier\")].Force)"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Stick name",
              "name": "JoystickIdentifier",
              "supplementaryInformation": "[\"Primary\",\"Secondary\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Change the percentage the thumb has been pulled away from the joystick center (Range: 0 to 1).",
          "fullName": "Joystick force",
          "functionType": "Action",
          "name": "SetJoystickForce",
          "private": true,
          "sentence": "Change the force of the joystick _PARAM2_ of multitouch controller _PARAM1_ to _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "__MultitouchJoystick.Controllers[GetArgumentAsNumber(\"ControllerIdentifier\")].Joystick[GetArgumentAsString(\"JoystickIdentifier\")].Force",
                    "=",
                    "GetArgumentAsNumber(\"Value\")"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "type": "string"
            },
            {
              "description": "Value",
              "name": "Value",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the angle the joystick is pointing towards (Range: -180 to 180).",
          "fullName": "Joystick angle (deprecated)",
          "functionType": "Expression",
          "name": "JoystickAngle",
          "private": true,
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "SpriteMultitouchJoystick::StickAngle(GetArgumentAsNumber(\"ControllerIdentifier\"), GetArgumentAsString(\"JoystickIdentifier\"))"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "supplementaryInformation": "[\"Primary\",\"Secondary\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the angle the multitouch controller stick is pointing towards (Range: -180 to 180).",
          "fullName": "Stick angle",
          "functionType": "Expression",
          "name": "StickAngle",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "Variable(__MultitouchJoystick.Controllers[GetArgumentAsNumber(\"ControllerIdentifier\")].Joystick[GetArgumentAsString(\"JoystickIdentifier\")].Angle)"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "supplementaryInformation": "[\"Primary\",\"Secondary\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Change the angle the joystick is pointing towards (Range: -180 to 180).",
          "fullName": "Joystick angle",
          "functionType": "Action",
          "name": "SetJoystickAngle",
          "private": true,
          "sentence": "Change the angle of the joystick _PARAM2_ of multitouch controller _PARAM1_ to _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "ModVarScene"
                  },
                  "parameters": [
                    "__MultitouchJoystick.Controllers[GetArgumentAsNumber(\"ControllerIdentifier\")].Joystick[GetArgumentAsString(\"JoystickIdentifier\")].Angle",
                    "=",
                    "GetArgumentAsNumber(\"Value\")"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "type": "string"
            },
            {
              "description": "Value",
              "name": "Value",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the multitouch contoller stick force on X axis (from -1 at the left to 1 at the right).",
          "fullName": "Stick X force",
          "functionType": "Expression",
          "name": "StickForceX",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "SpriteMultitouchJoystick::JoystickForce(GetArgumentAsNumber(\"ControllerIdentifier\"), GetArgumentAsString(\"JoystickIdentifier\")) * cos(ToRad(SpriteMultitouchJoystick::JoystickAngle(GetArgumentAsNumber(\"ControllerIdentifier\"), GetArgumentAsString(\"JoystickIdentifier\"))))"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "supplementaryInformation": "[\"Primary\",\"Secondary\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Return the multitouch contoller stick force on Y axis (from -1 at the top to 1 at the bottom).",
          "fullName": "Stick Y force",
          "functionType": "Expression",
          "name": "StickForceY",
          "sentence": "",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnNumber"
                  },
                  "parameters": [
                    "SpriteMultitouchJoystick::JoystickForce(GetArgumentAsNumber(\"ControllerIdentifier\"), GetArgumentAsString(\"JoystickIdentifier\")) * sin(ToRad(SpriteMultitouchJoystick::JoystickAngle(GetArgumentAsNumber(\"ControllerIdentifier\"), GetArgumentAsString(\"JoystickIdentifier\"))))"
                  ]
                }
              ]
            }
          ],
          "expressionType": {
            "type": "expression"
          },
          "parameters": [
            {
              "description": "Multitouch controller identifier (1, 2, 3, 4...)",
              "name": "ControllerIdentifier",
              "type": "expression"
            },
            {
              "description": "Joystick name",
              "name": "JoystickIdentifier",
              "supplementaryInformation": "[\"Primary\",\"Secondary\"]",
              "type": "stringWithSelector"
            }
          ],
          "objectGroups": []
        }
      ],
      "eventsBasedBehaviors": [
        {
          "description": "Joystick that can be controlled by interacting with a touchscreen.",
          "fullName": "Multitouch Joystick",
          "name": "MultitouchJoystick",
          "objectType": "",
          "private": true,
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::SetDeadZone"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyControllerIdentifier()",
                        "Object.Behavior::PropertyJoystickIdentifier()",
                        "Object.Behavior::PropertyDeadZoneRadius()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onDeActivate",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "HasGameJustResumed"
                      },
                      "parameters": [
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Manage touches",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "HasAnyTouchOrMouseStarted"
                          },
                          "parameters": [
                            ""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchIndex"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Repeat",
                          "repeatExpression": "StartedTouchOrMouseCount()",
                          "conditions": [],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "0"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "CollisionPoint"
                                  },
                                  "parameters": [
                                    "Object",
                                    "TouchX(StartedTouchOrMouseId(Object.Behavior::PropertyTouchIndex()), Object.Layer(), 0)",
                                    "TouchY(StartedTouchOrMouseId(Object.Behavior::PropertyTouchIndex()), Object.Layer(), 0)"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchId"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "=",
                                    "StartedTouchOrMouseId(Object.Behavior::PropertyTouchIndex())"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [],
                              "actions": [
                                {
                                  "type": {
                                    "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchIndex"
                                  },
                                  "parameters": [
                                    "Object",
                                    "Behavior",
                                    "+",
                                    "1"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Move thumb back to center when not being pressed (acts like a spring on a real controller)"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "HasTouchEnded"
                          },
                          "parameters": [
                            "",
                            "Object.Behavior::PropertyTouchId()"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                },
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Update joystick position",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "!=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickAngle"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "AngleBetweenPositions(Object.CenterX(), Object.CenterY(), TouchX(Object.Behavior::PropertyTouchId(), Object.Layer(), 0), TouchY(Object.Behavior::PropertyTouchId(), Object.Layer(), 0))",
                            "AngleBetweenPositions(Object.CenterX(), Object.CenterY(), TouchX(Object.Behavior::PropertyTouchId(), Object.Layer(), 0), TouchY(Object.Behavior::PropertyTouchId(), Object.Layer(), 0))"
                          ]
                        },
                        {
                          "type": {
                            "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickForce"
                          },
                          "parameters": [
                            "Object",
                            "Behavior",
                            "=",
                            "clamp(2 * DistanceBetweenPositions(Object.CenterX(), Object.CenterY(), TouchX(Object.Behavior::PropertyTouchId(), Object.Layer(), 0), TouchY(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)) / Object.Width(), 0, 1)",
                            ""
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the joystick force (from 0 to 1).",
              "fullName": "Joystick force",
              "functionType": "ExpressionAndCondition",
              "name": "JoystickForce",
              "sentence": "the joystick force",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyJoystickForce()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "JoystickForce",
              "name": "SetJoystickForce",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickForce"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::SetJoystickForce"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyControllerIdentifier()",
                        "Object.Behavior::PropertyJoystickIdentifier()",
                        "Object.Behavior::PropertyJoystickForce()",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the angle the joystick is pointing towards (Range: -180 to 180).",
              "fullName": "Joystick angle",
              "functionType": "Expression",
              "name": "JoystickAngle",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyJoystickAngle()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Change the angle the joystick is pointing towards (Range: -180 to 180).",
              "fullName": "Joystick angle",
              "functionType": "Action",
              "name": "SetJoystickAngle",
              "private": true,
              "sentence": "Change the joystick angle of _PARAM0_ to _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickAngle"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::SetJoystickAngle"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyControllerIdentifier()",
                        "Object.Behavior::PropertyJoystickIdentifier()",
                        "Object.Behavior::PropertyJoystickAngle()",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                },
                {
                  "description": "Angle",
                  "name": "Value",
                  "type": "expression"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the stick force on X axis (from -1 at the left to 1 at the right).",
              "fullName": "Stick X force",
              "functionType": "Expression",
              "name": "StickForceX",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::JoystickForce() * cos(ToRad(Object.Behavior::JoystickAngle()))"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the stick force on Y axis (from -1 at the top to 1 at the bottom).",
              "fullName": "Stick Y force",
              "functionType": "Expression",
              "name": "StickForceY",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::JoystickForce() * sin(ToRad(Object.Behavior::JoystickAngle()))"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if joystick is pushed in a given direction.",
              "fullName": "Joystick pushed in a direction (4-way movement)",
              "functionType": "Condition",
              "name": "IsDirectionPushed4Way",
              "sentence": "_PARAM0_ is pushed in direction _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyJoystickForce"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">",
                        "Object.Behavior::PropertyDeadZoneRadius()"
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::IsAngleIn4WayDirection"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::JoystickAngle()",
                        "GetArgumentAsString(\"Direction\")",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                },
                {
                  "description": "Direction",
                  "name": "Direction",
                  "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if joystick is pushed in a given direction.",
              "fullName": "Joystick pushed in a direction (8-way movement)",
              "functionType": "Condition",
              "name": "IsDirectionPushed8Way",
              "sentence": "_PARAM0_ is pushed in direction _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyJoystickForce"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ">",
                        "Object.Behavior::PropertyDeadZoneRadius()"
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::IsAngleIn8WayDirection"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::JoystickAngle()",
                        "GetArgumentAsString(\"Direction\")",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                },
                {
                  "description": "Direction",
                  "name": "Direction",
                  "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"UpLeft\",\"UpRight\",\"DownLeft\",\"DownRight\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if a joystick is pressed.",
              "fullName": "Joystick pressed",
              "functionType": "Condition",
              "name": "IsPressed",
              "sentence": "Joystick _PARAM0_ is pressed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "!=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Reset the joystick values (except for angle, which stays the same)",
              "fullName": "Reset",
              "functionType": "Action",
              "name": "Reset",
              "private": true,
              "sentence": "Reset the joystick of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickForce"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchId"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the multitouch controller identifier.",
              "fullName": "Multitouch controller identifier",
              "functionType": "ExpressionAndCondition",
              "group": "Multitouch Joystick configuration",
              "name": "ControllerIdentifier",
              "sentence": "the multitouch controller identifier",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyControllerIdentifier()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "ControllerIdentifier",
              "name": "SetControllerIdentifier",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyControllerIdentifier"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the joystick name.",
              "fullName": "Joystick name",
              "functionType": "ExpressionAndCondition",
              "group": "Multitouch Joystick configuration",
              "name": "JoystickIdentifier",
              "sentence": "the joystick name",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnString"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyJoystickIdentifier()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "string"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "JoystickIdentifier",
              "name": "SetJoystickIdentifier",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickIdentifier"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsString(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the dead zone radius (range: 0 to 1) of the joystick. The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved).",
              "fullName": "Dead zone radius",
              "functionType": "ExpressionAndCondition",
              "group": "Multitouch Joystick configuration",
              "name": "DeadZoneRadius",
              "sentence": "the dead zone radius",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Object.Behavior::PropertyDeadZoneRadius()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "DeadZoneRadius",
              "name": "SetDeadZoneRadius",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyDeadZoneRadius"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "GetArgumentAsNumber(\"Value\")"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "1",
              "type": "Number",
              "label": "Multitouch controller identifier (1, 2, 3, 4...)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "ControllerIdentifier"
            },
            {
              "value": "Primary",
              "type": "String",
              "label": "Joystick name",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "JoystickIdentifier"
            },
            {
              "value": "0.4",
              "type": "Number",
              "label": "Dead zone radius (range: 0 to 1)",
              "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DeadZoneRadius"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Joystick angle (range: -180 to 180)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "JoystickAngle"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "Joystick force (range: 0 to 1)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "JoystickForce"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "TouchId"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "TouchIndex"
            }
          ],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Detect button presses made on a touchscreen.",
          "fullName": "Multitouch button",
          "name": "MultitouchButton",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchButton::IsReleased"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyIsReleased"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "no"
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchButton::SetButtonState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "\"Idle\"",
                        ""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "SpriteMultitouchJoystick::MultitouchButton::IsPressed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "HasAnyTouchOrMouseStarted"
                      },
                      "parameters": [
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchIndex"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Repeat",
                      "repeatExpression": "StartedTouchOrMouseCount()",
                      "conditions": [],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "CollisionPoint"
                              },
                              "parameters": [
                                "Object",
                                "TouchX(StartedTouchOrMouseId(Object.Behavior::PropertyTouchIndex()), Object.Layer(), 0)",
                                "TouchY(StartedTouchOrMouseId(Object.Behavior::PropertyTouchIndex()), Object.Layer(), 0)"
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchId"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "=",
                                "StartedTouchOrMouseId(Object.Behavior::PropertyTouchIndex())"
                              ]
                            },
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::MultitouchButton::SetButtonState"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "\"Pressed\"",
                                ""
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [],
                          "actions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchIndex"
                              },
                              "parameters": [
                                "Object",
                                "Behavior",
                                "+",
                                "1"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchButton::IsPressed"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "HasTouchEnded"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyTouchId()"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchButton::SetButtonState"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "\"Released\"",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyIsReleased"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "yes"
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchId"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "0"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchButton",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if button is released.",
              "fullName": "Button released",
              "functionType": "Condition",
              "name": "IsReleased",
              "sentence": "Button _PARAM0_ is released",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyIsReleased"
                      },
                      "parameters": [
                        "Object",
                        "Behavior"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchButton",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if button is pressed.",
              "fullName": "Button pressed",
              "functionType": "Condition",
              "name": "IsPressed",
              "sentence": "Button _PARAM0_ is pressed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyTouchId"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "!=",
                        "0"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchButton",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "Button state",
              "functionType": "Action",
              "name": "SetButtonState",
              "private": true,
              "sentence": "Mark the button _PARAM0_ as _PARAM2_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::SetButtonState"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyControllerIdentifier()",
                        "Object.Behavior::PropertyButtonIdentifier()",
                        "GetArgumentAsString(\"ButtonState\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::MultitouchButton",
                  "type": "behavior"
                },
                {
                  "description": "Button state",
                  "name": "ButtonState",
                  "supplementaryInformation": "[\"Idle\",\"Pressed\",\"Released\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "1",
              "type": "Number",
              "label": "Multitouch controller identifier (1, 2, 3, 4...)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "ControllerIdentifier"
            },
            {
              "value": "A",
              "type": "String",
              "label": "Button identifier",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "ButtonIdentifier"
            },
            {
              "value": "0",
              "type": "Number",
              "label": "TouchID",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "TouchId"
            },
            {
              "value": "",
              "type": "Number",
              "label": "",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "TouchIndex"
            },
            {
              "value": "",
              "type": "Boolean",
              "label": "Button released",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "IsReleased"
            }
          ],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Control a platformer character with a multitouch controller.",
          "fullName": "Platformer multitouch controller mapper",
          "name": "PlatformerMultitouchMapper",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyControllerIdentifier()",
                        "Object.Behavior::PropertyJoystickIdentifier()",
                        "\"Left\"",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateLeftKey"
                      },
                      "parameters": [
                        "Object",
                        "Property"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyControllerIdentifier()",
                        "Object.Behavior::PropertyJoystickIdentifier()",
                        "\"Right\"",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateRightKey"
                      },
                      "parameters": [
                        "Object",
                        "Property"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyControllerIdentifier()",
                        "Object.Behavior::PropertyJoystickIdentifier()",
                        "\"Up\"",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateUpKey"
                      },
                      "parameters": [
                        "Object",
                        "Property"
                      ]
                    },
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateLadderKey"
                      },
                      "parameters": [
                        "Object",
                        "Property"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyControllerIdentifier()",
                        "Object.Behavior::PropertyJoystickIdentifier()",
                        "\"Down\"",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateDownKey"
                      },
                      "parameters": [
                        "Object",
                        "Property"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::IsButtonPressed"
                      },
                      "parameters": [
                        "",
                        "Object.Behavior::PropertyControllerIdentifier()",
                        "Object.Behavior::PropertyJumpButton()",
                        "\"Down\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::SimulateJumpKey"
                      },
                      "parameters": [
                        "Object",
                        "Property"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::PlatformerMultitouchMapper",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Platform character behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "PlatformBehavior::PlatformerObjectBehavior"
              ],
              "hidden": false,
              "name": "Property"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Controller identifier (1, 2, 3, 4...)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "ControllerIdentifier"
            },
            {
              "value": "Primary",
              "type": "Choice",
              "label": "Joystick name",
              "description": "",
              "group": "Controls",
              "extraInformation": [
                "Primary",
                "Secondary"
              ],
              "hidden": false,
              "name": "JoystickIdentifier"
            },
            {
              "value": "A",
              "type": "String",
              "label": "Jump button name",
              "description": "",
              "group": "Controls",
              "extraInformation": [],
              "hidden": false,
              "name": "JumpButton"
            }
          ],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Control a top-down character with a multitouch controller.",
          "fullName": "Top-down multitouch controller mapper",
          "name": "TopDownMultitouchMapper",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"Analog\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "TopDownMovementBehavior::SimulateStick"
                      },
                      "parameters": [
                        "Object",
                        "TopDownMovement",
                        "SpriteMultitouchJoystick::StickAngle(Object.Behavior::PropertyControllerIdentifier(), Object.Behavior::PropertyJoystickIdentifier())",
                        "SpriteMultitouchJoystick::StickForce(Object.Behavior::PropertyControllerIdentifier(), Object.Behavior::PropertyJoystickIdentifier())"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"360°\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "TopDownMovementBehavior::SimulateStick"
                      },
                      "parameters": [
                        "Object",
                        "TopDownMovement",
                        "SpriteMultitouchJoystick::StickAngle(Object.Behavior::PropertyControllerIdentifier(), Object.Behavior::PropertyJoystickIdentifier())",
                        "sign(SpriteMultitouchJoystick::StickForce(Object.Behavior::PropertyControllerIdentifier(), Object.Behavior::PropertyJoystickIdentifier()))"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        "=",
                        "\"8 Directions\""
                      ]
                    }
                  ],
                  "actions": [],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "TopDownMovementBehavior::DiagonalsAllowed"
                          },
                          "parameters": [
                            "Object",
                            "TopDownMovement"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"Left\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateLeftKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"Right\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateRightKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"Up\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateUpKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed4Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"Down\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateDownKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "TopDownMovementBehavior::DiagonalsAllowed"
                          },
                          "parameters": [
                            "Object",
                            "TopDownMovement"
                          ]
                        }
                      ],
                      "actions": [],
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"Left\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateLeftKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"Right\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateRightKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"Up\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateUpKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"Down\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateDownKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"UpLeft\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateUpKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            },
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateLeftKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"UpRight\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateUpKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            },
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateRightKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"DownLeft\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateDownKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            },
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateLeftKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "SpriteMultitouchJoystick::IsDirectionPushed8Way"
                              },
                              "parameters": [
                                "",
                                "Object.Behavior::PropertyControllerIdentifier()",
                                "Object.Behavior::PropertyJoystickIdentifier()",
                                "\"DownRight\"",
                                ""
                              ]
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateDownKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            },
                            {
                              "type": {
                                "value": "TopDownMovementBehavior::SimulateRightKey"
                              },
                              "parameters": [
                                "Object",
                                "TopDownMovement"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "SpriteMultitouchJoystick::TopDownMultitouchMapper",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Top-down movement behavior",
              "description": "",
              "group": "",
              "extraInformation": [
                "TopDownMovementBehavior::TopDownMovementBehavior"
              ],
              "hidden": false,
              "name": "TopDownMovement"
            },
            {
              "value": "1",
              "type": "Number",
              "label": "Controller identifier (1, 2, 3, 4...)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "ControllerIdentifier"
            },
            {
              "value": "Primary",
              "type": "Choice",
              "label": "Joystick name",
              "description": "",
              "group": "",
              "extraInformation": [
                "Primary",
                "Secondary"
              ],
              "hidden": false,
              "name": "JoystickIdentifier"
            },
            {
              "value": "Analog",
              "type": "Choice",
              "label": "Stick mode",
              "description": "",
              "group": "Controls",
              "extraInformation": [
                "Analog",
                "360°",
                "8 Directions"
              ],
              "hidden": false,
              "name": "StickMode"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": [
        {
          "defaultName": "Joystick",
          "description": "Joystick for touchscreens.",
          "fullName": "Multitouch Joystick",
          "name": "SpriteMultitouchJoystick",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Border",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "Create"
                      },
                      "parameters": [
                        "",
                        "Thumb",
                        "0",
                        "0",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "Border",
                        "=",
                        "1"
                      ]
                    },
                    {
                      "type": {
                        "value": "ChangePlan"
                      },
                      "parameters": [
                        "Thumb",
                        "=",
                        "2"
                      ]
                    },
                    {
                      "type": {
                        "value": "SetCenter"
                      },
                      "parameters": [
                        "Border",
                        "=",
                        "0",
                        "=",
                        "0"
                      ]
                    },
                    {
                      "type": {
                        "value": "SetCenter"
                      },
                      "parameters": [
                        "Thumb",
                        "=",
                        "0",
                        "=",
                        "0"
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::UpdateConfiguration"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SetIncludedInParentCollisionMask"
                      },
                      "parameters": [
                        "Thumb",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "MettreAutour"
                      },
                      "parameters": [
                        "Thumb",
                        "Border",
                        "Border.MultitouchJoystick::JoystickForce() * Border.Width() / 2",
                        "Border.MultitouchJoystick::JoystickAngle()"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onHotReloading",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::UpdateConfiguration"
                      },
                      "parameters": [
                        "Object",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Pass the object property values to the behavior.",
              "fullName": "Update configuration",
              "functionType": "Action",
              "name": "UpdateConfiguration",
              "private": true,
              "sentence": "Update the configuration of _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetControllerIdentifier"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "=",
                        "Object.PropertyControllerIdentifier()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickIdentifier"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "=",
                        "Object.PropertyJoystickIdentifier()",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetDeadZoneRadius"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "=",
                        "Object.PropertyDeadZoneRadius()",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "De/activate control of the joystick.",
              "fullName": "De/activate control",
              "functionType": "Action",
              "name": "ActivateControl",
              "sentence": "Activate control of _PARAM0_: _PARAM1_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "inverted": true,
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"ShouldActivate\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ActivateBehavior"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "no"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "GetArgumentAsBoolean"
                      },
                      "parameters": [
                        "\"ShouldActivate\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ActivateBehavior"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "yes"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                },
                {
                  "description": "Activate",
                  "name": "ShouldActivate",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if a stick is pressed.",
              "fullName": "Stick pressed",
              "functionType": "Condition",
              "name": "IsPressed",
              "sentence": "Stick _PARAM0_ is pressed",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::IsPressed"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "!="
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the joystick force (from 0 to 1).",
              "fullName": "Joystick force (deprecated)",
              "functionType": "ExpressionAndCondition",
              "name": "JoystickForce",
              "private": true,
              "sentence": "the joystick force",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Border.MultitouchJoystick::JoystickForce()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the strick force (from 0 to 1).",
              "fullName": "Stick force",
              "functionType": "ExpressionAndCondition",
              "name": "StickForce",
              "sentence": "the stick force",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Border.MultitouchJoystick::JoystickForce()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the stick force on X axis (from -1 at the left to 1 at the right).",
              "fullName": "Stick X force",
              "functionType": "ExpressionAndCondition",
              "name": "StickForceX",
              "sentence": "the stick X force",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Border.MultitouchJoystick::StickForceX()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the stick force on Y axis (from -1 at the top to 1 at the bottom).",
              "fullName": "Stick Y force",
              "functionType": "ExpressionAndCondition",
              "name": "StickForceY",
              "sentence": "the stick Y force",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Border.MultitouchJoystick::StickForceY()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the angle the joystick is pointing towards (from -180 to 180).",
              "fullName": "Joystick angle (deprecated)",
              "functionType": "Expression",
              "name": "JoystickAngle",
              "private": true,
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Border.MultitouchJoystick::JoystickAngle()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Return the angle the stick is pointing towards (from -180 to 180).",
              "fullName": "Stick angle",
              "functionType": "Expression",
              "name": "StickAngle",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Border.MultitouchJoystick::JoystickAngle()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if joystick is pushed in a given direction.",
              "fullName": "Joystick pushed in a direction (4-way movement)",
              "functionType": "Condition",
              "name": "IsDirectionPushed4Way",
              "sentence": "_PARAM0_ is pushed in direction _PARAM1_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::IsDirectionPushed4Way"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "GetArgumentAsString(\"Direction\")",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                },
                {
                  "description": "Direction",
                  "name": "Direction",
                  "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if joystick is pushed in a given direction.",
              "fullName": "Joystick pushed in a direction (8-way movement)",
              "functionType": "Condition",
              "name": "IsDirectionPushed8Way",
              "sentence": "_PARAM0_ is pushed in direction _PARAM1_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::IsDirectionPushed8Way"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "GetArgumentAsString(\"Direction\")",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                },
                {
                  "description": "Direction",
                  "name": "Direction",
                  "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"UpLeft\",\"UpRight\",\"DownLeft\",\"DownRight\"]",
                  "type": "stringWithSelector"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the multitouch controller identifier (1, 2, 3, 4...).",
              "fullName": "Multitouch controller identifier",
              "functionType": "ExpressionAndCondition",
              "group": "Multitouch Joystick configuration",
              "name": "ControllerIdentifier",
              "sentence": "the multitouch controller identifier",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Border.MultitouchJoystick::PropertyControllerIdentifier()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "ControllerIdentifier",
              "name": "SetControllerIdentifier",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetControllerIdentifier"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the joystick name of the object.",
              "fullName": "Joystick name",
              "functionType": "ExpressionAndCondition",
              "group": "Multitouch Joystick configuration",
              "name": "JoystickIdentifier",
              "sentence": "the joystick name",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnString"
                      },
                      "parameters": [
                        "Border.MultitouchJoystick::PropertyJoystickIdentifier()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "string"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "JoystickIdentifier",
              "name": "SetJoystickIdentifier",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickIdentifier"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "=",
                        "GetArgumentAsString(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "the dead zone radius of the joystick (range: 0 to 1). The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved).",
              "fullName": "Dead zone radius",
              "functionType": "ExpressionAndCondition",
              "group": "Multitouch Joystick configuration",
              "name": "DeadZoneRadius",
              "sentence": "the dead zone radius",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnNumber"
                      },
                      "parameters": [
                        "Border.MultitouchJoystick::PropertyDeadZoneRadius()"
                      ]
                    }
                  ]
                }
              ],
              "expressionType": {
                "type": "expression"
              },
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "ActionWithOperator",
              "getterName": "DeadZoneRadius",
              "name": "SetDeadZoneRadius",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetDeadZoneRadius"
                      },
                      "parameters": [
                        "Border",
                        "MultitouchJoystick",
                        "=",
                        "GetArgumentAsNumber(\"Value\")",
                        ""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "SpriteMultitouchJoystick::SpriteMultitouchJoystick",
                  "type": "object"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "1",
              "type": "Number",
              "label": "Multitouch controller identifier (1, 2, 3, 4...)",
              "description": "",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "ControllerIdentifier"
            },
            {
              "value": "Primary",
              "type": "Choice",
              "label": "Joystick name",
              "description": "",
              "group": "",
              "extraInformation": [
                "Primary",
                "Secondary"
              ],
              "hidden": false,
              "name": "JoystickIdentifier"
            },
            {
              "value": "0.4",
              "type": "Number",
              "label": "Dead zone radius (range: 0 to 1)",
              "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)",
              "group": "",
              "extraInformation": [],
              "hidden": false,
              "name": "DeadZoneRadius"
            },
            {
              "value": "Center-center",
              "type": "String",
              "label": "",
              "description": "Only used by the scene editor.",
              "group": "",
              "extraInformation": [
                "Thumb"
              ],
              "hidden": true,
              "name": "ThumbAnchorOrigin"
            },
            {
              "value": "Center-center",
              "type": "Number",
              "label": "",
              "description": "Only used by the scene editor.",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ThumbAnchorTarget"
            },
            {
              "value": "true",
              "type": "Boolean",
              "label": "",
              "description": "Only used by the scene editor.",
              "group": "",
              "extraInformation": [
                "Thumb"
              ],
              "hidden": true,
              "name": "ThumbIsScaledProportionally"
            },
            {
              "value": "Center-center",
              "type": "String",
              "label": "",
              "description": "Only used by the scene editor.",
              "group": "",
              "extraInformation": [],
              "hidden": true,
              "name": "ParentOrigin"
            }
          ],
          "objects": [
            {
              "adaptCollisionMaskAutomatically": false,
              "assetStoreId": "",
              "name": "Thumb",
              "type": "Sprite",
              "updateIfNotVisible": false,
              "variables": [],
              "effects": [],
              "behaviors": [],
              "animations": [
                {
                  "name": "Idle",
                  "useMultipleDirections": false,
                  "directions": [
                    {
                      "looping": false,
                      "timeBetweenFrames": 0.08,
                      "sprites": []
                    }
                  ]
                }
              ]
            },
            {
              "adaptCollisionMaskAutomatically": false,
              "assetStoreId": "",
              "name": "Border",
              "type": "Sprite",
              "updateIfNotVisible": false,
              "variables": [],
              "effects": [],
              "behaviors": [
                {
                  "name": "MultitouchJoystick",
                  "type": "SpriteMultitouchJoystick::MultitouchJoystick",
                  "ControllerIdentifier": 1,
                  "JoystickIdentifier": "Primary",
                  "FloatingEnabled": false,
                  "DeadZoneRadius": 0.4,
                  "JoystickAngle": 0,
                  "JoystickForce": 0,
                  "TouchId": 0,
                  "TouchIndex": 0
                }
              ],
              "animations": [
                {
                  "name": "Idle",
                  "useMultipleDirections": false,
                  "directions": [
                    {
                      "looping": false,
                      "timeBetweenFrames": 0.08,
                      "sprites": []
                    }
                  ]
                }
              ]
            }
          ],
          "objectsFolderStructure": {
            "folderName": "__ROOT",
            "children": [
              {
                "objectName": "Thumb"
              },
              {
                "objectName": "Border"
              }
            ]
          }
        }
      ]
    },
    {
      "author": "Tristan Rhodes (https://victrisgames.itch.io/)",
      "category": "Visual effect",
      "extensionNamespace": "",
      "fullName": "Shake object",
      "helpPath": "https://victrisgames.itch.io/gdevelop-camera-shake-example",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFycm93LWFsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMywxMUgxOEwxNi41LDkuNUwxNy45Miw4LjA4TDIxLjg0LDEyTDE3LjkyLDE1LjkyTDE2LjUsMTQuNUwxOCwxM0gxM1YxOEwxNC41LDE2LjVMMTUuOTIsMTcuOTJMMTIsMjEuODRMOC4wOCwxNy45Mkw5LjUsMTYuNUwxMSwxOFYxM0g2TDcuNSwxNC41TDYuMDgsMTUuOTJMMi4xNiwxMkw2LjA4LDguMDhMNy41LDkuNUw2LDExSDExVjZMOS41LDcuNUw4LjA4LDYuMDhMMTIsMi4xNkwxNS45Miw2LjA4TDE0LjUsNy41TDEzLDZWMTFaIiAvPjwvc3ZnPg==",
      "name": "ShakeObject",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/arrow-all.svg",
      "shortDescription": "Shake an object.",
      "version": "1.5.6",
      "description": [
        "Shake an object (position, angle or scale).",
        "",
        "It can be used for:",
        "- Hit or impact",
        "- Object slowly rocking back and forth (like a ship)",
        "- Simulate engine vibration, earthquake, or pulsing",
        "",
        "The top-down RPG example uses this extension for damage animations ([open the project online](https://editor.gdevelop.io/?project=example://top-down-rpg))."
      ],
      "origin": {
        "identifier": "ShakeObject",
        "name": "gdevelop-extension-store"
      },
      "tags": [
        "shaking",
        "object",
        "effect",
        "shake",
        "scale",
        "position",
        "rotate",
        "angle"
      ],
      "authorIds": [
        "gqDaZjCfevOOxBYkK6zlhtZnXCg1"
      ],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "Shake an object, using one or more ways to shake (position, angle).\nThis behavior can be used on any type of object.",
          "fullName": "Shake object (position, angle)",
          "name": "ShakeObject_PositionAngle",
          "objectType": "",
          "eventsFunctions": [
            {
              "description": "Shake an object, using one or more ways to shake (position, angle). Make sure to \"Stop shaking\" before starting a new shake if it uses different parameters. ",
              "fullName": "Shake object (position, angle)",
              "functionType": "Action",
              "name": "ShakeObject_PositionAngle",
              "sentence": "Shake object _PARAM0_ for _PARAM2_ seconds. Modify position amplitude _PARAM3_ on X axis and _PARAM4_ on Y axis, angle rotation amplitude _PARAM5_.  Wait _PARAM6_ seconds between shakes. Keep shaking until stopped: _PARAM7_",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Shake Object",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Start/Reset duration timer"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ResetObjectTimer"
                          },
                          "parameters": [
                            "Object",
                            "\"__ShakeObject_DurationTimer\""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Pass input parameters to global variables so that onScenePostEvents can use them"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_Duration",
                            "=",
                            "GetArgumentAsNumber(\"Duration\")"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_PowerX",
                            "=",
                            "GetArgumentAsNumber(\"PowerX\")"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_PowerY",
                            "=",
                            "GetArgumentAsNumber(\"PowerY\")"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_PowerAngle",
                            "=",
                            "GetArgumentAsNumber(\"PowerAngle\")"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_TimeBetweenShakes",
                            "=",
                            "GetArgumentAsNumber(\"TimeBetweenShakes\")"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Determine if the shake should keep going until stopped"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "SetObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_ShakeForever",
                            "False"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "GetArgumentAsBoolean"
                          },
                          "parameters": [
                            "\"ShakeForever\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_ShakeForever",
                            "True"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Add default values if none were provided"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_Duration",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_Duration",
                            "=",
                            "0.5"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_TimeBetweenShakes",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_TimeBetweenShakes",
                            "=",
                            "0.08"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "If duration is less than a single shake, increase duration to make 1 full shake"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_Duration",
                            "<",
                            "Object.Variable(__ShakeObject_TimeBetweenShakes)"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_Duration",
                            "=",
                            "Object.Variable(__ShakeObject_TimeBetweenShakes)"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Detect initial shake"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_ShakeInProgress",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_InitialShake",
                            "=",
                            "1"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Initiate the onScenePostEvents function"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_ShakeInProgress",
                            "=",
                            "1"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle",
                  "type": "behavior"
                },
                {
                  "description": "Duration of shake (in seconds) (Default: 0.5)  ",
                  "name": "Duration",
                  "type": "expression"
                },
                {
                  "description": "Amplitude of postion shake in X direction (in pixels)  (For example: 5)",
                  "name": "PowerX",
                  "type": "expression"
                },
                {
                  "description": "Amplitude of position shake in Y direction (in pixels)  (For example: 5)",
                  "longDescription": "Use a negative number to make the single-shake move in the opposite direction.",
                  "name": "PowerY",
                  "type": "expression"
                },
                {
                  "description": "Amplitude of angle rotation shake (in degrees)  (For example: 5)",
                  "name": "PowerAngle",
                  "type": "expression"
                },
                {
                  "description": "Amount of time between shakes (in seconds) (Default: 0.08)",
                  "longDescription": "For a single-shake effect, set it to the same value as \"Duration\".",
                  "name": "TimeBetweenShakes",
                  "type": "expression"
                },
                {
                  "description": "Keep shaking until stopped",
                  "longDescription": "Duration value will be ignored",
                  "name": "ShakeForever",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Shake Object",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Start shaking",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "Object",
                                "__ShakeObject_ShakeInProgress",
                                "=",
                                "1"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Keep object shaking forever (if desired)"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__ShakeObject_ShakeForever",
                                    "True"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__ShakeObject_Duration",
                                    "=",
                                    "100"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ResetObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"__ShakeObject_DurationTimer\""
                                  ]
                                }
                              ]
                            },
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "name": "Calculate movement of the shake",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Run once before every shake movement"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "BuiltinCommonInstructions::Or"
                                      },
                                      "parameters": [],
                                      "subInstructions": [
                                        {
                                          "type": {
                                            "value": "VarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_InitialShake",
                                            "=",
                                            "1"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "ObjectTimer"
                                          },
                                          "parameters": [
                                            "Object",
                                            "\"__ShakeObject_ShakeTimer\"",
                                            "Object.Variable(__ShakeObject_TimeBetweenShakes)"
                                          ]
                                        }
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "ResetObjectTimer"
                                      },
                                      "parameters": [
                                        "Object",
                                        "\"__ShakeObject_ShakeTimer\""
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_ShakeCounter",
                                        "+",
                                        "1"
                                      ]
                                    }
                                  ],
                                  "events": [
                                    {
                                      "colorB": 228,
                                      "colorG": 176,
                                      "colorR": 74,
                                      "creationTime": 0,
                                      "name": "Correct for drift and reset drift tracking variables",
                                      "source": "",
                                      "type": "BuiltinCommonInstructions::Group",
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Move to correct any drift from previous shake"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "BuiltinCommonInstructions::Or"
                                              },
                                              "parameters": [],
                                              "subInstructions": [
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerX",
                                                    "!=",
                                                    "0"
                                                  ]
                                                },
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerY",
                                                    "!=",
                                                    "0"
                                                  ]
                                                }
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "MettreX"
                                              },
                                              "parameters": [
                                                "Object",
                                                "-",
                                                "Object.Variable(__ShakeObject_DisplacementTravelledX)"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "MettreY"
                                              },
                                              "parameters": [
                                                "Object",
                                                "-",
                                                "Object.Variable(__ShakeObject_DisplacementTravelledY)"
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerAngle",
                                                "!=",
                                                "0"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "SetAngle"
                                              },
                                              "parameters": [
                                                "Object",
                                                "-",
                                                "Object.Variable(__ShakeObject_AngleTravelled)"
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Reset drift detection variables"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledX",
                                                "=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledY",
                                                "=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_AngleTravelled",
                                                "=",
                                                "0"
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "parameters": []
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Calculate Position Shake"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "BuiltinCommonInstructions::Or"
                                          },
                                          "parameters": [],
                                          "subInstructions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerX",
                                                "!=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerY",
                                                "!=",
                                                "0"
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "actions": [],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "PositionDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * [-1 or 1]"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Make initial shake NOT random so users can set a direction for a one-shake effect"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_InitialShake",
                                                "=",
                                                "1"
                                              ]
                                            }
                                          ],
                                          "actions": [],
                                          "events": [
                                            {
                                              "type": "BuiltinCommonInstructions::Standard",
                                              "conditions": [
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerX",
                                                    "!=",
                                                    "0"
                                                  ]
                                                }
                                              ],
                                              "actions": [
                                                {
                                                  "type": {
                                                    "value": "ModVarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_DisplacementX",
                                                    "=",
                                                    "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX)"
                                                  ]
                                                }
                                              ]
                                            },
                                            {
                                              "type": "BuiltinCommonInstructions::Standard",
                                              "conditions": [
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerY",
                                                    "!=",
                                                    "0"
                                                  ]
                                                }
                                              ],
                                              "actions": [
                                                {
                                                  "type": {
                                                    "value": "ModVarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_DisplacementY",
                                                    "=",
                                                    "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY)"
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "After initial shake pick a random direction"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_InitialShake",
                                                "=",
                                                "0"
                                              ]
                                            }
                                          ],
                                          "actions": [],
                                          "events": [
                                            {
                                              "type": "BuiltinCommonInstructions::Standard",
                                              "conditions": [
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerX",
                                                    "!=",
                                                    "0"
                                                  ]
                                                }
                                              ],
                                              "actions": [
                                                {
                                                  "type": {
                                                    "value": "ModVarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_DisplacementX",
                                                    "=",
                                                    "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX) * RandomWithStep(-1, 1, 2)"
                                                  ]
                                                }
                                              ]
                                            },
                                            {
                                              "type": "BuiltinCommonInstructions::Standard",
                                              "conditions": [
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerY",
                                                    "!=",
                                                    "0"
                                                  ]
                                                }
                                              ],
                                              "actions": [
                                                {
                                                  "type": {
                                                    "value": "ModVarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_DisplacementY",
                                                    "=",
                                                    "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY) * RandomWithStep(-1, 1, 2)"
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Calculate Rotation (angle) shake "
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "VarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_PowerAngle",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ],
                                      "actions": [],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Every \"even\" shake, rotate clockwise"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "Egal"
                                              },
                                              "parameters": [
                                                "mod(Object.Variable(__ShakeObject_ShakeCounter),2)",
                                                "=",
                                                "0"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementAngle",
                                                "=",
                                                "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) *  Object.Variable(__ShakeObject_PowerAngle)"
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Every \"odd\" shake, rotate counter-clockwise"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "Egal"
                                              },
                                              "parameters": [
                                                "mod(Object.Variable(__ShakeObject_ShakeCounter),2)",
                                                "=",
                                                "1"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementAngle",
                                                "=",
                                                "-1 *(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) *  Object.Variable(__ShakeObject_PowerAngle)"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Save that initial shake has been processed"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "ModVarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_InitialShake",
                                            "=",
                                            "0"
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "parameters": []
                            },
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "name": "Move object",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Calculate the fraction of shake that occured during this frame"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_PercentTimeElapsedThisFrame",
                                        "=",
                                        "min(1,TimeDelta()/Object.Variable(__ShakeObject_TimeBetweenShakes))"
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Increase change for the first half of the shake (move away from original values)"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "inverted": true,
                                        "value": "ObjectTimer"
                                      },
                                      "parameters": [
                                        "Object",
                                        "\"__ShakeObject_ShakeTimer\"",
                                        "Object.Variable(__ShakeObject_TimeBetweenShakes)/2"
                                      ]
                                    }
                                  ],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Change position"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "BuiltinCommonInstructions::Or"
                                          },
                                          "parameters": [],
                                          "subInstructions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerX",
                                                "!=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerY",
                                                "!=",
                                                "0"
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "MettreX"
                                          },
                                          "parameters": [
                                            "Object",
                                            "+",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "MettreY"
                                          },
                                          "parameters": [
                                            "Object",
                                            "+",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Save movement to calculate drift"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledX",
                                                "+",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledY",
                                                "+",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Change angle"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "Egal"
                                          },
                                          "parameters": [
                                            "Object.Variable(__ShakeObject_PowerAngle)",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "SetAngle"
                                          },
                                          "parameters": [
                                            "Object",
                                            "+",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Save movement to calculate drift"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_AngleTravelled",
                                                "+",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Decrease change the second half of the shake (return to original position)"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "ObjectTimer"
                                      },
                                      "parameters": [
                                        "Object",
                                        "\"__ShakeObject_ShakeTimer\"",
                                        "Object.Variable(__ShakeObject_TimeBetweenShakes)/2"
                                      ]
                                    }
                                  ],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Change position"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "BuiltinCommonInstructions::Or"
                                          },
                                          "parameters": [],
                                          "subInstructions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerX",
                                                "!=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerY",
                                                "!=",
                                                "0"
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "MettreX"
                                          },
                                          "parameters": [
                                            "Object",
                                            "-",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "MettreY"
                                          },
                                          "parameters": [
                                            "Object",
                                            "-",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Save movement to calculate drift"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledX",
                                                "-",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledY",
                                                "-",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Change angle"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "Egal"
                                          },
                                          "parameters": [
                                            "Object.Variable(__ShakeObject_PowerAngle)",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "SetAngle"
                                          },
                                          "parameters": [
                                            "Object",
                                            "-",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Save movement to calculate drift"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_AngleTravelled",
                                                "-",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "parameters": []
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Stop shaking",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Stop shaking when the duration has been reached (or if the stop shaking function was called)"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Or"
                              },
                              "parameters": [],
                              "subInstructions": [
                                {
                                  "type": {
                                    "value": "ObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"__ShakeObject_DurationTimer\"",
                                    "Object.Variable(__ShakeObject_Duration)"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "VarObjet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__ShakeObject_ShakeInProgress",
                                    "=",
                                    "-1"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Once"
                              },
                              "parameters": []
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "Object",
                                "__ShakeObject_ShakeInProgress",
                                "=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "Object",
                                "__ShakeObject_ShakeCounter",
                                "=",
                                "0"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "name": "Correct for drift and reset drift tracking variables",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Move to correct any drift from previous shake"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "BuiltinCommonInstructions::Or"
                                      },
                                      "parameters": [],
                                      "subInstructions": [
                                        {
                                          "type": {
                                            "value": "VarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_PowerX",
                                            "!=",
                                            "0"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "VarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_PowerY",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "MettreX"
                                      },
                                      "parameters": [
                                        "Object",
                                        "-",
                                        "Object.Variable(__ShakeObject_DisplacementTravelledX)"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "MettreY"
                                      },
                                      "parameters": [
                                        "Object",
                                        "-",
                                        "Object.Variable(__ShakeObject_DisplacementTravelledY)"
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "VarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_PowerAngle",
                                        "!=",
                                        "0"
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "SetAngle"
                                      },
                                      "parameters": [
                                        "Object",
                                        "-",
                                        "Object.Variable(__ShakeObject_AngleTravelled)"
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Reset drift detection variables"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_DisplacementTravelledX",
                                        "=",
                                        "0"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_DisplacementTravelledY",
                                        "=",
                                        "0"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_AngleTravelled",
                                        "=",
                                        "0"
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "parameters": []
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Stop any shaking of object that was initiated by the Shake Object extension.",
              "fullName": "Stop shaking the object",
              "functionType": "Action",
              "name": "StopShaking",
              "sentence": "Stop shaking _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ShakeObject::ShakeObject_PositionAngle::IsShaking"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ModVarObjet"
                      },
                      "parameters": [
                        "Object",
                        "__ShakeObject_ShakeInProgress",
                        "=",
                        "-1"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if an object is shaking.",
              "fullName": "Check if an object is shaking",
              "functionType": "Condition",
              "name": "IsShaking",
              "sentence": "_PARAM0_ is shaking",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Object",
                        "__ShakeObject_ShakeInProgress",
                        "=",
                        "1"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [],
          "sharedPropertyDescriptors": []
        },
        {
          "description": "Shake an object, using one or more ways to shake (position, angle, scale)\nThis behavior can only be used on sprite objects.",
          "fullName": "Shake object (position, angle, scale)",
          "name": "ShakeObject_PositionAngleScale",
          "objectType": "Sprite",
          "eventsFunctions": [
            {
              "description": "Shake an object, using one or more ways to shake (position, angle, scale). Make sure to \"Stop shaking\" before starting a new shake if it uses different parameters.",
              "fullName": "Shake object (position, angle, scale)",
              "functionType": "Action",
              "name": "ShakeObject_PositionAngleScale",
              "sentence": "Shake object _PARAM0_ for _PARAM2_ seconds. Modify position amplitude _PARAM3_ on X axis and _PARAM4_ on Y axis, angle rotation amplitude _PARAM5_, and scale amplitude _PARAM6_.  Wait _PARAM7_ seconds between shakes.  Keep shaking until stopped: _PARAM8_",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Shake Object",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Start/Reset duration timer"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ResetObjectTimer"
                          },
                          "parameters": [
                            "Object",
                            "\"__ShakeObject_DurationTimer\""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Pass input parameters to global variables so that onScenePostEvents can use them"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_Duration",
                            "=",
                            "GetArgumentAsNumber(\"Duration\")"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_PowerX",
                            "=",
                            "GetArgumentAsNumber(\"PowerX\")"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_PowerY",
                            "=",
                            "GetArgumentAsNumber(\"PowerY\")"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_PowerAngle",
                            "=",
                            "GetArgumentAsNumber(\"PowerAngle\")"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_PowerScale",
                            "=",
                            "GetArgumentAsNumber(\"PowerScale\")"
                          ]
                        },
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_TimeBetweenShakes",
                            "=",
                            "GetArgumentAsNumber(\"TimeBetweenShakes\")"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Determine if the shake should keep going until stopped"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "SetObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_ShakeForever",
                            "False"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "GetArgumentAsBoolean"
                          },
                          "parameters": [
                            "\"ShakeForever\""
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "SetObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_ShakeForever",
                            "True"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Add default values if none were provided"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_Duration",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_Duration",
                            "=",
                            "0.5"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_TimeBetweenShakes",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_TimeBetweenShakes",
                            "=",
                            "0.08"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "If duration is less than a single shake, increase duration to make 1 full shake"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_Duration",
                            "<",
                            "Object.Variable(__ShakeObject_TimeBetweenShakes)"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_Duration",
                            "=",
                            "Object.Variable(__ShakeObject_TimeBetweenShakes)"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Detect initial shake"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "VarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_ShakeInProgress",
                            "=",
                            "0"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_InitialShake",
                            "=",
                            "1"
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Initiate the onScenePostEvents function"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [],
                      "actions": [
                        {
                          "type": {
                            "value": "ModVarObjet"
                          },
                          "parameters": [
                            "Object",
                            "__ShakeObject_ShakeInProgress",
                            "=",
                            "1"
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale",
                  "type": "behavior"
                },
                {
                  "description": "Duration of shake (in seconds) (Default: 0.5)",
                  "name": "Duration",
                  "type": "expression"
                },
                {
                  "description": "Amplitude of postion shake in X direction (in pixels)  (For example: 5)",
                  "name": "PowerX",
                  "type": "expression"
                },
                {
                  "description": "Amplitude of position shake in Y direction (in pixels)  (For example: 5)",
                  "longDescription": "Use a negative number to make the single-shake move in the opposite direction.",
                  "name": "PowerY",
                  "type": "expression"
                },
                {
                  "description": "Amplitude of angle rotation shake (in degrees)  (For example: 5)",
                  "name": "PowerAngle",
                  "type": "expression"
                },
                {
                  "description": "Amplitude of scale shake (in percent change)  (For example: 5)",
                  "name": "PowerScale",
                  "type": "expression"
                },
                {
                  "description": "Amount of time between shakes (in seconds) (Default: 0.08)",
                  "longDescription": "For a single-shake effect, set it to the same value as \"Duration\".",
                  "name": "TimeBetweenShakes",
                  "type": "expression"
                },
                {
                  "description": "Keep shaking until stopped",
                  "longDescription": "Duration value will be ignored",
                  "name": "ShakeForever",
                  "type": "yesorno"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPostEvents",
              "sentence": "",
              "events": [
                {
                  "colorB": 228,
                  "colorG": 176,
                  "colorR": 74,
                  "creationTime": 0,
                  "name": "Shake Object",
                  "source": "",
                  "type": "BuiltinCommonInstructions::Group",
                  "events": [
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Start shaking",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "VarObjet"
                              },
                              "parameters": [
                                "Object",
                                "__ShakeObject_ShakeInProgress",
                                "=",
                                "1"
                              ]
                            }
                          ],
                          "actions": [],
                          "events": [
                            {
                              "type": "BuiltinCommonInstructions::Comment",
                              "color": {
                                "b": 109,
                                "g": 230,
                                "r": 255,
                                "textB": 0,
                                "textG": 0,
                                "textR": 0
                              },
                              "comment": "Keep object shaking forever (if desired)"
                            },
                            {
                              "type": "BuiltinCommonInstructions::Standard",
                              "conditions": [
                                {
                                  "type": {
                                    "value": "ObjectVariableAsBoolean"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__ShakeObject_ShakeForever",
                                    "True"
                                  ]
                                }
                              ],
                              "actions": [
                                {
                                  "type": {
                                    "value": "ModVarObjet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__ShakeObject_Duration",
                                    "=",
                                    "100"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "ResetObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"__ShakeObject_DurationTimer\""
                                  ]
                                }
                              ]
                            },
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "name": "Calculate movement of the shake",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Run once before every shake movement"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "BuiltinCommonInstructions::Or"
                                      },
                                      "parameters": [],
                                      "subInstructions": [
                                        {
                                          "type": {
                                            "value": "VarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_InitialShake",
                                            "=",
                                            "1"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "ObjectTimer"
                                          },
                                          "parameters": [
                                            "Object",
                                            "\"__ShakeObject_ShakeTimer\"",
                                            "Object.Variable(__ShakeObject_TimeBetweenShakes)"
                                          ]
                                        }
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "ResetObjectTimer"
                                      },
                                      "parameters": [
                                        "Object",
                                        "\"__ShakeObject_ShakeTimer\""
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_ShakeCounter",
                                        "+",
                                        "1"
                                      ]
                                    }
                                  ],
                                  "events": [
                                    {
                                      "colorB": 228,
                                      "colorG": 176,
                                      "colorR": 74,
                                      "creationTime": 0,
                                      "folded": true,
                                      "name": "Correct for drift and reset drift tracking variables",
                                      "source": "",
                                      "type": "BuiltinCommonInstructions::Group",
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Move to correct any drift from previous shake"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "BuiltinCommonInstructions::Or"
                                              },
                                              "parameters": [],
                                              "subInstructions": [
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerX",
                                                    "!=",
                                                    "0"
                                                  ]
                                                },
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerY",
                                                    "!=",
                                                    "0"
                                                  ]
                                                }
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "MettreX"
                                              },
                                              "parameters": [
                                                "Object",
                                                "-",
                                                "Object.Variable(__ShakeObject_DisplacementTravelledX)"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "MettreY"
                                              },
                                              "parameters": [
                                                "Object",
                                                "-",
                                                "Object.Variable(__ShakeObject_DisplacementTravelledY)"
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerAngle",
                                                "!=",
                                                "0"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "SetAngle"
                                              },
                                              "parameters": [
                                                "Object",
                                                "-",
                                                "Object.Variable(__ShakeObject_AngleTravelled)"
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerScale",
                                                "!=",
                                                "0"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ChangeScale"
                                              },
                                              "parameters": [
                                                "Object",
                                                "-",
                                                "Object.Variable(__ShakeObject_ScaleTravelled)"
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Reset drift detection variables"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledX",
                                                "=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledY",
                                                "=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_AngleTravelled",
                                                "=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_ScaleTravelled",
                                                "=",
                                                "0"
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "parameters": []
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Calculate Position Shake"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "BuiltinCommonInstructions::Or"
                                          },
                                          "parameters": [],
                                          "subInstructions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerX",
                                                "!=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerY",
                                                "!=",
                                                "0"
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "actions": [],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "PositionDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * [-1 or 1]"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Make initial shake NOT random so users can set a direction for a one-shake effect"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_InitialShake",
                                                "=",
                                                "1"
                                              ]
                                            }
                                          ],
                                          "actions": [],
                                          "events": [
                                            {
                                              "type": "BuiltinCommonInstructions::Standard",
                                              "conditions": [
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerX",
                                                    "!=",
                                                    "0"
                                                  ]
                                                }
                                              ],
                                              "actions": [
                                                {
                                                  "type": {
                                                    "value": "ModVarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_DisplacementX",
                                                    "=",
                                                    "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX)"
                                                  ]
                                                }
                                              ]
                                            },
                                            {
                                              "type": "BuiltinCommonInstructions::Standard",
                                              "conditions": [
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerY",
                                                    "!=",
                                                    "0"
                                                  ]
                                                }
                                              ],
                                              "actions": [
                                                {
                                                  "type": {
                                                    "value": "ModVarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_DisplacementY",
                                                    "=",
                                                    "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY)"
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "After initial shake pick a random direction"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_InitialShake",
                                                "=",
                                                "0"
                                              ]
                                            }
                                          ],
                                          "actions": [],
                                          "events": [
                                            {
                                              "type": "BuiltinCommonInstructions::Standard",
                                              "conditions": [
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerX",
                                                    "!=",
                                                    "0"
                                                  ]
                                                }
                                              ],
                                              "actions": [
                                                {
                                                  "type": {
                                                    "value": "ModVarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_DisplacementX",
                                                    "=",
                                                    "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX) * RandomWithStep(-1, 1, 2)"
                                                  ]
                                                }
                                              ]
                                            },
                                            {
                                              "type": "BuiltinCommonInstructions::Standard",
                                              "conditions": [
                                                {
                                                  "type": {
                                                    "value": "VarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_PowerY",
                                                    "!=",
                                                    "0"
                                                  ]
                                                }
                                              ],
                                              "actions": [
                                                {
                                                  "type": {
                                                    "value": "ModVarObjet"
                                                  },
                                                  "parameters": [
                                                    "Object",
                                                    "__ShakeObject_DisplacementY",
                                                    "=",
                                                    "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY) * RandomWithStep(-1, 1, 2)"
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Calculate Rotation (angle) shake "
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "VarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_PowerAngle",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ],
                                      "actions": [],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Every \"even\" shake, rotate clockwise"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "Egal"
                                              },
                                              "parameters": [
                                                "mod(Object.Variable(__ShakeObject_ShakeCounter),2)",
                                                "=",
                                                "0"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementAngle",
                                                "=",
                                                "-1 * (Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) *  Object.Variable(__ShakeObject_PowerAngle)"
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Every \"odd\" shake, rotate counter-clockwise"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "Egal"
                                              },
                                              "parameters": [
                                                "mod(Object.Variable(__ShakeObject_ShakeCounter),2)",
                                                "=",
                                                "1"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementAngle",
                                                "=",
                                                "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) *  Object.Variable(__ShakeObject_PowerAngle)"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Calculate Scale shake"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "VarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_PowerScale",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ],
                                      "actions": [],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Calculate object scale displacement, with linear decay over time"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "ScaleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude *  1/100"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Every even shake, increase scale"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "Egal"
                                              },
                                              "parameters": [
                                                "mod(Object.Variable(__ShakeObject_ShakeCounter),2)",
                                                "=",
                                                "0"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementScale",
                                                "=",
                                                "-1 * (Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerScale) * (1/100)"
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Every \"odd\" shake, decrease scale"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "ScaleDisplacement = -1 * (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude *  1/100"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [
                                            {
                                              "type": {
                                                "value": "Egal"
                                              },
                                              "parameters": [
                                                "mod(Object.Variable(__ShakeObject_ShakeCounter),2)",
                                                "=",
                                                "1"
                                              ]
                                            }
                                          ],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementScale",
                                                "=",
                                                "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerScale) * (1/100)"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Save that initial shake has been processed"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "ModVarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_InitialShake",
                                            "=",
                                            "0"
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "parameters": []
                            },
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "name": "Move object",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Calculate the fraction of shake that occured during this frame"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_PercentTimeElapsedThisFrame",
                                        "=",
                                        "min(1,TimeDelta()/Object.Variable(__ShakeObject_TimeBetweenShakes))"
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Increase change for the first half of the shake (move away from original values)"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "inverted": true,
                                        "value": "ObjectTimer"
                                      },
                                      "parameters": [
                                        "Object",
                                        "\"__ShakeObject_ShakeTimer\"",
                                        "Object.Variable(__ShakeObject_TimeBetweenShakes)/2"
                                      ]
                                    }
                                  ],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Change position"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "BuiltinCommonInstructions::Or"
                                          },
                                          "parameters": [],
                                          "subInstructions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerX",
                                                "!=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerY",
                                                "!=",
                                                "0"
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "MettreX"
                                          },
                                          "parameters": [
                                            "Object",
                                            "+",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "MettreY"
                                          },
                                          "parameters": [
                                            "Object",
                                            "+",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Save movement to calculate drift"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledX",
                                                "+",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledY",
                                                "+",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Change angle"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "Egal"
                                          },
                                          "parameters": [
                                            "Object.Variable(__ShakeObject_PowerAngle)",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "SetAngle"
                                          },
                                          "parameters": [
                                            "Object",
                                            "+",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Save movement to calculate drift"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_AngleTravelled",
                                                "+",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Change scale"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "Egal"
                                          },
                                          "parameters": [
                                            "Object.Variable(__ShakeObject_PowerScale)",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "ChangeScale"
                                          },
                                          "parameters": [
                                            "Object",
                                            "+",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Save movement to calculate drift"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_ScaleTravelled",
                                                "+",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Decrease change the second half of the shake (return to original position)"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "ObjectTimer"
                                      },
                                      "parameters": [
                                        "Object",
                                        "\"__ShakeObject_ShakeTimer\"",
                                        "Object.Variable(__ShakeObject_TimeBetweenShakes)/2"
                                      ]
                                    }
                                  ],
                                  "actions": [],
                                  "events": [
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Change position"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "BuiltinCommonInstructions::Or"
                                          },
                                          "parameters": [],
                                          "subInstructions": [
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerX",
                                                "!=",
                                                "0"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "VarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_PowerY",
                                                "!=",
                                                "0"
                                              ]
                                            }
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "MettreX"
                                          },
                                          "parameters": [
                                            "Object",
                                            "-",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "MettreY"
                                          },
                                          "parameters": [
                                            "Object",
                                            "-",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Save movement to calculate drift"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledX",
                                                "-",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            },
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_DisplacementTravelledY",
                                                "-",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Change angle"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "Egal"
                                          },
                                          "parameters": [
                                            "Object.Variable(__ShakeObject_PowerAngle)",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "SetAngle"
                                          },
                                          "parameters": [
                                            "Object",
                                            "-",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Save movement to calculate drift"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_AngleTravelled",
                                                "-",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Comment",
                                      "color": {
                                        "b": 109,
                                        "g": 230,
                                        "r": 255,
                                        "textB": 0,
                                        "textG": 0,
                                        "textR": 0
                                      },
                                      "comment": "Change scale"
                                    },
                                    {
                                      "type": "BuiltinCommonInstructions::Standard",
                                      "conditions": [
                                        {
                                          "type": {
                                            "value": "Egal"
                                          },
                                          "parameters": [
                                            "Object.Variable(__ShakeObject_PowerScale)",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ],
                                      "actions": [
                                        {
                                          "type": {
                                            "value": "ChangeScale"
                                          },
                                          "parameters": [
                                            "Object",
                                            "-",
                                            "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                          ]
                                        }
                                      ],
                                      "events": [
                                        {
                                          "type": "BuiltinCommonInstructions::Comment",
                                          "color": {
                                            "b": 109,
                                            "g": 230,
                                            "r": 255,
                                            "textB": 0,
                                            "textG": 0,
                                            "textR": 0
                                          },
                                          "comment": "Save movement to calculate drift"
                                        },
                                        {
                                          "type": "BuiltinCommonInstructions::Standard",
                                          "conditions": [],
                                          "actions": [
                                            {
                                              "type": {
                                                "value": "ModVarObjet"
                                              },
                                              "parameters": [
                                                "Object",
                                                "__ShakeObject_ScaleTravelled",
                                                "-",
                                                "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024"
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "parameters": []
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    },
                    {
                      "colorB": 228,
                      "colorG": 176,
                      "colorR": 74,
                      "creationTime": 0,
                      "name": "Stop shaking",
                      "source": "",
                      "type": "BuiltinCommonInstructions::Group",
                      "events": [
                        {
                          "type": "BuiltinCommonInstructions::Comment",
                          "color": {
                            "b": 109,
                            "g": 230,
                            "r": 255,
                            "textB": 0,
                            "textG": 0,
                            "textR": 0
                          },
                          "comment": "Stop shaking when the duration has been reached (or if the stop shaking function was called)"
                        },
                        {
                          "type": "BuiltinCommonInstructions::Standard",
                          "conditions": [
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Or"
                              },
                              "parameters": [],
                              "subInstructions": [
                                {
                                  "type": {
                                    "value": "ObjectTimer"
                                  },
                                  "parameters": [
                                    "Object",
                                    "\"__ShakeObject_DurationTimer\"",
                                    "Object.Variable(__ShakeObject_Duration)"
                                  ]
                                },
                                {
                                  "type": {
                                    "value": "VarObjet"
                                  },
                                  "parameters": [
                                    "Object",
                                    "__ShakeObject_ShakeInProgress",
                                    "=",
                                    "-1"
                                  ]
                                }
                              ]
                            },
                            {
                              "type": {
                                "value": "BuiltinCommonInstructions::Once"
                              },
                              "parameters": []
                            }
                          ],
                          "actions": [
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "Object",
                                "__ShakeObject_ShakeInProgress",
                                "=",
                                "0"
                              ]
                            },
                            {
                              "type": {
                                "value": "ModVarObjet"
                              },
                              "parameters": [
                                "Object",
                                "__ShakeObject_ShakeCounter",
                                "=",
                                "0"
                              ]
                            }
                          ],
                          "events": [
                            {
                              "colorB": 228,
                              "colorG": 176,
                              "colorR": 74,
                              "creationTime": 0,
                              "name": "Correct for drift and reset drift tracking variables",
                              "source": "",
                              "type": "BuiltinCommonInstructions::Group",
                              "events": [
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Move to correct any drift from previous shake"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "BuiltinCommonInstructions::Or"
                                      },
                                      "parameters": [],
                                      "subInstructions": [
                                        {
                                          "type": {
                                            "value": "VarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_PowerX",
                                            "!=",
                                            "0"
                                          ]
                                        },
                                        {
                                          "type": {
                                            "value": "VarObjet"
                                          },
                                          "parameters": [
                                            "Object",
                                            "__ShakeObject_PowerY",
                                            "!=",
                                            "0"
                                          ]
                                        }
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "MettreX"
                                      },
                                      "parameters": [
                                        "Object",
                                        "-",
                                        "Object.Variable(__ShakeObject_DisplacementTravelledX)"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "MettreY"
                                      },
                                      "parameters": [
                                        "Object",
                                        "-",
                                        "Object.Variable(__ShakeObject_DisplacementTravelledY)"
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "VarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_PowerAngle",
                                        "!=",
                                        "0"
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "SetAngle"
                                      },
                                      "parameters": [
                                        "Object",
                                        "-",
                                        "Object.Variable(__ShakeObject_AngleTravelled)"
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [
                                    {
                                      "type": {
                                        "value": "VarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_PowerScale",
                                        "!=",
                                        "0"
                                      ]
                                    }
                                  ],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "ChangeScale"
                                      },
                                      "parameters": [
                                        "Object",
                                        "-",
                                        "Object.Variable(__ShakeObject_ScaleTravelled)"
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Comment",
                                  "color": {
                                    "b": 109,
                                    "g": 230,
                                    "r": 255,
                                    "textB": 0,
                                    "textG": 0,
                                    "textR": 0
                                  },
                                  "comment": "Reset drift detection variables"
                                },
                                {
                                  "type": "BuiltinCommonInstructions::Standard",
                                  "conditions": [],
                                  "actions": [
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_DisplacementTravelledX",
                                        "=",
                                        "0"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_DisplacementTravelledY",
                                        "=",
                                        "0"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_AngleTravelled",
                                        "=",
                                        "0"
                                      ]
                                    },
                                    {
                                      "type": {
                                        "value": "ModVarObjet"
                                      },
                                      "parameters": [
                                        "Object",
                                        "__ShakeObject_ScaleTravelled",
                                        "=",
                                        "0"
                                      ]
                                    }
                                  ]
                                }
                              ],
                              "parameters": []
                            }
                          ]
                        }
                      ],
                      "parameters": []
                    }
                  ],
                  "parameters": []
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Stop shaking an object.",
              "fullName": "Stop shaking an object",
              "functionType": "Action",
              "name": "StopShaking",
              "sentence": "Stop shaking _PARAM0_",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ShakeObject::ShakeObject_PositionAngleScale::IsShaking"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ModVarObjet"
                      },
                      "parameters": [
                        "Object",
                        "__ShakeObject_ShakeInProgress",
                        "=",
                        "-1"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if an object is shaking.",
              "fullName": "Check if an object is shaking",
              "functionType": "Condition",
              "name": "IsShaking",
              "sentence": "_PARAM0_ is shaking",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "VarObjet"
                      },
                      "parameters": [
                        "Object",
                        "__ShakeObject_ShakeInProgress",
                        "=",
                        "1"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "supplementaryInformation": "Sprite",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "",
      "category": "Audio",
      "extensionNamespace": "",
      "fullName": "Volume Falloff",
      "helpPath": "",
      "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXZvbHVtZS1zb3VyY2UiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA5VjE1SDdMMTIgMjBWNEw3IDlIM00xNiAxNUgxNFY5SDE2VjE1TTIwIDE5SDE4VjVIMjBWMTlaIiAvPjwvc3ZnPg==",
      "name": "VolumeFalloff",
      "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/volume-source.svg",
      "shortDescription": "Simple volume falloff.",
      "version": "1.0.1",
      "description": "Simple volume falloff based on distance from an object to another object.",
      "tags": [
        "volume",
        "sound",
        "audio",
        "falloff",
        "distance"
      ],
      "authorIds": [
        "1vKGH4y6Y5Myz3MaqRdwpju3arq2"
      ],
      "dependencies": [],
      "eventsFunctions": [
        {
          "description": "Set volume for a channel based on a falloff distance between two objects.",
          "fullName": "Set volume based on falloff",
          "functionType": "Action",
          "name": "SetVolumeFalloff",
          "sentence": "Volume falloff on channel _PARAM1_ (type _PARAM2_) from _PARAM3_ to _PARAM4_ with volume from _PARAM5_ to _PARAM6_ starting at a distance of _PARAM7_ pixels",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "StrEqual"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"AudioType\")",
                    "=",
                    "\"Sound\""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ModVolumeSoundCanal"
                  },
                  "parameters": [
                    "",
                    "GetArgumentAsNumber(\"Channel\")",
                    "=",
                    "lerp(GetArgumentAsNumber(\"MinVol\"), GetArgumentAsNumber(\"MaxVol\"), max((GetArgumentAsNumber(\"MaxDistance\") - DistanceBetweenPositions(Source.X(), Source.Y(), Target.X(), Target.Y()))/GetArgumentAsNumber(\"MaxDistance\"), 0))"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "StrEqual"
                  },
                  "parameters": [
                    "GetArgumentAsString(\"AudioType\")",
                    "=",
                    "\"Music\""
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ModVolumeMusicCanal"
                  },
                  "parameters": [
                    "",
                    "GetArgumentAsNumber(\"Channel\")",
                    "=",
                    "lerp(GetArgumentAsNumber(\"MinVol\"), GetArgumentAsNumber(\"MaxVol\"), max((GetArgumentAsNumber(\"MaxDistance\") - DistanceBetweenPositions(Source.X(), Source.Y(), Target.X(), Target.Y()))/GetArgumentAsNumber(\"MaxDistance\"), 0))"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Channel identifier",
              "name": "Channel",
              "type": "expression"
            },
            {
              "description": "Audio type",
              "name": "AudioType",
              "supplementaryInformation": "[\"Music\",\"Sound\"]",
              "type": "stringWithSelector"
            },
            {
              "description": "Source object",
              "name": "Source",
              "type": "objectList"
            },
            {
              "description": "Target object",
              "name": "Target",
              "type": "objectList"
            },
            {
              "description": "Minimum volume",
              "longDescription": "From 0 to 100, 100 by default.",
              "name": "MinVol",
              "type": "expression"
            },
            {
              "description": "Maximum volume",
              "longDescription": "From 0 to 100, 100 by default.",
              "name": "MaxVol",
              "type": "expression"
            },
            {
              "description": "Max distance",
              "longDescription": "Maximum distance before volume has completely fallen off in pixels.",
              "name": "MaxDistance",
              "type": "expression"
            }
          ],
          "objectGroups": []
        }
      ],
      "eventsBasedBehaviors": [],
      "eventsBasedObjects": []
    },
    {
      "author": "",
      "category": "",
      "extensionNamespace": "",
      "fullName": "",
      "helpPath": "",
      "iconUrl": "",
      "name": "Enemy",
      "previewIconUrl": "",
      "shortDescription": "",
      "version": "",
      "description": "",
      "tags": [],
      "authorIds": [],
      "dependencies": [],
      "eventsFunctions": [],
      "eventsBasedBehaviors": [
        {
          "description": "",
          "fullName": "",
          "name": "MonsterEnemy",
          "objectType": "",
          "eventsFunctions": [
            {
              "fullName": "",
              "functionType": "Action",
              "name": "onCreated",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Timers must be started with an action"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"Fire\""
                      ]
                    },
                    {
                      "type": {
                        "value": "AnimatableCapability::AnimatableBehavior::SetName"
                      },
                      "parameters": [
                        "Object",
                        "Animation",
                        "=",
                        "\"Fire\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Enemy::MonsterEnemy",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "fullName": "",
              "functionType": "Action",
              "name": "doStepPreEvents",
              "sentence": "",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Comment",
                  "color": {
                    "b": 109,
                    "g": 230,
                    "r": 255,
                    "textB": 0,
                    "textG": 0,
                    "textR": 0
                  },
                  "comment": "Turn \"Fire\" on and off"
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"Fire\"",
                        ">=",
                        "2"
                      ]
                    },
                    {
                      "type": {
                        "value": "Enemy::MonsterEnemy::IsOnFire"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"Fire\""
                      ]
                    },
                    {
                      "type": {
                        "value": "AnimatableCapability::AnimatableBehavior::SetName"
                      },
                      "parameters": [
                        "Object",
                        "Animation",
                        "=",
                        "\"NoFire\""
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "CompareObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"Fire\"",
                        ">=",
                        "2"
                      ]
                    },
                    {
                      "type": {
                        "inverted": true,
                        "value": "Enemy::MonsterEnemy::IsOnFire"
                      },
                      "parameters": [
                        "Object",
                        "Behavior",
                        ""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ResetObjectTimer"
                      },
                      "parameters": [
                        "Object",
                        "\"Fire\""
                      ]
                    },
                    {
                      "type": {
                        "value": "AnimatableCapability::AnimatableBehavior::SetName"
                      },
                      "parameters": [
                        "Object",
                        "Animation",
                        "=",
                        "\"Fire\""
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Enemy::MonsterEnemy",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            },
            {
              "description": "Check if an ennemy is on fire.",
              "fullName": "On fire",
              "functionType": "Condition",
              "name": "IsOnFire",
              "sentence": "_PARAM0_ is on fire",
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "AnimatableCapability::AnimatableBehavior::Name"
                      },
                      "parameters": [
                        "Object",
                        "Animation",
                        "=",
                        "\"Fire\""
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetReturnBoolean"
                      },
                      "parameters": [
                        "True"
                      ]
                    }
                  ]
                }
              ],
              "parameters": [
                {
                  "description": "Object",
                  "name": "Object",
                  "type": "object"
                },
                {
                  "description": "Behavior",
                  "name": "Behavior",
                  "supplementaryInformation": "Enemy::MonsterEnemy",
                  "type": "behavior"
                }
              ],
              "objectGroups": []
            }
          ],
          "propertyDescriptors": [
            {
              "value": "",
              "type": "Behavior",
              "label": "Animatable capability",
              "description": "",
              "group": "",
              "extraInformation": [
                "AnimatableCapability::AnimatableBehavior"
              ],
              "hidden": false,
              "name": "Animation"
            }
          ],
          "sharedPropertyDescriptors": []
        }
      ],
      "eventsBasedObjects": []
    },
    {
      "author": "",
      "category": "",
      "extensionNamespace": "",
      "fullName": "",
      "helpPath": "",
      "iconUrl": "",
      "name": "Player",
      "previewIconUrl": "",
      "shortDescription": "",
      "version": "",
      "description": "",
      "tags": [],
      "authorIds": [],
      "dependencies": [],
      "eventsFunctions": [
        {
          "description": "Animate the character to be absorbed into the portal.",
          "fullName": "Absorb into a portal",
          "functionType": "Action",
          "name": "AnimateFallingIntoPortal",
          "sentence": "Animate _PARAM1_ to be absorbed into _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "Tween::AddObjectPositionTween"
                  },
                  "parameters": [
                    "Player",
                    "Tween",
                    "\"MoveIntoPortal\"",
                    "Portal.CenterX() + Player.Width() / 2",
                    "Portal.CenterY()",
                    "\"linear\"",
                    "1000",
                    "no"
                  ]
                },
                {
                  "type": {
                    "value": "Tween::AddObjectAngleTween"
                  },
                  "parameters": [
                    "Player",
                    "Tween",
                    "\"RotateIntoPortal\"",
                    "360",
                    "\"linear\"",
                    "1000",
                    "no"
                  ]
                },
                {
                  "type": {
                    "value": "Wait"
                  },
                  "parameters": [
                    "1"
                  ]
                },
                {
                  "type": {
                    "value": "Tween::AddObjectScaleTween"
                  },
                  "parameters": [
                    "Player",
                    "Tween",
                    "\"ShrinkIntoPortal\"",
                    "0",
                    "0",
                    "\"linear\"",
                    "1000",
                    "no",
                    "yes"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "",
              "name": "Player",
              "type": "objectList"
            },
            {
              "description": "",
              "name": "Tween",
              "supplementaryInformation": "Tween::TweenBehavior",
              "type": "behavior"
            },
            {
              "description": "",
              "name": "Portal",
              "supplementaryInformation": "Sprite",
              "type": "objectList"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Make the character bounce on an ennemy.",
          "fullName": "Bounce",
          "functionType": "Action",
          "name": "Bounce",
          "sentence": "_PARAM1_ bounce",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "PlatformBehavior::SetCanJump"
                  },
                  "parameters": [
                    "Player",
                    "PlatformerObject"
                  ]
                },
                {
                  "type": {
                    "value": "PlatformBehavior::SimulateJumpKey"
                  },
                  "parameters": [
                    "Player",
                    "PlatformerObject"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "",
              "name": "Player",
              "type": "objectList"
            },
            {
              "description": "",
              "name": "PlatformerObject",
              "supplementaryInformation": "PlatformBehavior::PlatformerObjectBehavior",
              "type": "behavior"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Trigger the character death.",
          "fullName": "Trigger character death",
          "functionType": "Action",
          "name": "TriggerDeath",
          "sentence": "Trigger _PARAM1_ death",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Comment",
              "color": {
                "b": 109,
                "g": 230,
                "r": 255,
                "textB": 0,
                "textG": 0,
                "textR": 0
              },
              "comment": "If player is dead, move back to the last saved checkpoint position, and freeze then for 1/4 secs to make sure they don't run off platform or something"
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "VarObjet"
                  },
                  "parameters": [
                    "Player",
                    "Lives",
                    ">",
                    "0"
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Once"
                  },
                  "parameters": []
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "Checkpoints::LoadCheckpoint"
                  },
                  "parameters": [
                    "",
                    "Player",
                    "Player",
                    "\"Checkpoint\"",
                    "\"Checkpoint\"",
                    ""
                  ]
                },
                {
                  "type": {
                    "value": "PlaySound"
                  },
                  "parameters": [
                    "",
                    "AssetDev/Audio/DeathSound.wav",
                    "",
                    "50",
                    ""
                  ]
                },
                {
                  "type": {
                    "value": "SetObjectVariableAsBoolean"
                  },
                  "parameters": [
                    "Player",
                    "NeedsEnemiesReset",
                    "True"
                  ]
                }
              ],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "ObjectVariableAsBoolean"
                      },
                      "parameters": [
                        "Player",
                        "IsImmortal",
                        ""
                      ]
                    },
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Once"
                      },
                      "parameters": []
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "ModVarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "-",
                        "1"
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "VarObjet"
                  },
                  "parameters": [
                    "Player",
                    "Lives",
                    "<=",
                    "0"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetObjectVariableAsBoolean"
                  },
                  "parameters": [
                    "Player",
                    "IsTrulyDead",
                    "True"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "",
              "name": "Player",
              "type": "objectList"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Check if the character is stepping on the floor.",
          "fullName": "Character is stepping on the floor",
          "functionType": "Condition",
          "name": "IsSteppingOnFloor",
          "sentence": "_PARAM1_ is stepping on the floor",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "PlatformBehavior::IsOnFloor"
                  },
                  "parameters": [
                    "Player",
                    "PlatformerObject"
                  ]
                },
                {
                  "type": {
                    "value": "AnimatableCapability::AnimatableBehavior::Name"
                  },
                  "parameters": [
                    "Player",
                    "Animation",
                    "=",
                    "\"Run\""
                  ]
                },
                {
                  "type": {
                    "value": "BuiltinCommonInstructions::Or"
                  },
                  "parameters": [],
                  "subInstructions": [
                    {
                      "type": {
                        "value": "Sprite"
                      },
                      "parameters": [
                        "Player",
                        "=",
                        "4"
                      ]
                    },
                    {
                      "type": {
                        "value": "Sprite"
                      },
                      "parameters": [
                        "Player",
                        "=",
                        "14"
                      ]
                    }
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "SetReturnBoolean"
                  },
                  "parameters": [
                    "True"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "",
              "name": "Player",
              "supplementaryInformation": "Sprite",
              "type": "objectList"
            },
            {
              "description": "",
              "name": "PlatformerObject",
              "supplementaryInformation": "PlatformBehavior::PlatformerObjectBehavior",
              "type": "behavior"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Updates Life Force Stats.",
          "fullName": "Updates Life Force Stats",
          "functionType": "Action",
          "name": "UpdateLifeForce",
          "sentence": "Update _PARAM1_ Life Force Total by _PARAM2_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "ModVarObjet"
                  },
                  "parameters": [
                    "Player",
                    "LifeForce",
                    "+",
                    "LifeForceToAward"
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "VarObjet"
                  },
                  "parameters": [
                    "Player",
                    "LifeForce",
                    ">",
                    "18"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "ModVarObjet"
                  },
                  "parameters": [
                    "Player",
                    "LifeForce",
                    "=",
                    "18"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "",
              "name": "Player",
              "type": "objectList"
            },
            {
              "description": "LifeForceToAward",
              "name": "LifeForceToAward",
              "type": "expression"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Handles all collisions for the player with any enemy containing the standard variables (isKillable, LifeForce, etc.)",
          "fullName": "CollideWithEnemy",
          "functionType": "Action",
          "name": "CollideWithEnemy",
          "sentence": "Handle Player Collision Between _PARAM1_ and _PARAM3_",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "ObjectVariableAsBoolean"
                  },
                  "parameters": [
                    "Enemy",
                    "IsKillable",
                    "False"
                  ]
                }
              ],
              "actions": [
                {
                  "type": {
                    "value": "Player::TriggerDeath"
                  },
                  "parameters": [
                    "",
                    "Player",
                    ""
                  ]
                }
              ]
            },
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "ObjectVariableAsBoolean"
                  },
                  "parameters": [
                    "Enemy",
                    "IsKillable",
                    "True"
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "PlatformBehavior::IsFalling"
                      },
                      "parameters": [
                        "Player",
                        "Parameter"
                      ]
                    },
                    {
                      "type": {
                        "value": "ObjectVariableAsBoolean"
                      },
                      "parameters": [
                        "Player",
                        "IsRidingShockwave",
                        "False"
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "SetObjectVariableAsBoolean"
                      },
                      "parameters": [
                        "Enemy",
                        "IsDead",
                        "True"
                      ]
                    },
                    {
                      "type": {
                        "value": "Player::Bounce"
                      },
                      "parameters": [
                        "",
                        "Player",
                        "",
                        ""
                      ]
                    }
                  ],
                  "events": [
                    {
                      "type": "BuiltinCommonInstructions::Comment",
                      "color": {
                        "b": 109,
                        "g": 230,
                        "r": 255,
                        "textB": 0,
                        "textG": 0,
                        "textR": 0
                      },
                      "comment": "Only reap 50% life force from enemies that aren't being killed for the first time"
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "ObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "Enemy",
                            "HasBeenReaped",
                            "False"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Player::UpdateLifeForce"
                          },
                          "parameters": [
                            "",
                            "Player",
                            "Enemy.Variable(LifeForce)",
                            ""
                          ]
                        }
                      ]
                    },
                    {
                      "type": "BuiltinCommonInstructions::Standard",
                      "conditions": [
                        {
                          "type": {
                            "value": "ObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "Enemy",
                            "HasBeenReaped",
                            "True"
                          ]
                        }
                      ],
                      "actions": [
                        {
                          "type": {
                            "value": "Player::UpdateLifeForce"
                          },
                          "parameters": [
                            "",
                            "Player",
                            "0.5 * Enemy.Variable(LifeForce)",
                            ""
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [
                    {
                      "type": {
                        "value": "BuiltinCommonInstructions::Or"
                      },
                      "parameters": [],
                      "subInstructions": [
                        {
                          "type": {
                            "inverted": true,
                            "value": "PlatformBehavior::IsFalling"
                          },
                          "parameters": [
                            "Player",
                            "Parameter"
                          ]
                        },
                        {
                          "type": {
                            "inverted": true,
                            "value": "ObjectVariableAsBoolean"
                          },
                          "parameters": [
                            "Player",
                            "IsRidingShockwaveNotDown",
                            "False"
                          ]
                        }
                      ]
                    }
                  ],
                  "actions": [
                    {
                      "type": {
                        "value": "Player::TriggerDeath"
                      },
                      "parameters": [
                        "",
                        "Player",
                        ""
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "Player",
              "name": "Player",
              "type": "objectList"
            },
            {
              "description": "",
              "name": "Parameter",
              "supplementaryInformation": "PlatformBehavior::PlatformerObjectBehavior",
              "type": "behavior"
            },
            {
              "description": "Enemy",
              "name": "Enemy",
              "type": "objectList"
            }
          ],
          "objectGroups": []
        },
        {
          "description": "Heals the player if enough life force is available",
          "fullName": "Heal Player Using Lifeforce",
          "functionType": "Action",
          "name": "HealPlayer",
          "sentence": "Heal _PARAM1_ if player has enough life force.",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [
                {
                  "type": {
                    "value": "VarObjet"
                  },
                  "parameters": [
                    "Player",
                    "LifeForce",
                    ">=",
                    "6"
                  ]
                },
                {
                  "type": {
                    "value": "VarObjet"
                  },
                  "parameters": [
                    "Player",
                    "Lives",
                    "<",
                    "5"
                  ]
                }
              ],
              "actions": [],
              "events": [
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "ModVarObjet"
                      },
                      "parameters": [
                        "Player",
                        "LifeForce",
                        "-",
                        "6"
                      ]
                    }
                  ]
                },
                {
                  "type": "BuiltinCommonInstructions::Standard",
                  "conditions": [],
                  "actions": [
                    {
                      "type": {
                        "value": "ModVarObjet"
                      },
                      "parameters": [
                        "Player",
                        "Lives",
                        "+",
                        "1"
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "",
              "name": "Player",
              "type": "objectList"
            }
          ],
          "objectGroups": []
        }
      ],
      "eventsBasedBehaviors": [],
      "eventsBasedObjects": []
    },
    {
      "author": "",
      "category": "",
      "extensionNamespace": "",
      "fullName": "",
      "helpPath": "",
      "iconUrl": "",
      "name": "UserInterface",
      "previewIconUrl": "",
      "shortDescription": "",
      "version": "",
      "description": "",
      "tags": [],
      "authorIds": [],
      "dependencies": [],
      "eventsFunctions": [
        {
          "description": "Stretch the object to fill the screen",
          "fullName": "Stretch to fill the screen",
          "functionType": "Action",
          "name": "StretchToFillScreen",
          "sentence": "Stretch _PARAM1_ to fill the screen",
          "events": [
            {
              "type": "BuiltinCommonInstructions::Standard",
              "conditions": [],
              "actions": [
                {
                  "type": {
                    "value": "TiledSpriteObject::Width"
                  },
                  "parameters": [
                    "EndScreenBackground",
                    "=",
                    "CameraWidth(EndScreenBackground.Layer())"
                  ]
                },
                {
                  "type": {
                    "value": "TiledSpriteObject::Height"
                  },
                  "parameters": [
                    "EndScreenBackground",
                    "=",
                    "CameraHeight(EndScreenBackground.Layer())"
                  ]
                }
              ]
            }
          ],
          "parameters": [
            {
              "description": "",
              "name": "EndScreenBackground",
              "supplementaryInformation": "TiledSpriteObject::TiledSprite",
              "type": "objectList"
            }
          ],
          "objectGroups": [
            {
              "name": "EndScreenObjects",
              "objects": [
                {
                  "name": "EndScreenBackground"
                },
                {
                  "name": "EndScreenHeader"
                },
                {
                  "name": "EndScreenSubHeader"
                },
                {
                  "name": "EndScreenBestText"
                },
                {
                  "name": "EndScreenChallengeText"
                },
                {
                  "name": "EndScreenRetryText"
                }
              ]
            }
          ]
        }
      ],
      "eventsBasedBehaviors": [],
      "eventsBasedObjects": []
    }
  ],
  "externalLayouts": [
    {
      "associatedLayout": "TestingLevel",
      "name": "MindscapeUI",
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 96,
          "layer": "UI",
          "name": "Sinage_W",
          "persistentUuid": "f8c9f660-d676-411b-9912-4d105a470698",
          "width": 96,
          "x": 160,
          "y": 64,
          "zOrder": 9,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 96,
          "layer": "UI",
          "name": "Sinage_A",
          "persistentUuid": "e3aaf7b6-6964-4e24-a947-cebf03713447",
          "width": 96,
          "x": 64,
          "y": 160,
          "zOrder": 10,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 96,
          "layer": "UI",
          "name": "Sinage_S",
          "persistentUuid": "aba8c9f0-8b61-49ec-bdf5-f757e49d7ba0",
          "width": 96,
          "x": 160,
          "y": 160,
          "zOrder": 11,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 96,
          "layer": "UI",
          "name": "Sinage_D",
          "persistentUuid": "e4c9f569-899e-424d-a18a-2dc4cc810874",
          "width": 96,
          "x": 256,
          "y": 160,
          "zOrder": 12,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 96,
          "layer": "UI",
          "name": "Sinage_Space",
          "persistentUuid": "582e5d98-906c-4050-9c6f-28b74dae94de",
          "width": 192,
          "x": 112,
          "y": 256,
          "zOrder": 13,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 128,
          "layer": "UI",
          "name": "Sinage_Heal",
          "persistentUuid": "27ffa58c-8a2b-4479-be66-068a64cb0d6f",
          "width": 512,
          "x": 384,
          "y": 64,
          "zOrder": 14,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "UI",
          "name": "Sinage_Pause",
          "persistentUuid": "8c79d254-0c26-47e0-9ad8-0902d0c63d7d",
          "width": 288,
          "x": 384,
          "y": 144,
          "zOrder": 15,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 128,
          "layer": "UI",
          "name": "Sinage_Restart",
          "persistentUuid": "dd7d07ed-a77a-48ff-a9af-dee6cad85d29",
          "width": 288,
          "x": 384,
          "y": 240,
          "zOrder": 16,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "editionSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.2,
        "snap": true,
        "zoomFactor": 1.2139988476713193,
        "windowMask": true
      }
    },
    {
      "associatedLayout": "TestingLevel",
      "name": "LevelUI",
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 34,
          "height": 96,
          "layer": "UI",
          "name": "LivesBar",
          "persistentUuid": "5df6d1c3-009a-4b78-a8c8-e87d05a74397",
          "width": 480,
          "x": 512,
          "y": 64,
          "zOrder": 2,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 69,
          "height": 128,
          "layer": "UI",
          "name": "HopeBar",
          "persistentUuid": "54623e8e-17f1-42e9-8168-04133c1cb3ef",
          "width": 512,
          "x": 416,
          "y": 160,
          "zOrder": 4,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 0,
          "height": 112,
          "layer": "UI",
          "name": "UI_Sinage_Lives",
          "persistentUuid": "93919d07-9dc5-4706-b16f-b2491a75a4ee",
          "width": 448,
          "x": 32,
          "y": 32,
          "zOrder": 5,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 144,
          "layer": "UI",
          "name": "UI_Sinage_Hope",
          "persistentUuid": "3c51f9a0-cdb9-467f-86d3-6fca0403e68d",
          "width": 736,
          "x": 32,
          "y": 142,
          "zOrder": 6,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "UI",
          "name": "FrameRate",
          "persistentUuid": "58058813-d814-4cc0-9650-8efb270a781b",
          "width": 0,
          "x": 2400,
          "y": 30,
          "zOrder": 7,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "editionSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.2,
        "snap": true,
        "zoomFactor": 0.7630894833671616,
        "windowMask": true
      }
    },
    {
      "associatedLayout": "Tutorial",
      "name": "LevelEndScreen",
      "instances": [
        {
          "angle": 0,
          "customSize": true,
          "depth": 1,
          "height": 1344,
          "layer": "EndScreen",
          "name": "UI_Sinage_Background",
          "persistentUuid": "a518c1ca-703a-4045-8a0d-a3134cc6c012",
          "width": 2400,
          "x": 0,
          "y": 0,
          "zOrder": 1,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 32,
          "height": 128,
          "layer": "EndScreen",
          "name": "UI_Sinage_RetryButton",
          "persistentUuid": "8831f58f-646d-43a1-b23d-8a4e58f8013a",
          "width": 512,
          "x": 944,
          "y": 1088,
          "zOrder": 17,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 576,
          "layer": "EndScreen",
          "name": "UI_Sinage_DeathText",
          "persistentUuid": "279d04b8-7efc-44a6-9e52-2d6cbb8eb77e",
          "width": 1152,
          "x": 176,
          "y": 32,
          "zOrder": 39,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": false,
          "height": 0,
          "layer": "EndScreen",
          "name": "UI_Sinage_MemoryAcquired",
          "persistentUuid": "fb10dd37-1843-4a9d-adfd-b613beee92e2",
          "width": 0,
          "x": 176,
          "y": 32,
          "zOrder": 40,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        },
        {
          "angle": 0,
          "customSize": true,
          "depth": 32,
          "height": 133,
          "layer": "EndScreen",
          "name": "UI_Sinage_ProceedButton",
          "persistentUuid": "db833647-bf3d-4686-921d-2b2064f1f9da",
          "width": 512,
          "x": 950,
          "y": 1083,
          "zOrder": 41,
          "numberProperties": [],
          "stringProperties": [],
          "initialVariables": []
        }
      ],
      "editionSettings": {
        "grid": true,
        "gridType": "rectangular",
        "gridWidth": 32,
        "gridHeight": 32,
        "gridOffsetX": 0,
        "gridOffsetY": 0,
        "gridColor": 10401023,
        "gridAlpha": 0.2,
        "snap": true,
        "zoomFactor": 0.3015017629400701,
        "windowMask": false
      }
    }
  ],
  "externalSourceFiles": []
}