Dungeon Crawler with MakeCode Arcade

Create the first level of a dungeon crawler game in MakeCode Arcade with variables, namespaces, and functions!

Written By: Cherie Tan

Dash icon
Difficulty
Medium
Steps icon
Steps
16
A dungeon crawler is a type of RPG where players explore a labyrinth environment, battle enemies, avoid traps, solve puzzles, and find treasure!

In this guide, we'll show you how to get started with creating your own Dungeon Crawler in MakeCode Arcade with Javascript and TypeScript. You will gain familiarity with using variables, functions, namespaces.

Complete this guide to create your first Javascript-based game in MakeCode Arcade.

Step 1 Overview

A dungeon crawler is a type of RPG where players explore a labyrinth environment, battle enemies, avoid traps, solve puzzles, and find treasure!
In this guide, we'll show you how to get started with creating your own Dungeon Crawler in MakeCode Arcade with Javascript and TypeScript. You will gain familiarity with using variables, functions, and namespaces.
This guide continues on from Player Selection Screen with MakeCode Arcade. Using the Javascript interface, we will create custom art, variables, namespaces, and functions for a simple dungeon crawler arcade game.

Step 2 Variables

let selectionBox: Sprite = null;
let playerSprite: Sprite = null;
let boySprite: Sprite = null;
let doorSprite: Sprite = null;
let userName = game.askForString("What is your name?");
let intro = "Hello, " + userName + ", you are about to embark on an adventure!";
Add the following variables at the very beginning.
Some of these variables have been set to null, which means they don't yet have a value. Later, we will add values to them. 

Step 3 Create namespace customArt

namespace customArt {
    export const Chest = img`
            . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . .
            . . . f f f f f f f f f f . . .
            . . f f b b b b b b b b f f . .
            . f f b c c c c c c c c b f f .
            . f b c c c c c c c c c c b f .
            f f c c c c c c c c c c c c f f
            f c c c c c c 9 9 c c c c c c f
            f 9 9 9 9 9 a f f a 9 9 9 9 9 f
            f b b b b b a f f a b b b b b f
            f c c c c c a a a a c c c c c f
            f b b b b b b b b b b b b b b f
            f 9 9 c c c c c c c c c c 9 9 f
            f a a b b b b b b b b b b a a f
            f f f f f f f f f f f f f f f f
        `;
    export const Wall = img`
            . f f f f f f f f f f f f f f .
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            . f f f f f f f f f f f f f f .
        `;
    export const Door = img`
            . f f f f f f f f f f f f f f .
            f b b b c b b b c b b b c b b f
            f b b b c a a a a a a a c b b f
            f b b b c a 9 9 9 9 9 a c b b f
            f c b b c a 9 9 9 9 9 a c b b f
            f c b b c a 9 9 9 9 9 a c b b f
            f b b b c a a a a a a a c b a f
            f b b b c b b b c b b b c a 9 f
            f b b b c b b b c b b b c a 9 f
            f b b b c b b b c b b b c b a f
            f c b b c b b b c b b b c b b f
            f c b b c b b b c b b b c b b f
            f b b b c b b b c b b b c b b f
            f b b b c b b b c b b b c b b f
            f b b b c b b b c b b b c b b f
            . f f f f f f f f f f f f f f .
        `;
    export const boySprite = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . . .
            . . . . . . . . . . . f f f f 9 9 f f . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d d d d 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 d d d d d d d d 9 9 d f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d f d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 8 c f . . . . . . . . . . .
            . . . . . . . . . . f 8 c c c c c c c d f . . . . . . . . . . .
            . . . . . . . . . . f d f 8 8 8 8 8 8 d f . . . . . . . . . . .
            . . . . . . . . . . f d d f c c c c c d f . . . . . . . . . . .
            . . . . . . . . . . f d d f 7 f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 7 f f 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . f f 7 7 f f 7 7 f f f . . . . . . . . . .
            . . . . . . . . . . . f 7 7 f f f 7 c c a f . . . . . . . . . .
            . . . . . . . . . . f a b b f . . f b b f . . . . . . . . . . .
            . . . . . . . . . . . f f f f . . . f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
}
First, create a new namespace and name it customArt. In this guide, we've moved some of the previously created sprite art into this namespace - the boy's face and the full body sprite. We've also created chest and wall block sprites.
This is where we will place all the custom made sprite art for our game. We can then refer to it outside of the namespace. For example, to use the Chest sprite art, add the namespace followed by the const variable like so: customArt.Chest
In TypeScript, const stands for constant which means the variable cannot be reassigned at a later time. Remember to use the export keyword to make these values accessible outside the namespace. 

Step 4 Create new kinds of sprites

namespace SpriteKind {
    export const Boy = SpriteKind.create();
    export const Treasure = SpriteKind.create();
    export const Goal = SpriteKind.create();
}
Add a new kind of sprite in the namespace SpriteKind. Name it, Treasure
Create a new sprite kind and name it Goal.
As these values will be accessed outside the namespace, make sure to use export again.

Step 5 Remove playerSelection function

game.splash(intro);
createPlayer();
createLevel();
In this guide, we will focus on just the one player character, the boy sprite. So go ahead and remove the playerSelection function, as well as the call to that function. 
Then call the createLevel and createPlayer functions after game.splash(intro);

Step 6 Update createLevel function

