Python Forum
[PyGame] No collision detection
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyGame] No collision detection
#1
I have a problem with my code. Collisions is not working. I learn from the guide. Variable tiles has data. But something is not working. What am I doing wrong? The tutorial is not precise. It wasn't object-oriented, it worked.

Game.py
import os
import sys
import pygame
import pygame as pg
from  Setting import *
from pytmx.util_pygame import load_pygame
import pytmx
import os
import sys

class Game:
    def __init__(self):
        pg.init()
        self.screen = pg.display.set_mode((HEIGHT, WIDTH))
        pg.display.set_caption(TITLE)
        self.clock = pg.time.Clock()
        self.load_data()
        self.collision = self.tiled_map.get_layer_by_name('Kolizja')
        #self.collision = self.tiled_map.get_object_by_name("Kolizja")

    def load_data(self):
        self.tiled_map = load_pygame('map/map.tmx')
        self.tilewidth = self.tiled_map.tilewidth
        self.tileheight = self.tiled_map.tileheight

    def run(self):
        self.tiles = []
        self.playing = True
        while self.playing:
            self.dt = self.clock.tick(FPS) / 1000
            self.draw()
            self.events()

    def checkbounds(self,playerrec):
        check = False
        if (playerrec.collidelistall(self.tiles)):  # this tests every tile with the player rectangle
            check = True
        return check

    def quit(self):
        print(self.tiles)
        pg.quit()
        sys.exit()


    def draw(self):
        self.CAMERA = self.tiled_map.get_object_by_name("player")
        for layer in self.tiled_map.layers:
            if isinstance(layer, pytmx.TiledTileLayer):
                for x, y, tile in layer.tiles():
                    if (tile):
                        self.screen.blit(tile,
                                    [round(x * self.tilewidth - self.CAMERA.x + WIDTH / 2),
                                     round(y * self.tileheight - self.CAMERA.y + HEIGHT / 2)])

            elif isinstance(layer, pytmx.TiledObjectGroup):
                for object in layer:
                    if object.image:
                        self.screen.blit(object.image,
                                    [round(object.x - self.CAMERA.x + WIDTH / 2),
                                     round(object.y - self.CAMERA.y + HEIGHT / 2)])
        for x, y, tile in self.collision.tiles():
            if (tile):
                self.tiles.append(
                pygame.Rect([(x * self.tilewidth)/2, (y * self.tileheight)/2, self.tilewidth, self.tileheight]))

        pg.display.update()


    def events(self):
        self.pos = [self.CAMERA.x, self.CAMERA.y]
        # blit will draw the image to the screen
        for event in pg.event.get():
            if event.type == pg.QUIT:
                self.quit()
            if event.type == pg.KEYDOWN:
                if event.key == pg.K_ESCAPE:
                    self.quit()
                if event.key == pygame.K_LEFT:
                    self.pos[0] -= 10
                    self.tiled_map.get_object_by_name("player").x -=10
                elif event.key == pygame.K_RIGHT:
                    self.pos[0] += 10
                    self.tiled_map.get_object_by_name("player").x +=10
                elif event.key == pygame.K_UP:
                    self.pos[1] -= 10
                    self.tiled_map.get_object_by_name("player").y -=10
                elif event.key == pygame.K_DOWN:
                    self.pos[1] += 10
                    self.tiled_map.get_object_by_name("player").y +=10
        print(self.pos[0],self.pos[1])
        #self.tiled_map.get_object_by_name("player").x += self.pos[0]
        #self.tiled_map.get_object_by_name("player").y += self.pos[1]
        # Create rectangle for the player
        x = self.tiled_map.get_object_by_name("player").x+self.pos[0]
        y = self.tiled_map.get_object_by_name("player").y+self.pos[1]
        w = self.tiled_map.get_object_by_name("player").width
        h = self.tiled_map.get_object_by_name("player").height
        playerrec = pygame.Rect([x/2, y/2,w,h])
        print(playerrec)
        # Check player rectangle with tiles
        # If collision cancel movement
        if (self.checkbounds(playerrec)):
            self.pos = [0, 0]
