Tuto to make an animation of a sprite in a game (by Steph)

I post here a solution posted by @Steph, 2 years ago to make animation with a concrete example, treated in its entirety.

First to add an image in your game you can have a look on this tutorial

This example will allow to better understand how to make a sprite animation. Here is a spritesheet that breaks down the progress of a well-known character, which includes 10 images (right-click and then « save image as » to retrieve it):
image

You will find the original spritesheet on spriters-resource.com. Thanks to Ittan-Momen.

The animation has 10 frames. Each frame measures 20x32 pixels. You can convert this spritesheet to C++ using the Image to code converter tool of our friend gouz. All frames are oriented to the left, but it is useless to copy them by symmetry to obtain the versions oriented to the right. Indeed, you will see below that the drawImage function accepts two optional parameters (w2 and h2) that will allow you to reverse images horizontally.

You will find below a small code detailing an animation technique of the character walking, controllable with the BUTTON_LEFT and BUTTON_RIGHT buttons on the console. Here is a screenshot of what it looks like:

The corresponding code will be posted on next post as else this one is too long:

#include <Gamebuino-Meta.h>

#define SCREEN_WIDTH            80
#define SCREEN_HEIGHT           64

#define MARIO_WIDTH             20
#define MARIO_HEIGHT            32
#define MARIO_FRAMES            10
#define MARIO_DEFAULT_FRAME     4
#define MARIO_ORIENTATION_LEFT  true
#define MARIO_ORIENTATION_RIGHT false