function createLevel() {
    scene.setBackgroundImage(img`
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
        `);
    scene.setTileMap(img`
            c c c c c c c c c c c c c c c c c c a c
            c . . . . . . . . c . . . . . . . . . c
            c . b . . . . . . c . . . . . . . . . c
            c . . . . . . . . c . . . . . . . . . c
            c . . . . . . . . c . . . . . . . . . c
            c . . . . . . . . c . . . . c c c c c c
            c c c c c c c . . . . . . . . . . . . c
            c . . . . . c . . . . . . . . . . . . c
            c . . . . . c . . . . c . . . . . . . c
            c . . c c c c . . . . c . . . . . . . c
            c . . . . . . . . . . c . . . . . . . c
            c . . . . . . . . . . c . . . . . . . c
            c . . . . . . . . . . c . . . . . . . c
            c . . . . . . . . . . c . . . . . . . c
            c c c c c c c c c c c c c c c c c c c c
        `);
    scene.setTile(11, customArt.Chest, true);
    scene.setTile(12, customArt.Wall, true);
    doorSprite = sprites.create(customArt.Door, SpriteKind.Goal);
    doorSprite.setPosition(296, 8);
}
Update the background image with scene.setBackGroundImage
Create a tile map with scene.setTileMap
Set the custom made tiles - the wall blocks as well as the one chest block with scene.setTile
scene.setTile accepts three parameters. For example with scene.setTile(12, customArt.Chest, true):

The first parameter refers to the colour from our custom palette that has been used to indicate the wall block in our tile map.

The second parameter refers to the Chest sprite art contained in our customArt namespace.

The third parameter indicates whether or not the tile block ...
Create and position the door sprite, this will be the goal of our game. Once the player character reaches it, the win game condition is triggered. 

Step 7 createPlayer function

function createPlayer() {
    playerSprite = sprites.create(customArt.boySprite, SpriteKind.Boy);
    controller.moveSprite(playerSprite, 100, 100);
    info.setLife(3);
    scene.cameraFollowSprite(playerSprite);
}
Create the player sprite with sprites.create
The first parameter refers to the sprite art boySprite in the customArt namespace. The second parameter indicates the sprite kind. 
Next, to control the sprite using direction buttons, add controller.moveSprite(playerSprite, 100, 100); 
Set the player life to three with info.setLife(3);
Lastly, for the camera to follow the player sprite throughout the tile map, use:

scene.cameraFollowSprite(playerSprite);

Step 8 Create sprites for animation

To animate the player sprite, we require more sprite art! In this guide, we've created sprite art inspired by the classic SNES game, Earthbound. 

Feel free to create your own player sprites.

In this guide, there will be three frames for each walking animation in the directions: up, down, left, and right. So in total, there are twelve separate .png files that have been created.
Next, import your created sprite art into MakeCode Arcade with the MakeCode Arcade Asset Tool.

Step 9 Add animation extension

Next, add the Animation extension!

First, click on the Extensions button.
Click on animation
You should then see Animation-specific blocks found in the Animation tab over in the Javascript interface.

Step 10 Update customArt namespace