map.tmx
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.4" tiledversion="1.4.2" orientation="orthogonal" renderorder="right-down" width="50" height="50" tilewidth="32" tileheight="32" infinite="0" nextlayerid="14" nextobjectid="10">
 <tileset firstgid="1" source="terrain_atlas.tsx"/>
 <tileset firstgid="1025" source="../../../Desktop/tuxemon/Nowy folder/Nowy folder/terrain_atlas.tsx"/>
 <layer id="13" name="Kolizja" width="50" height="50">
  <data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,1283,1283,1283,1283,1283,1283,1283,1283,1283,1283,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
 </layer>
 <layer id="1" name="Ziemia" width="50" height="50">
  <data encoding="csv">
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,1416,1416,1416,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1380,1381,1381,1381,1381,1381,1381,1381,1381,1381,1381,1381,1381,1381,1381,1381,1381,1381,1382,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
1416,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
1416,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
1416,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1317,1445,1445,1318,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,455,456,1412,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,386,386,1413,1349,1381,1381,1350,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,1143,1143,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1412,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1413,1414,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,1444,1445,1445,1445,1445,1445,1445,1445,1445,1445,1445,1445,1445,1445,1445,1445,1445,1445,1446,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,
392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392,392
</data>
 </layer>
 <layer id="10" name="Trawa" width="50" height="50">
  <data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,1992,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,2024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1898,0,1785,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,1817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,1849,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1110,1111,1111,1111,1111,1111,1111,1112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1277,1278,1276,1276,1276,1276,1276,1276,1279,1280,1143,1143,1143,1144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,2028,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1309,1310,0,0,0,0,1142,1143,1311,1312,1143,1143,1143,1144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1142,1143,1143,1143,1143,1143,1143,1144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1884,1885,1886,0,0,0,0,0,1174,1175,1175,1175,1175,1175,1175,1176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1924,1925,1926,0,0,0,0,1916,1917,1918,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,2028,0,0,0,0,1956,1957,1958,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1988,1989,1990,0,0,0,0,0,0,1936,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1968,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
 </layer>
 <objectgroup id="9" name="Obstacles" visible="0">
  <object id="1" name="player" gid="1710" x="326" y="449" width="32" height="32"/>
 </objectgroup>