const uint16_t mariodata[] = {
    MARIO_WIDTH,  // frame width
    MARIO_HEIGHT, // frame height
    MARIO_FRAMES, // number of frames
    0,            // animation speed (no animation)
    0xF81F,       // transparent color
    0,            // color mode: RGB565
    // colored pixels data
     0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0x0,0xffdd,0x0,0xffdd,0xff5a,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xff5a,0x0,0xffdd,0xff5a,0xf616,0xf616,0x0,0xf616,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xffdd,0x0,0xffdd,0xff5a,0xff5a,0xff5a,0xf616,0xf616,0x0,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xf616,0x0,0xf616,0xf616,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0x0,0x949e,0x0,0x0,0x0,0x80c1,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x949e,0x0,0xec66,0xffdf,0x0,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x949e,0x0,0x0,0x0,0x949e,0x949e,0x0,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xff50,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xff50,0xff50,0xff50,0xff50,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x7399,0x949e,0x949e,0x949e,0x949e,0x949e,0x949e,0x7399,0x0,0xff50,0xff50,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x4a51,0x4a51,0x4a51,0x4a51,0x0,0xec66,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xec66,0xe184,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xe184,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0x0,0xffdd,0x0,0xffdd,0xff5a,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xff5a,0x0,0xffdd,0xff5a,0xf616,0xf616,0x0,0xf616,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xffdd,0x0,0xffdd,0xff5a,0xff5a,0xff5a,0xf616,0xf616,0x0,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xf616,0x0,0xf616,0xf616,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x0,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0x0,0x0,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x0,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x949e,0x0,0x0,0x0,0x949e,0x949e,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x0,0xff50,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x7399,0x949e,0x949e,0x949e,0x949e,0x949e,0x0,0xec66,0xff50,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x0,0xec66,0xff50,0xffdf,0xec66,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x4a51,0x7399,0x7399,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0xec66,0xe184,0x80c1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0x0,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0xff50,0xff50,0xff50,0xff50,0x0,0xec66,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xe184,0xe184,0xe184,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0x0,0xffdd,0x0,0xffdd,0xff5a,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xff5a,0x0,0xffdd,0xff5a,0xf616,0xf616,0x0,0xf616,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xffdd,0x0,0xffdd,0xff5a,0xff5a,0xff5a,0xf616,0xf616,0x0,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xf616,0x0,0xf616,0xf616,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x949e,0x0,0x80c1,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x949e,0x0,0x0,0x0,0x949e,0x949e,0x949e,0x0,0x80c1,0x0,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x949e,0x7399,0x0,0xff50,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x949e,0x7399,0x0,0xec66,0xff50,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0x0,0x7399,0x949e,0x949e,0x949e,0x949e,0x949e,0x949e,0x7399,0x7399,0x7399,0x0,0xff50,0xff50,0xffdf,0xff50,0x0,0xF81F,0xF81F,0x0,0x0,0x0,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x4a51,0x0,0xff50,0xff50,0x0,0xF81F,0xF81F,0x0,0xff50,0xec66,0x0,0x4a51,0x4a51,0x4a51,0x4a51,0x4a51,0x7399,0x7399,0x0,0x0,0x0,0xF81F,0x0,0x0,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0xe184,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xec66,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0x0,0xec66,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0x0,0xffdd,0x0,0xffdd,0xff5a,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xff5a,0x0,0xffdd,0xff5a,0xf616,0xf616,0x0,0xf616,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xffdd,0x0,0xffdd,0xff5a,0xff5a,0xff5a,0xf616,0xf616,0x0,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xf616,0x0,0xf616,0xf616,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x0,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0x0,0x0,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x0,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x949e,0x0,0x0,0x0,0x949e,0x949e,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x0,0xff50,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x7399,0x949e,0x949e,0x949e,0x949e,0x949e,0x0,0xec66,0xff50,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x0,0xec66,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x4a51,0x4a51,0x4a51,0x4a51,0x7399,0x7399,0x0,0xec66,0xec66,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0x0,0xF81F,0xF81F,0xF81F,0x0,0x80c1,0x80c1,0x80c1,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0x0,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x80c1,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0x0,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0x0,0x80c1,0x0,0xF81F,0xF81F,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0x0,0xffdd,0x0,0xffdd,0xff5a,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xff5a,0x0,0xffdd,0xff5a,0xf616,0xf616,0x0,0xf616,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xffdd,0x0,0xffdd,0xff5a,0xff5a,0xff5a,0xf616,0xf616,0x0,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xf616,0x0,0xf616,0xf616,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0x0,0x949e,0x0,0x0,0x0,0x80c1,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x949e,0x0,0xec66,0xffdf,0x0,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x949e,0x0,0x0,0x0,0x949e,0x949e,0x0,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xff50,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xff50,0xff50,0xff50,0xff50,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x7399,0x949e,0x949e,0x949e,0x949e,0x949e,0x949e,0x7399,0x0,0xff50,0xff50,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x4a51,0x4a51,0x4a51,0x4a51,0x7399,0x7399,0x0,0xec66,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xec66,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0x0,0x80c1,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0x80c1,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0x0,0xffdd,0x0,0xffdd,0xff5a,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xff5a,0x0,0xffdd,0xff5a,0xf616,0xf616,0x0,0xf616,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xffdd,0x0,0xffdd,0xff5a,0xff5a,0xff5a,0xf616,0xf616,0x0,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xf616,0x0,0xf616,0xf616,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x0,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0x0,0x0,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x0,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x949e,0x0,0x0,0x0,0x949e,0x949e,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x0,0xff50,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x7399,0x949e,0x949e,0x949e,0x949e,0x949e,0x0,0xec66,0xff50,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x7399,0x7399,0x7399,0x7399,0x7399,0x0,0x0,0x0,0xff50,0xffdf,0xec66,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x4a51,0x4a51,0x4a51,0x0,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0xec66,0xe184,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xe184,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0x0,0xffdd,0x0,0xffdd,0xff5a,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xff5a,0x0,0xffdd,0xff5a,0xf616,0xf616,0x0,0xf616,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xffdd,0x0,0xffdd,0xff5a,0xff5a,0xff5a,0xf616,0xf616,0x0,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xf616,0x0,0xf616,0xf616,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x949e,0x0,0x80c1,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x949e,0x0,0x0,0x0,0x949e,0x949e,0x949e,0x0,0x80c1,0x0,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x949e,0x7399,0x0,0xff50,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x949e,0x7399,0x0,0xec66,0xff50,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0x0,0x7399,0x949e,0x949e,0x949e,0x949e,0x949e,0x949e,0x7399,0x7399,0x7399,0x0,0xff50,0xff50,0xffdf,0xff50,0x0,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x4a51,0x0,0xff50,0xff50,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x0,0x0,0x0,0x0,0x7399,0x7399,0x7399,0x4a51,0x0,0xF81F,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0xec66,0xe184,0x80c1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0x0,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0xff50,0xff50,0xff50,0xff50,0x0,0xec66,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xe184,0xe184,0xe184,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0x0,0xffdd,0x0,0xffdd,0xff5a,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xff5a,0x0,0xffdd,0xff5a,0xf616,0xf616,0x0,0xf616,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xffdd,0x0,0xffdd,0xff5a,0xff5a,0xff5a,0xf616,0xf616,0x0,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xf616,0x0,0xf616,0xf616,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x0,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0x0,0x0,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x0,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x949e,0x0,0x0,0x0,0x949e,0x949e,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x0,0xff50,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x7399,0x949e,0x949e,0x949e,0x949e,0x949e,0x0,0xec66,0xff50,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x0,0xec66,0xff50,0xffdf,0xec66,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xec66,0x0,0x4a51,0x4a51,0x4a51,0x4a51,0x7399,0x7399,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0xe184,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xec66,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0x0,0xec66,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0x0,0xffdd,0x0,0xffdd,0xff5a,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xff5a,0x0,0xffdd,0xff5a,0xf616,0xf616,0x0,0xf616,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xffdd,0x0,0xffdd,0xff5a,0xff5a,0xff5a,0xf616,0xf616,0x0,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xf616,0x0,0xf616,0xf616,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0x0,0x949e,0x0,0x0,0x0,0x80c1,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x949e,0x0,0xec66,0xffdf,0x0,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x949e,0x0,0x0,0x0,0x949e,0x949e,0x0,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xff50,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xff50,0xff50,0xff50,0xff50,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x7399,0x949e,0x949e,0x949e,0x949e,0x949e,0x949e,0x7399,0x0,0xff50,0xff50,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x4a51,0x4a51,0x4a51,0x4a51,0x7399,0x7399,0x7399,0x0,0xec66,0xec66,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xec66,0xec66,0xe184,0x0,0xF81F,0xF81F,0xF81F,0x0,0x80c1,0x80c1,0x80c1,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0x0,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x80c1,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0x0,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xff50,0xff50,0x0,0x80c1,0x0,0xF81F,0xF81F,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xec66,0xe184,0xe184,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xffdf,0xffdf,0xffdf,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0xe184,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0x0,0xffdd,0x0,0xffdd,0xff5a,0xf616,0x0,0x0,0x0,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xff5a,0x0,0xffdd,0xff5a,0xf616,0xf616,0x0,0xf616,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xffdd,0x0,0xffdd,0xff5a,0xff5a,0xff5a,0xf616,0xf616,0x0,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xffdd,0xffdd,0xf616,0xf616,0x0,0x0,0x0,0x0,0x0,0xf616,0x0,0xf616,0xf616,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf616,0xf616,0xf616,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xf616,0xf616,0xf616,0xf616,0xf616,0xf616,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x0,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0xe184,0x0,0x0,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x0,0xe184,0xe184,0x0,0x949e,0x0,0x80c1,0xe184,0xe184,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0x949e,0x0,0x0,0x0,0x949e,0x949e,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x949e,0x0,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x949e,0xffdf,0x949e,0x949e,0xffdf,0xffdf,0x0,0xff50,0xffdf,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x7399,0x949e,0x949e,0x949e,0x949e,0x949e,0x0,0xec66,0xff50,0xffdf,0xffdf,0xffdf,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x7399,0x7399,0x7399,0x7399,0x7399,0x7399,0x0,0x0,0x0,0xffdf,0xec66,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x4a51,0x4a51,0x4a51,0x4a51,0x4a51,0x7399,0x0,0xec66,0xe184,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0xec66,0xe184,0xe184,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0x80c1,0x80c1,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0xF81F,0x0,0x80c1,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xec66,0xec66,0xe184,0x80c1,0x0,0x0,0x0,0x0,0x0,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0xe184,0xe184,0xe184,0xe184,0x80c1,0x80c1,0x0,0xF81F,0xF81F,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F,0xF81F
};