namespace customArt {
    export const Chest = img`
            . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . .
            . . . f f f f f f f f f f . . .
            . . f f b b b b b b b b f f . .
            . f f b c c c c c c c c b f f .
            . f b c c c c c c c c c c b f .
            f f c c c c c c c c c c c c f f
            f c c c c c c 9 9 c c c c c c f
            f 9 9 9 9 9 a f f a 9 9 9 9 9 f
            f b b b b b a f f a b b b b b f
            f c c c c c a a a a c c c c c f
            f b b b b b b b b b b b b b b f
            f 9 9 c c c c c c c c c c 9 9 f
            f a a b b b b b b b b b b a a f
            f f f f f f f f f f f f f f f f
        `;
    export const Wall = img`
            . f f f f f f f f f f f f f f .
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            . f f f f f f f f f f f f f f .
        `;
    export const Door = img`
            . f f f f f f f f f f f f f f .
            f b b b c b b b c b b b c b b f
            f b b b c a a a a a a a c b b f
            f b b b c a 9 9 9 9 9 a c b b f
            f c b b c a 9 9 9 9 9 a c b b f
            f c b b c a 9 9 9 9 9 a c b b f
            f b b b c a a a a a a a c b a f
            f b b b c b b b c b b b c a 9 f
            f b b b c b b b c b b b c a 9 f
            f b b b c b b b c b b b c b a f
            f c b b c b b b c b b b c b b f
            f c b b c b b b c b b b c b b f
            f b b b c b b b c b b b c b b f
            f b b b c b b b c b b b c b b f
            f b b b c b b b c b b b c b b f
            . f f f f f f f f f f f f f f .
        `;
    export const boySprite = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . . .
            . . . . . . . . . . . f f f f 9 9 f f . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d d d d 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 d d d d d d d d 9 9 d f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d f d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 8 c f . . . . . . . . . . .
            . . . . . . . . . . f 8 c c c c c c c d f . . . . . . . . . . .
            . . . . . . . . . . f d f 8 8 8 8 8 8 d f . . . . . . . . . . .
            . . . . . . . . . . f d d f c c c c c d f . . . . . . . . . . .
            . . . . . . . . . . f d d f 7 f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 7 f f 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . f f 7 7 f f 7 7 f f f . . . . . . . . . .
            . . . . . . . . . . . f 7 7 f f f 7 c c a f . . . . . . . . . .
            . . . . . . . . . . f a b b f . . f b b f . . . . . . . . . . .
            . . . . . . . . . . . f f f f . . . f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const right1 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
            . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
            . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 d d d d d f . . . . . . . . . .
            . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
            . . . . . . . . . f 9 9 d 9 d d d d d f d f . . . . . . . . . .
            . . . . . . . . . . f 9 d d d d d d d f d d f . . . . . . . . .
            . . . . . . . . . . f 9 9 d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
            . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
            . . . . . . . . . . . . . f c c 8 8 c f . . . . . . . . . . . .
            . . . . . . . . . . . . . f 8 8 c c c d f . . . . . . . . . . .
            . . . . . . . . . . . . f d d f 8 8 8 f d f . . . . . . . . . .
            . . . . . . . . . . . . f d f c c c c f d f . . . . . . . . . .
            . . . . . . . . . . . . . f f 7 7 7 7 f f a f . . . . . . . . .
            . . . . . . . . . . . . f b 7 7 f 7 7 f 7 a f . . . . . . . . .
            . . . . . . . . . . . . f b b f . f f c b a f . . . . . . . . .
            . . . . . . . . . . . . . f f f . . f b b f . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const right2 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
            . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
            . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 d d d d d d f . . . . . . . . . .
            . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d d d d d f d f . . . . . . . . . .
            . . . . . . . . . . f 9 d d d d d d d f d d f . . . . . . . . .
            . . . . . . . . . . f 9 9 d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
            . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
            . . . . . . . . . . . . . f c c 8 8 f . . . . . . . . . . . . .
            . . . . . . . . . . . . . f 8 8 c c c f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d f 8 8 8 f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d f c c c f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . . . f f f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . . . f 7 7 7 7 f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . f c c f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f b b a a f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . f f f f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const right3 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
                . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 d d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d d d d d f d f . . . . . . . . . .
                . . . . . . . . . . f 9 9 d d d d d d f d d f . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f 8 8 c c e e f . . . . . . . . . . .
                . . . . . . . . . . . . f f c c c 8 d f f . . . . . . . . . . .
                . . . . . . . . . . . f d f 8 8 8 f d d d f . . . . . . . . . .
                . . . . . . . . . . . f f 7 c c c f f d d f . . . . . . . . . .
                . . . . . . . . . . . . f 7 7 7 7 7 7 f f f . . . . . . . . . .
                . . . . . . . . . . . . f c 7 7 f 7 7 f 7 b f . . . . . . . . .
                . . . . . . . . . . . . f b a f . f f c b b f . . . . . . . . .
                . . . . . . . . . . . . . f f f . . f b b f . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const left1 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 d 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
            . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
            . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
            . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
            . . . . . . . . . . . . . f e 8 8 c c f . . . . . . . . . . . .
            . . . . . . . . . . . . f d c c c 8 8 f . . . . . . . . . . . .
            . . . . . . . . . . . f d f 8 8 8 f d d f . . . . . . . . . . .
            . . . . . . . . . . . f d f c c c c f d f . . . . . . . . . . .
            . . . . . . . . . . f a f f 7 7 7 7 f f . . . . . . . . . . . .
            . . . . . . . . . . f a 7 f 7 7 f 7 7 b f . . . . . . . . . . .
            . . . . . . . . . . f b b c f f . f b b f . . . . . . . . . . .
            . . . . . . . . . . . f b b f . . f f f . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;

    export const left2 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . . f 9 9 d d 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d 9 9 9 9 f . . . . . . . .
            . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
            . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
            . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . f 8 8 c c f . . . . . . . . . . . .
            . . . . . . . . . . . . . f c c c 8 8 f . . . . . . . . . . . .
            . . . . . . . . . . . . . f 8 8 8 f d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f c c c f d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f 7 7 7 f d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f 7 7 7 f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f 7 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . . . f f f c c f . . . . . . . . . . . . .
            . . . . . . . . . . . . . f a a b b f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . f f f f . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;

    export const left3 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . . f 9 9 d d 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d 9 9 9 9 9 f . . . . . . . .
            . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
            . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
            . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
            . . . . . . . . . . . . f 7 7 c c 8 8 f . . . . . . . . . . . .
            . . . . . . . . . . . . f f d 8 c c c f f . . . . . . . . . . .
            . . . . . . . . . . . f d d d f 8 8 8 f d f . . . . . . . . . .
            . . . . . . . . . . . f d d f f c c c 6 f f . . . . . . . . . .
            . . . . . . . . . . . f f f 6 6 6 6 6 6 f . . . . . . . . . . .
            . . . . . . . . . . f b 7 f 6 6 f 7 6 c f . . . . . . . . . . .
            . . . . . . . . . . f b b c f f . f a b f . . . . . . . . . . .
            . . . . . . . . . . . f b b f . . f f f . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;

    export const up1 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . f f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . . . .
            . . . . . . . . . . . . f f 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . .
            . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
            . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
            . . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . .
            . . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
            . . . . . . . . . f d 8 c c c c c c c 8 d f . . . . . . . . . .
            . . . . . . . . f d d 8 8 8 8 8 8 8 8 8 d f . . . . . . . . . .
            . . . . . . . . f d d f c c c c c c c c d f . . . . . . . . . .
            . . . . . . . . . f f f 7 7 7 7 7 7 7 f d f . . . . . . . . . .
            . . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . .
            . . . . . . . . . . f b f 7 7 f 7 7 f . . . . . . . . . . . . .
            . . . . . . . . . . . f b b f f f c c f f . . . . . . . . . . .
            . . . . . . . . . . . . f f . . f b b a f . . . . . . . . . . .
            . . . . . . . . . . . . . . . . f f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const up2 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . .
            . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . . . . .
            . . . . . . . . . . . f f 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . . .
            . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
            . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . . .
            . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . . .
            . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . . .
            . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . . .
            . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . . .
            . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . . .
            . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . . .
            . . . . . . . . f d 8 8 8 8 8 8 8 8 8 d f . . . . . . . . . . .
            . . . . . . . . f d c c c c c c c c c d f . . . . . . . . . . .
            . . . . . . . . f d f 7 7 7 7 7 7 7 f d f . . . . . . . . . . .
            . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 f 7 7 f . . . . . . . . . . . . . .
            . . . . . . . . . f f c c f f f c c f f . . . . . . . . . . . .
            . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . . .
            . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const up3 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . .
            . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
            . . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
            . . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . .
            . . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
            . . . . . . . . . f d 8 c c c c c c c 8 d f . . . . . . . . . .
            . . . . . . . . . f d 8 8 8 8 8 8 8 8 8 d d f . . . . . . . . .
            . . . . . . . . . f d c c c c c c c c f d d f . . . . . . . . .
            . . . . . . . . . f d f 7 7 7 7 7 7 7 f f f . . . . . . . . . .
            . . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . .
            . . . . . . . . . . . . f 7 7 f 7 7 f b f . . . . . . . . . . .
            . . . . . . . . . . f f c c f f f b b f . . . . . . . . . . . .
            . . . . . . . . . . f a b b f . . f f . . . . . . . . . . . . .
            . . . . . . . . . . . f f f f . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const down1 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c 8 8 8 8 8 8 c c f . . . . . . . . . . .
            . . . . . . . . . . f d c c c c c c c 8 f . . . . . . . . . . .
            . . . . . . . . . . f d 8 8 8 8 8 8 f d f . . . . . . . . . . .
            . . . . . . . . . . f d c c c c c f d d f . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 7 f 7 f d d f . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 f f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . f f f 7 7 f f 7 7 f f . . . . . . . . . . . .
            . . . . . . . . . f a c c 7 f f f 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . f b b f . . f b b a f . . . . . . . . . . .
            . . . . . . . . . . . f f . . . f f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const down2 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
            . . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . .
            . . . . . . . . . f d b 8 8 8 8 8 8 8 b d f . . . . . . . . . .
            . . . . . . . . . f d b c c c c c c c b d f . . . . . . . . . .
            . . . . . . . . . f d b 7 7 7 f 7 7 7 b d f . . . . . . . . . .
            . . . . . . . . . . f 7 7 7 7 f 7 7 7 7 f . . . . . . . . . . .
            . . . . . . . . . . . f f 7 7 f 7 7 f f . . . . . . . . . . . .
            . . . . . . . . . . . f c c f f f c c f . . . . . . . . . . . .
            . . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . .
            . . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const down3 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . . .
            . . . . . . . . . . . f f f f 9 9 f f . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d d d d 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 d d d d d d d d 9 9 d f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d f d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 8 c f . . . . . . . . . . .
            . . . . . . . . . . f 8 c c c c c c c d f . . . . . . . . . . .
            . . . . . . . . . . f d f 8 8 8 8 8 8 d f . . . . . . . . . . .
            . . . . . . . . . . f d d f c c c c c d f . . . . . . . . . . .
            . . . . . . . . . . f d d f 7 f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 7 f f 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . f f 7 7 f f 7 7 f f f . . . . . . . . . .
            . . . . . . . . . . . f 7 7 f f f 7 c c a f . . . . . . . . . .
            . . . . . . . . . . f a b b f . . f b b f . . . . . . . . . . .
            . . . . . . . . . . . f f f f . . . f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const idle = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
            . . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . .
            . . . . . . . . . f d b 8 8 8 8 8 8 8 b d f . . . . . . . . . .
            . . . . . . . . . f d b c c c c c c c b d f . . . . . . . . . .
            . . . . . . . . . f d b 7 7 7 f 7 7 7 b d f . . . . . . . . . .
            . . . . . . . . . . f 7 7 7 7 f 7 7 7 7 f . . . . . . . . . . .
            . . . . . . . . . . . f f 7 7 f 7 7 f f . . . . . . . . . . . .
            . . . . . . . . . . . f c c f f f c c f . . . . . . . . . . . .
            . . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . .
            . . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;


}
Make sure export is used, this will allow the sprites to be accessed outside of the customArt namespace.
Next, add the newly made sprites into the customArt namespace. 
In this guide, there are will be three frames for each animation walk cycle in either directions: up, down, left, and right. 

Step 11 Create ActionKind

enum ActionKind {
    Walking,
    Idle
}
Before we start adding code for the animations, create two different kinds of actions: Walking and Idle. These will classify the different animations we will be creating later on.
In TypeScript, an enum enables a collection of values to be used by name, which makes our code more readable and ensures a fixed set of values are used consistently. 

First use the enum keyword, followed by a name, then followed by a list of values in curly braces as shown on the left. 

Step 12 Animation Namespace

namespace animation {
    controller.right.onEvent(ControllerButtonEvent.Pressed, function () {
        let rightAnim = animation.createAnimation(0, 150);
        animation.attachAnimation(playerSprite, rightAnim);
        rightAnim.addAnimationFrame(customArt.right1);
        rightAnim.addAnimationFrame(customArt.right2);
        rightAnim.addAnimationFrame(customArt.right3);
        animation.setAction(playerSprite, ActionKind.Walking);
    })

    controller.left.onEvent(ControllerButtonEvent.Pressed, function () {
        let leftAnim = animation.createAnimation(0, 150);
        animation.attachAnimation(playerSprite, leftAnim);
        leftAnim.addAnimationFrame(customArt.left1);
        leftAnim.addAnimationFrame(customArt.left2);
        leftAnim.addAnimationFrame(customArt.left3);
        animation.setAction(playerSprite, ActionKind.Walking);
    })

    controller.up.onEvent(ControllerButtonEvent.Pressed, function () {
        let upAnim = animation.createAnimation(0, 150);
        animation.attachAnimation(playerSprite, upAnim);
        upAnim.addAnimationFrame(customArt.up1);
        upAnim.addAnimationFrame(customArt.up2);
        upAnim.addAnimationFrame(customArt.up3);
        animation.setAction(playerSprite, ActionKind.Walking);
    })

    controller.down.onEvent(ControllerButtonEvent.Pressed, function () {
        let downAnim = animation.createAnimation(0, 150);
        animation.attachAnimation(playerSprite, downAnim);
        downAnim.addAnimationFrame(customArt.down1);
        downAnim.addAnimationFrame(customArt.down2);
        downAnim.addAnimationFrame(customArt.down3);
        animation.setAction(playerSprite, ActionKind.Walking);
    })
    controller.anyButton.onEvent(ControllerButtonEvent.Released, function () {
        let idleAnim = animation.createAnimation(0, 150);
        animation.attachAnimation(playerSprite, idleAnim);
        idleAnim.addAnimationFrame(customArt.idle);
        animation.setAction(playerSprite, ActionKind.Idle);
    })
}
Now for the animation! First, create a new namespace and name it Animation.
Next, create an onEvent controller function for each direction: up, down, left and right. Make sure they are set to ControllerButtonEvent.Pressed
To create an animation sequence, first use let to create a variable. Next, assign it to animation.createAnimation(0, 150); 
To change the interval of the animation sequence, decrease or increase the value of the second parameter. 
The animation sequence will need to be attached to a particular sprite. In this case, we want to attach it to playerSprite. So go ahead and use animation.attachAnimation
For each animation sequence, there will be three frames. To create a single frame, for instance in the down animation sequence, use the name of the animation sequence followed by addAnimationFrame like so: downAnim.addAnimationFrame

This accepts one parameter, which is the sprite art to be used for the particular frame
To set the action kind for the animation sequence, use animation.setAction
Here, controller.anyButton.onEvent is used to detect when any button has been released. If so, the idle animation will be played instead

Step 13 Goal

sprites.onOverlap(SpriteKind.Boy, SpriteKind.Goal, function (sprite: Sprite, otherSprite: Sprite) {
    game.over(true);
})
Set game.over to true for the win game condition.
To trigger the win game condition, we will use Overlap events on two sprite kinds. 
The first parameter of sprites.onOverlap will be the first sprite kind, and the second parameter will be the second sprite kind.

Step 14 Complete Javascript Code

let selectionBox: Sprite = null;
let playerSprite: Sprite = null;
let boySprite: Sprite = null;
let doorSprite: Sprite = null;
let userName = game.askForString("What is your name?");
let intro = "Hello, " + userName + ", you are about to embark on an adventure!";

enum ActionKind {
    Walking,
    Idle
}

namespace SpriteKind {
    export const Boy = SpriteKind.create();
    export const Treasure = SpriteKind.create();
    export const Goal = SpriteKind.create();
}