</map>
Data in a variable "Rect"
[<rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>, <rect(112, 16, 32, 32)>, <rect(128, 16, 32, 32)>, <rect(144, 16, 32, 32)>, <rect(160, 16, 32, 32)>, <rect(176, 16, 32, 32)>, <rect(192, 16, 32, 32)>, <rect(16, 32, 32, 32)>, <rect(144, 32, 32, 32)>, <rect(16, 48, 32, 32)>, <rect(16, 64, 32, 32)>, <rect(16, 80, 32, 32)>, <rect(16, 96, 32, 32)>, <rect(16, 112, 32, 32)>, <rect(16, 128, 32, 32)>, <rect(16, 144, 32, 32)>, <rect(16, 160, 32, 32)>, <rect(16, 176, 32, 32)>, <rect(16, 192, 32, 32)>, <rect(16, 208, 32, 32)>, <rect(16, 224, 32, 32)>, <rect(16, 240, 32, 32)>, <rect(16, 256, 32, 32)>, <rect(16, 272, 32, 32)>, <rect(16, 288, 32, 32)>, <rect(16, 304, 32, 32)>, <rect(16, 320, 32, 32)>, <rect(16, 336, 32, 32)>, <rect(16, 16, 32, 32)>, <rect(32, 16, 32, 32)>, <rect(48, 16, 32, 32)>, <rect(64, 16, 32, 32)>, <rect(80, 16, 32, 32)>, <rect(96, 16, 32, 32)>
Reply
#2
It would be easier to answer your question if we could run your program. Make a repo with all required resources to run your program.

And i would put your tileset in a subdirectory or same directory as your main script
Quote:source="../../../Desktop/tuxemon/Nowy folder/Nowy folder/terrain_atlas.tsx
Recommended Tutorials:
Reply
#3
Upload box.com https://app.box.com/s/9r6qkqyuozrprksfuyw87y5388tcktj9
Reply
#4
you need to correct the tileset path to the map directory in map.tmx
metulburr@metulburr:~/Downloads/Python$ python3 main.py
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Cannot load external tileset: /home/metulburr/Desktop/tuxemon/Nowy folder/Nowy folder/terrain_atlas.tsx
Traceback (most recent call last):
  File "/home/metulburr/.local/lib/python3.8/site-packages/pytmx/pytmx.py", line 870, in parse_xml
    node = ElementTree.parse(path).getroot()
  File "/usr/lib/python3.8/xml/etree/ElementTree.py", line 1202, in parse
    tree.parse(source, parser)
  File "/usr/lib/python3.8/xml/etree/ElementTree.py", line 584, in parse
    source = open(source, "rb")
FileNotFoundError: [Errno 2] No such file or directory: '/home/metulburr/Desktop/tuxemon/Nowy folder/Nowy folder/terrain_atlas.tsx'
Recommended Tutorials:
Reply
#5
I fixed it, but the collision doesn't work. Is a collision working for you?
Reply
#6
Your program doesn't even run for me due to the ImportErrors of the improper file directories.
metulburr@metulburr:~/Downloads/Python(1)/Python$ python3 main.py
Traceback (most recent call last):
  File "main.py", line 1, in <module>
    import b as b
ModuleNotFoundError: No module named 'b'
metulburr@metulburr:~/Downloads/Python(1)/Python$ python3 main.py
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Cannot load external tileset: /home/metulburr/Downloads/Desktop/tuxemon/Nowy folder/Nowy folder/terrain_atlas.tsx
Traceback (most recent call last):
  File "/home/metulburr/.local/lib/python3.8/site-packages/pytmx/pytmx.py", line 870, in parse_xml
    node = ElementTree.parse(path).getroot()
  File "/usr/lib/python3.8/xml/etree/ElementTree.py", line 1202, in parse
    tree.parse(source, parser)
  File "/usr/lib/python3.8/xml/etree/ElementTree.py", line 584, in parse
    source = open(source, "rb")
FileNotFoundError: [Errno 2] No such file or directory: '/home/metulburr/Downloads/Desktop/tuxemon/Nowy folder/Nowy folder/terrain_atlas.tsx'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 9, in <module>
    g = Game()
  File "/home/metulburr/Downloads/Python(1)/Python/Game.py", line 17, in __init__
    self.load_data()
  File "/home/metulburr/Downloads/Python(1)/Python/Game.py", line 22, in load_data
    self.tiled_map = load_pygame('map/map.tmx')
  File "/home/metulburr/.local/lib/python3.8/site-packages/pytmx/util_pygame.py", line 141, in load_pygame
    return pytmx.TiledMap(filename, *args, **kwargs)
  File "/home/metulburr/.local/lib/python3.8/site-packages/pytmx/pytmx.py", line 360, in __init__
    self.parse_xml(ElementTree.parse(self.filename).getroot())
  File "/home/metulburr/.local/lib/python3.8/site-packages/pytmx/pytmx.py", line 400, in parse_xml
    self.add_tileset(TiledTileset(self, subnode))
  File "/home/metulburr/.local/lib/python3.8/site-packages/pytmx/pytmx.py", line 845, in __init__
    self.parse_xml(node)
  File "/home/metulburr/.local/lib/python3.8/site-packages/pytmx/pytmx.py", line 874, in parse_xml
    raise Exception
Exception
Error:
Cannot load external tileset: /home/metulburr/Downloads/Desktop/tuxemon/Nowy folder/Nowy folder/terrain_atlas.tsx
Recommended Tutorials:
Reply
#7
Sorry, I didn't replace the files.I corrected the path.
see now
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
Question [PyGame] Problem with collision of player and enemy Nekotrooper 1 700 Dec-08-2023, 03:29 PM
Last Post: deanhystad
  can't get collision detection to work in platform game chairmanme0wme0w 10 3,835 Aug-19-2022, 03:51 PM
Last Post: deanhystad
  [PyGame] Collision in not happening onizuka 3 3,428 Sep-07-2020, 11:30 AM
Last Post: metulburr
  Problem with collision detection... michael1789 4 3,282 Nov-12-2019, 07:49 PM
Last Post: michael1789
  Arcade Collision Problem randor 0 2,694 Oct-28-2019, 11:17 PM
Last Post: randor
  Multiple wall collision in pacman rustyjoe 4 4,123 Aug-11-2019, 08:08 AM
Last Post: rustyjoe
  drawing, moving, and collision problems (pygame) SheeppOSU 26 14,767 Apr-22-2019, 03:09 AM
Last Post: SheeppOSU

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020