typedef struct {
    uint8_t           x;
    uint8_t           y;
    uint8_t           w; // width
    uint8_t           h; // height
    bool    orientation; // left | right
    int8_t           vx; // horizontal velocity
    uint8_t       frame; // current frame
    uint8_t      frames; // number of frames
    Image         sheet; // spritesheet
} Sprite;

Sprite mario = {
    .5*(SCREEN_WIDTH  - MARIO_WIDTH),  // x
    .5*(SCREEN_HEIGHT - MARIO_HEIGHT), // y
    MARIO_WIDTH,                       // w
    MARIO_HEIGHT,                      // h
    MARIO_ORIENTATION_RIGHT,           // orientation
    0,                                 // vx
    MARIO_DEFAULT_FRAME,               // frame
    MARIO_FRAMES,                      // frames
    Image(mariodata)                   // sheet
};

void setup() {
    gb.begin();
}

void loop() {
    while (!gb.update());
    gb.display.clear();

    checkButtons();
    moveMario();
    drawMario();
}

void checkButtons() {
    if (gb.buttons.repeat(BUTTON_LEFT, 0)) {
        mario.orientation = MARIO_ORIENTATION_LEFT;
        mario.vx = -2;
    } else if (gb.buttons.repeat(BUTTON_RIGHT, 0)) {
        mario.orientation = MARIO_ORIENTATION_RIGHT;
        mario.vx = 2;
    } else if (gb.buttons.released(BUTTON_LEFT) || gb.buttons.released(BUTTON_RIGHT)) {
        mario.vx    = 0;
        mario.frame = MARIO_DEFAULT_FRAME;
    }
}