namespace customArt {
    export const Chest = img`
            . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . .
            . . . f f f f f f f f f f . . .
            . . f f b b b b b b b b f f . .
            . f f b c c c c c c c c b f f .
            . f b c c c c c c c c c c b f .
            f f c c c c c c c c c c c c f f
            f c c c c c c 9 9 c c c c c c f
            f 9 9 9 9 9 a f f a 9 9 9 9 9 f
            f b b b b b a f f a b b b b b f
            f c c c c c a a a a c c c c c f
            f b b b b b b b b b b b b b b f
            f 9 9 c c c c c c c c c c 9 9 f
            f a a b b b b b b b b b b a a f
            f f f f f f f f f f f f f f f f
        `;
    export const Wall = img`
            . f f f f f f f f f f f f f f .
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
            f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
            . f f f f f f f f f f f f f f .
        `;
    export const Door = img`
            . f f f f f f f f f f f f f f .
            f b b b c b b b c b b b c b b f
            f b b b c a a a a a a a c b b f
            f b b b c a 9 9 9 9 9 a c b b f
            f c b b c a 9 9 9 9 9 a c b b f
            f c b b c a 9 9 9 9 9 a c b b f
            f b b b c a a a a a a a c b a f
            f b b b c b b b c b b b c a 9 f
            f b b b c b b b c b b b c a 9 f
            f b b b c b b b c b b b c b a f
            f c b b c b b b c b b b c b b f
            f c b b c b b b c b b b c b b f
            f b b b c b b b c b b b c b b f
            f b b b c b b b c b b b c b b f
            f b b b c b b b c b b b c b b f
            . f f f f f f f f f f f f f f .
        `;
    export const boySprite = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . . .
            . . . . . . . . . . . f f f f 9 9 f f . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d d d d 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 d d d d d d d d 9 9 d f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d f d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 8 c f . . . . . . . . . . .
            . . . . . . . . . . f 8 c c c c c c c d f . . . . . . . . . . .
            . . . . . . . . . . f d f 8 8 8 8 8 8 d f . . . . . . . . . . .
            . . . . . . . . . . f d d f c c c c c d f . . . . . . . . . . .
            . . . . . . . . . . f d d f 7 f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 7 f f 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . f f 7 7 f f 7 7 f f f . . . . . . . . . .
            . . . . . . . . . . . f 7 7 f f f 7 c c a f . . . . . . . . . .
            . . . . . . . . . . f a b b f . . f b b f . . . . . . . . . . .
            . . . . . . . . . . . f f f f . . . f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const right1 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
            . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
            . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 d d d d d f . . . . . . . . . .
            . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
            . . . . . . . . . f 9 9 d 9 d d d d d f d f . . . . . . . . . .
            . . . . . . . . . . f 9 d d d d d d d f d d f . . . . . . . . .
            . . . . . . . . . . f 9 9 d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
            . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
            . . . . . . . . . . . . . f c c 8 8 c f . . . . . . . . . . . .
            . . . . . . . . . . . . . f 8 8 c c c d f . . . . . . . . . . .
            . . . . . . . . . . . . f d d f 8 8 8 f d f . . . . . . . . . .
            . . . . . . . . . . . . f d f c c c c f d f . . . . . . . . . .
            . . . . . . . . . . . . . f f 7 7 7 7 f f a f . . . . . . . . .
            . . . . . . . . . . . . f b 7 7 f 7 7 f 7 a f . . . . . . . . .
            . . . . . . . . . . . . f b b f . f f c b a f . . . . . . . . .
            . . . . . . . . . . . . . f f f . . f b b f . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const right2 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
            . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
            . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 d d d d d d f . . . . . . . . . .
            . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d d d d d f d f . . . . . . . . . .
            . . . . . . . . . . f 9 d d d d d d d f d d f . . . . . . . . .
            . . . . . . . . . . f 9 9 d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
            . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
            . . . . . . . . . . . . . f c c 8 8 f . . . . . . . . . . . . .
            . . . . . . . . . . . . . f 8 8 c c c f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d f 8 8 8 f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d f c c c f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . . . f f f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . . . f 7 7 7 7 f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . f c c f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f b b a a f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . f f f f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const right3 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
                . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 d d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d d d d d f d f . . . . . . . . . .
                . . . . . . . . . . f 9 9 d d d d d d f d d f . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f 8 8 c c e e f . . . . . . . . . . .
                . . . . . . . . . . . . f f c c c 8 d f f . . . . . . . . . . .
                . . . . . . . . . . . f d f 8 8 8 f d d d f . . . . . . . . . .
                . . . . . . . . . . . f f 7 c c c f f d d f . . . . . . . . . .
                . . . . . . . . . . . . f 7 7 7 7 7 7 f f f . . . . . . . . . .
                . . . . . . . . . . . . f c 7 7 f 7 7 f 7 b f . . . . . . . . .
                . . . . . . . . . . . . f b a f . f f c b b f . . . . . . . . .
                . . . . . . . . . . . . . f f f . . f b b f . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const left1 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 d 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
            . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
            . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
            . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
            . . . . . . . . . . . . . f e 8 8 c c f . . . . . . . . . . . .
            . . . . . . . . . . . . f d c c c 8 8 f . . . . . . . . . . . .
            . . . . . . . . . . . f d f 8 8 8 f d d f . . . . . . . . . . .
            . . . . . . . . . . . f d f c c c c f d f . . . . . . . . . . .
            . . . . . . . . . . f a f f 7 7 7 7 f f . . . . . . . . . . . .
            . . . . . . . . . . f a 7 f 7 7 f 7 7 b f . . . . . . . . . . .
            . . . . . . . . . . f b b c f f . f b b f . . . . . . . . . . .
            . . . . . . . . . . . f b b f . . f f f . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;

    export const left2 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . . f 9 9 d d 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d 9 9 9 9 f . . . . . . . .
            . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
            . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
            . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . f 8 8 c c f . . . . . . . . . . . .
            . . . . . . . . . . . . . f c c c 8 8 f . . . . . . . . . . . .
            . . . . . . . . . . . . . f 8 8 8 f d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f c c c f d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f 7 7 7 f d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f 7 7 7 f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f 7 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . . . f f f c c f . . . . . . . . . . . . .
            . . . . . . . . . . . . . f a a b b f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . f f f f . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;

    export const left3 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . . f 9 9 d d 9 9 9 9 9 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d 9 9 9 9 9 f . . . . . . . .
            . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
            . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
            . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
            . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
            . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
            . . . . . . . . . . . . f 7 7 c c 8 8 f . . . . . . . . . . . .
            . . . . . . . . . . . . f f d 8 c c c f f . . . . . . . . . . .
            . . . . . . . . . . . f d d d f 8 8 8 f d f . . . . . . . . . .
            . . . . . . . . . . . f d d f f c c c 6 f f . . . . . . . . . .
            . . . . . . . . . . . f f f 6 6 6 6 6 6 f . . . . . . . . . . .
            . . . . . . . . . . f b 7 f 6 6 f 7 6 c f . . . . . . . . . . .
            . . . . . . . . . . f b b c f f . f a b f . . . . . . . . . . .
            . . . . . . . . . . . f b b f . . f f f . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;

    export const up1 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . f f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . . . .
            . . . . . . . . . . . . f f 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . .
            . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
            . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
            . . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . .
            . . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
            . . . . . . . . . f d 8 c c c c c c c 8 d f . . . . . . . . . .
            . . . . . . . . f d d 8 8 8 8 8 8 8 8 8 d f . . . . . . . . . .
            . . . . . . . . f d d f c c c c c c c c d f . . . . . . . . . .
            . . . . . . . . . f f f 7 7 7 7 7 7 7 f d f . . . . . . . . . .
            . . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . .
            . . . . . . . . . . f b f 7 7 f 7 7 f . . . . . . . . . . . . .
            . . . . . . . . . . . f b b f f f c c f f . . . . . . . . . . .
            . . . . . . . . . . . . f f . . f b b a f . . . . . . . . . . .
            . . . . . . . . . . . . . . . . f f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const up2 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . .
            . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . . . . .
            . . . . . . . . . . . f f 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . . .
            . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
            . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . . .
            . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . . .
            . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . . .
            . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . . .
            . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . . .
            . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . . .
            . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . . .
            . . . . . . . . f d 8 8 8 8 8 8 8 8 8 d f . . . . . . . . . . .
            . . . . . . . . f d c c c c c c c c c d f . . . . . . . . . . .
            . . . . . . . . f d f 7 7 7 7 7 7 7 f d f . . . . . . . . . . .
            . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 f 7 7 f . . . . . . . . . . . . . .
            . . . . . . . . . f f c c f f f c c f f . . . . . . . . . . . .
            . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . . .
            . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const up3 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . .
            . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
            . . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
            . . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . .
            . . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
            . . . . . . . . . f d 8 c c c c c c c 8 d f . . . . . . . . . .
            . . . . . . . . . f d 8 8 8 8 8 8 8 8 8 d d f . . . . . . . . .
            . . . . . . . . . f d c c c c c c c c f d d f . . . . . . . . .
            . . . . . . . . . f d f 7 7 7 7 7 7 7 f f f . . . . . . . . . .
            . . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . .
            . . . . . . . . . . . . f 7 7 f 7 7 f b f . . . . . . . . . . .
            . . . . . . . . . . f f c c f f f b b f . . . . . . . . . . . .
            . . . . . . . . . . f a b b f . . f f . . . . . . . . . . . . .
            . . . . . . . . . . . f f f f . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const down1 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c 8 8 8 8 8 8 c c f . . . . . . . . . . .
            . . . . . . . . . . f d c c c c c c c 8 f . . . . . . . . . . .
            . . . . . . . . . . f d 8 8 8 8 8 8 f d f . . . . . . . . . . .
            . . . . . . . . . . f d c c c c c f d d f . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 7 f 7 f d d f . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 f f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . f f f 7 7 f f 7 7 f f . . . . . . . . . . . .
            . . . . . . . . . f a c c 7 f f f 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . f b b f . . f b b a f . . . . . . . . . . .
            . . . . . . . . . . . f f . . . f f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const down2 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
            . . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . .
            . . . . . . . . . f d b 8 8 8 8 8 8 8 b d f . . . . . . . . . .
            . . . . . . . . . f d b c c c c c c c b d f . . . . . . . . . .
            . . . . . . . . . f d b 7 7 7 f 7 7 7 b d f . . . . . . . . . .
            . . . . . . . . . . f 7 7 7 7 f 7 7 7 7 f . . . . . . . . . . .
            . . . . . . . . . . . f f 7 7 f 7 7 f f . . . . . . . . . . . .
            . . . . . . . . . . . f c c f f f c c f . . . . . . . . . . . .
            . . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . .
            . . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const down3 = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . . .
            . . . . . . . . . . . f f f f 9 9 f f . . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . .
            . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d d d d 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 d d d d d d d d 9 9 d f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d f d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 8 c f . . . . . . . . . . .
            . . . . . . . . . . f 8 c c c c c c c d f . . . . . . . . . . .
            . . . . . . . . . . f d f 8 8 8 8 8 8 d f . . . . . . . . . . .
            . . . . . . . . . . f d d f c c c c c d f . . . . . . . . . . .
            . . . . . . . . . . f d d f 7 f 7 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . f 7 7 7 f f 7 7 f . . . . . . . . . . . .
            . . . . . . . . . . . f f 7 7 f f 7 7 f f f . . . . . . . . . .
            . . . . . . . . . . . f 7 7 f f f 7 c c a f . . . . . . . . . .
            . . . . . . . . . . f a b b f . . f b b f . . . . . . . . . . .
            . . . . . . . . . . . f f f f . . . f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
    export const idle = img`
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
            . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
            . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
            . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . . f 9 9 d d d 9 9 9 9 9 9 f . . . . . . . . . .
            . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
            . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
            . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
            . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
            . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
            . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
            . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
            . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
            . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
            . . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . .
            . . . . . . . . . f d b 8 8 8 8 8 8 8 b d f . . . . . . . . . .
            . . . . . . . . . f d b c c c c c c c b d f . . . . . . . . . .
            . . . . . . . . . f d b 7 7 7 f 7 7 7 b d f . . . . . . . . . .
            . . . . . . . . . . f 7 7 7 7 f 7 7 7 7 f . . . . . . . . . . .
            . . . . . . . . . . . f f 7 7 f 7 7 f f . . . . . . . . . . . .
            . . . . . . . . . . . f c c f f f c c f . . . . . . . . . . . .
            . . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . .
            . . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
        `;
}

namespace animation {
    controller.right.onEvent(ControllerButtonEvent.Pressed, function () {
        let rightAnim = animation.createAnimation(0, 150);
        animation.attachAnimation(playerSprite, rightAnim);
        rightAnim.addAnimationFrame(customArt.right1);
        rightAnim.addAnimationFrame(customArt.right2);
        rightAnim.addAnimationFrame(customArt.right3);
        animation.setAction(playerSprite, ActionKind.Walking);
    })

    controller.left.onEvent(ControllerButtonEvent.Pressed, function () {
        let leftAnim = animation.createAnimation(0, 150);
        animation.attachAnimation(playerSprite, leftAnim);
        leftAnim.addAnimationFrame(customArt.left1);
        leftAnim.addAnimationFrame(customArt.left2);
        leftAnim.addAnimationFrame(customArt.left3);
        animation.setAction(playerSprite, ActionKind.Walking);
    })

    controller.up.onEvent(ControllerButtonEvent.Pressed, function () {
        let upAnim = animation.createAnimation(0, 150);
        animation.attachAnimation(playerSprite, upAnim);
        upAnim.addAnimationFrame(customArt.up1);
        upAnim.addAnimationFrame(customArt.up2);
        upAnim.addAnimationFrame(customArt.up3);
        animation.setAction(playerSprite, ActionKind.Walking);
    })

    controller.down.onEvent(ControllerButtonEvent.Pressed, function () {
        let downAnim = animation.createAnimation(0, 150);
        animation.attachAnimation(playerSprite, downAnim);
        downAnim.addAnimationFrame(customArt.down1);
        downAnim.addAnimationFrame(customArt.down2);
        downAnim.addAnimationFrame(customArt.down3);
        animation.setAction(playerSprite, ActionKind.Walking);
    })
  
    controller.anyButton.onEvent(ControllerButtonEvent.Released, function () {
        let idleAnim = animation.createAnimation(0, 150);
        animation.attachAnimation(playerSprite, idleAnim);
        idleAnim.addAnimationFrame(customArt.idle);
        animation.setAction(playerSprite, ActionKind.Idle);
    })
}

function createLevel() {
    scene.setBackgroundImage(img`
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
        `);
    scene.setTileMap(img`
            c c c c c c c c c c c c c c c c c c a c
            c . . . . . . . . c . . . . . . . . . c
            c . b . . . . . . c . . . . . . . . . c
            c . . . . . . . . c . . . . . . . . . c
            c . . . . . . . . c . . . . . . . . . c
            c . . . . . . . . c . . . . c c c c c c
            c c c c c c c . . . . . . . . . . . . c
            c . . . . . c . . . . . . . . . . . . c
            c . . . . . c . . . . c . . . . . . . c
            c . . c c c c . . . . c . . . . . . . c
            c . . . . . . . . . . c . . . . . . . c
            c . . . . . . . . . . c . . . . . . . c
            c . . . . . . . . . . c . . . . . . . c
            c . . . . . . . . . . c . . . . . . . c
            c c c c c c c c c c c c c c c c c c c c
        `);
    scene.setTile(11, customArt.Chest, true);
    scene.setTile(12, customArt.Wall, true);
    doorSprite = sprites.create(customArt.Door, SpriteKind.Goal);
    doorSprite.setPosition(296, 8);
}

function createPlayer() {
    playerSprite = sprites.create(customArt.boySprite, SpriteKind.Boy);
    controller.moveSprite(playerSprite, 100, 100);
    info.setLife(3);
    scene.cameraFollowSprite(playerSprite);
}

sprites.onOverlap(SpriteKind.Boy, SpriteKind.Goal, function (sprite: Sprite, otherSprite: Sprite) {
    game.over(true);
})

game.splash(intro);
createPlayer();
createLevel();
Once complete, the code should look similar to what is on the left.

Step 15 Upload code to Meowbit

Click on the Download button
Click on Meowbit
Drag and drop the arcade-dungeon-crawler.uf2 file to ARCADE-F4
Want the guide's .uf2 file? Feel free to download a copy of the game here.

Step 16 Conclusion

We're done with the first level of our Dungeon Crawler game! In the next guide, we'll show you how to create multiple levels, projectiles and enemies in Javascript and TypeScript. 
Check out our guides over at https://www.littlebird.com.au/a/how-to/#micro-bit to learn even more. Happy gaming!