void moveMario() {
    if (mario.vx != 0) {
        mario.x += mario.vx;
        if (mario.x < 0 || mario.x + mario.w > SCREEN_WIDTH-1) {
            mario.x -= mario.vx;
        }
        mario.frame = ++mario.frame % mario.frames;
    }
}

void drawMario() {
    mario.sheet.setFrame(mario.frame);
    gb.display.drawImage(
        mario.x,
        mario.y,
        mario.sheet,
        mario.w * (mario.orientation == MARIO_ORIENTATION_LEFT ? 1 : -1),
        mario.h
    ); 
}

I hope you’ll see it through now. Feel free to come back to us if you have any new questions :wink:

Thanks again @Steph for this tuto i have post it here to keep it as it was on old forum

2 Likes

@Jicehel good idea for publishing archive tutorials. But I think that this should be published on the main gamebuino site in Academy Tab. Is there any plan to improve main site?

Yes, Gamebuino Team will works on Academy but we have free access here to put all things that we can find usefull. Gamebuino Team will later see what they will use for Academy. Here we can make a description of the subject with the main key words and add link on Github pages or web pages to answer the most of the questions that we have.
Just one thing on github page add tags gamebuino and meta to be able to find them easy

Ok. No problem :slight_smile: Thx for info.

@Jicehel, you could have cited your source and indicated the origin of this post in the first place:

Besides, this little piece of code is not a tutorial but only outlines the guidelines for animating a sprite.

Finally, I think it’s much more interesting to give a link to the full tutorial, which deals with the subject in a much more extensive way:

Handling images on the Gamebuino META

Hi Steph, i has cited my source at the top of the post and it’s not the one you linked but as said at the beginning, of this post. The source came from the old forum where you posted it 2 years ago. When the new forum as been created i have post it here as we don’t know how many time we would be able to access to the ghost pages of the old forum and i was unable to make link to your new complete tutorial as when i done it in march and your complete tutorial has been created in may (2 month later)… but it’s great that you have add it in your answer.

Regarding the source, I was referring precisely to the discussion on the old forum (which is still accessible). It’s essential to cite your sources (even if they disappear later)… and many people fail to do so, unfortunately.

I know that the complete tutorial on images came out after your post. But it’s still time to update the discussion and better guide the readers.

Anyway, I thought it was important to clarify things, following the discussion I found yesterday on Discord. :wink: