diff --git a/gaze-track/.gitignore b/gaze-track/.gitignore index 6e0a76c..0af181c 100644 --- a/gaze-track/.gitignore +++ b/gaze-track/.gitignore @@ -1,4 +1,3 @@ # Godot 4+ specific ignores .godot/ /android/ -assets/ diff --git a/gaze-track/assets/sprites/Back.png b/gaze-track/assets/sprites/Back.png new file mode 100644 index 0000000..fc58bf1 Binary files /dev/null and b/gaze-track/assets/sprites/Back.png differ diff --git a/gaze-track/assets/sprites/Back.png.import b/gaze-track/assets/sprites/Back.png.import new file mode 100644 index 0000000..086b384 --- /dev/null +++ b/gaze-track/assets/sprites/Back.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://83krjeu6icol" +path="res://.godot/imported/Back.png-166a6e6efc6ab6d6b64b10d9df584982.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/Back.png" +dest_files=["res://.godot/imported/Back.png-166a6e6efc6ab6d6b64b10d9df584982.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/gaze-track/assets/sprites/coin.png b/gaze-track/assets/sprites/coin.png new file mode 100644 index 0000000..01ae33d Binary files /dev/null and b/gaze-track/assets/sprites/coin.png differ diff --git a/gaze-track/assets/sprites/coin.png.import b/gaze-track/assets/sprites/coin.png.import new file mode 100644 index 0000000..e2ede4c --- /dev/null +++ b/gaze-track/assets/sprites/coin.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ck00dh587pwlw" +path="res://.godot/imported/coin.png-c8309bf0f8fb5f3a7d1e96a4eb3f02ce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/coin.png" +dest_files=["res://.godot/imported/coin.png-c8309bf0f8fb5f3a7d1e96a4eb3f02ce.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/gaze-track/assets/sprites/fruit.png b/gaze-track/assets/sprites/fruit.png new file mode 100644 index 0000000..b9cc7d6 Binary files /dev/null and b/gaze-track/assets/sprites/fruit.png differ diff --git a/gaze-track/assets/sprites/fruit.png.import b/gaze-track/assets/sprites/fruit.png.import new file mode 100644 index 0000000..cdc5dec --- /dev/null +++ b/gaze-track/assets/sprites/fruit.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcwbikfeb8euh" +path="res://.godot/imported/fruit.png-3735163b668af10c2b35b52cba81b68a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/fruit.png" +dest_files=["res://.godot/imported/fruit.png-3735163b668af10c2b35b52cba81b68a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/gaze-track/assets/sprites/knight.png b/gaze-track/assets/sprites/knight.png new file mode 100644 index 0000000..5b0eb4f Binary files /dev/null and b/gaze-track/assets/sprites/knight.png differ diff --git a/gaze-track/assets/sprites/knight.png.import b/gaze-track/assets/sprites/knight.png.import new file mode 100644 index 0000000..b8cc81e --- /dev/null +++ b/gaze-track/assets/sprites/knight.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d00l6q0bsox5q" +path="res://.godot/imported/knight.png-7c67c83d34932624952797d9e971a644.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/knight.png" +dest_files=["res://.godot/imported/knight.png-7c67c83d34932624952797d9e971a644.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/gaze-track/assets/sprites/platforms.png b/gaze-track/assets/sprites/platforms.png new file mode 100644 index 0000000..9be41db Binary files /dev/null and b/gaze-track/assets/sprites/platforms.png differ diff --git a/gaze-track/assets/sprites/platforms.png.import b/gaze-track/assets/sprites/platforms.png.import new file mode 100644 index 0000000..77b8938 --- /dev/null +++ b/gaze-track/assets/sprites/platforms.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3ddnmic7f5co" +path="res://.godot/imported/platforms.png-3869606db457611ed4193d705dc364e4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/platforms.png" +dest_files=["res://.godot/imported/platforms.png-3869606db457611ed4193d705dc364e4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/gaze-track/assets/sprites/redJewel.png b/gaze-track/assets/sprites/redJewel.png new file mode 100644 index 0000000..2463468 Binary files /dev/null and b/gaze-track/assets/sprites/redJewel.png differ diff --git a/gaze-track/assets/sprites/redJewel.png.import b/gaze-track/assets/sprites/redJewel.png.import new file mode 100644 index 0000000..a88b1b2 --- /dev/null +++ b/gaze-track/assets/sprites/redJewel.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d131c8qh4x0s6" +path="res://.godot/imported/redJewel.png-f49f480b400dfb2468f4e2f4da825bf2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/redJewel.png" +dest_files=["res://.godot/imported/redJewel.png-f49f480b400dfb2468f4e2f4da825bf2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/gaze-track/assets/sprites/slime_green.png b/gaze-track/assets/sprites/slime_green.png new file mode 100644 index 0000000..a21cb6f Binary files /dev/null and b/gaze-track/assets/sprites/slime_green.png differ diff --git a/gaze-track/assets/sprites/slime_green.png.import b/gaze-track/assets/sprites/slime_green.png.import new file mode 100644 index 0000000..9507531 --- /dev/null +++ b/gaze-track/assets/sprites/slime_green.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://l428il4o53kn" +path="res://.godot/imported/slime_green.png-f6349164bf3a0f5189bb927b97af9c58.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/slime_green.png" +dest_files=["res://.godot/imported/slime_green.png-f6349164bf3a0f5189bb927b97af9c58.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/gaze-track/assets/sprites/slime_purple.png b/gaze-track/assets/sprites/slime_purple.png new file mode 100644 index 0000000..76f564e Binary files /dev/null and b/gaze-track/assets/sprites/slime_purple.png differ diff --git a/gaze-track/assets/sprites/slime_purple.png.import b/gaze-track/assets/sprites/slime_purple.png.import new file mode 100644 index 0000000..0aaf917 --- /dev/null +++ b/gaze-track/assets/sprites/slime_purple.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2yjbr3ym1mux" +path="res://.godot/imported/slime_purple.png-26dc5ddef235ce6a400e78e0d532b050.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/slime_purple.png" +dest_files=["res://.godot/imported/slime_purple.png-26dc5ddef235ce6a400e78e0d532b050.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/gaze-track/assets/sprites/world_tileset.png b/gaze-track/assets/sprites/world_tileset.png new file mode 100644 index 0000000..36bbf07 Binary files /dev/null and b/gaze-track/assets/sprites/world_tileset.png differ diff --git a/gaze-track/assets/sprites/world_tileset.png.import b/gaze-track/assets/sprites/world_tileset.png.import new file mode 100644 index 0000000..1ae7d60 --- /dev/null +++ b/gaze-track/assets/sprites/world_tileset.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2sbpvyl4q8rl" +path="res://.godot/imported/world_tileset.png-61a32465f33c3d9d3bfecb75b6485009.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/world_tileset.png" +dest_files=["res://.godot/imported/world_tileset.png-61a32465f33c3d9d3bfecb75b6485009.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/gaze-track/project.godot b/gaze-track/project.godot index 693d145..8c49ce4 100644 --- a/gaze-track/project.godot +++ b/gaze-track/project.godot @@ -15,6 +15,25 @@ run/main_scene="uid://ceev32aqt66a5" config/features=PackedStringArray("4.6", "Forward Plus") config/icon="res://icon.svg" +[display] + +window/size/viewport_width=500 +window/size/viewport_height=600 +window/size/mode=2 + +[input] + +RETURN={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +START={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} + [physics] 3d/physics_engine="Jolt Physics" diff --git a/gaze-track/scenes/enemy.tscn b/gaze-track/scenes/enemy.tscn index dd8e44b..6f31772 100644 --- a/gaze-track/scenes/enemy.tscn +++ b/gaze-track/scenes/enemy.tscn @@ -4,6 +4,7 @@ [ext_resource type="Script" uid="uid://b85df30buf5dc" path="res://scripts/enemy.gd" id="1_md0e3"] [sub_resource type="CircleShape2D" id="CircleShape2D_7kyaj"] +radius = 18.0 [sub_resource type="AtlasTexture" id="AtlasTexture_ijr27"] atlas = ExtResource("1_7p1mj") @@ -42,20 +43,24 @@ animations = [{ }] [sub_resource type="CircleShape2D" id="CircleShape2D_md0e3"] +radius = 18.0 [node name="Enemy" type="AnimatableBody2D" unique_id=1611244184] script = ExtResource("1_md0e3") [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=888260849] +position = Vector2(0, 7) shape = SubResource("CircleShape2D_7kyaj") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=1079331405] position = Vector2(0, -6) +scale = Vector2(2, 2) sprite_frames = SubResource("SpriteFrames_8v60j") [node name="Area2D" type="Area2D" parent="." unique_id=190814061] [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=220092721] +position = Vector2(0, 7) shape = SubResource("CircleShape2D_md0e3") [connection signal="area_entered" from="Area2D" to="." method="_on_area_2d_area_entered"] diff --git a/gaze-track/scenes/game.tscn b/gaze-track/scenes/game.tscn index da07dc2..26dedbb 100644 --- a/gaze-track/scenes/game.tscn +++ b/gaze-track/scenes/game.tscn @@ -2,12 +2,8 @@ [ext_resource type="PackedScene" uid="uid://81kkc8plbuok" path="res://scenes/game_manager.tscn" id="2_gee14"] [ext_resource type="PackedScene" uid="uid://clcytgjy7fuof" path="res://scenes/floor.tscn" id="3_lnu2h"] -[ext_resource type="PackedScene" uid="uid://byi58pmve4p8i" path="res://scenes/enemy.tscn" id="4_lbhrr"] [ext_resource type="Script" uid="uid://cvrppe41t4ywu" path="res://scripts/spawn_manager.gd" id="6_p57ef"] [ext_resource type="Texture2D" uid="uid://2sbpvyl4q8rl" path="res://assets/sprites/world_tileset.png" id="6_u5sy4"] -[ext_resource type="Texture2D" uid="uid://83krjeu6icol" path="res://assets/sprites/Back.png" id="7_gee14"] -[ext_resource type="PackedScene" uid="uid://c6kr3v6gb842k" path="res://scenes/gem.tscn" id="7_u5sy4"] -[ext_resource type="Script" uid="uid://be6x550duliy" path="res://scripts/return.gd" id="8_gee14"] [sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_lnu2h"] normal = Vector2(1, 0) @@ -144,6 +140,9 @@ texture = ExtResource("6_u5sy4") 1:15/0 = 0 2:15/0 = 0 3:15/0 = 0 +10:5/0 = 0 +10:4/0 = 0 +10:3/0 = 0 [sub_resource type="TileSet" id="TileSet_0tnpc"] sources/1 = SubResource("TileSetAtlasSource_gee14") @@ -169,36 +168,13 @@ position = Vector2(223, 3) shape = SubResource("WorldBoundaryShape2D_lbhrr") [node name="Floor" parent="." unique_id=959811640 instance=ExtResource("3_lnu2h")] -position = Vector2(0, 99) +position = Vector2(2, 192) script = null -[node name="Enemy" parent="." unique_id=1611244184 instance=ExtResource("4_lbhrr")] -position = Vector2(-70, -123) - [node name="SpawnManager" type="Node2D" parent="." unique_id=1792284857] -unique_name_in_owner = true script = ExtResource("6_p57ef") -[node name="Gem" parent="." unique_id=1960008934 instance=ExtResource("7_u5sy4")] -position = Vector2(179, -143) - [node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=1193950303] z_index = -1 -tile_map_data = PackedByteArray("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AAD0//v/AQAAAAsAAAD1//v/AQAAAAsAAAD2//v/AQAAAAsAAAD3//v/AQAAAAsAAAD4//v/AQAAAAsAAAD5//v/AQAAAAsAAAD6//v/AQAAAAsAAAD6//z/AQAAAAsAAAD7//z/AQAAAAsAAAD8//z/AQAAAAsAAAD9//z/AQAAAAsAAAD+//z/AQAAAAsAAADu//v/AQAAAAsAAADv//v/AQAAAAsAAADw//v/AQAAAAsAAADx//v/AQAAAAsAAAD0//z/AQAAAAsAAAD1//z/AQAAAAsAAAD2//z/AQAAAAsAAAD3//z/AQAAAAsAAAD4//z/AQAAAAsAAAD5//z/AQAAAAsAAADu//z/AQAAAAsAAADv//z/AQAAAAsAAADw//z/AQAAAAsAAADx//z/AQAAAAsAAADy//z/AQAAAAsAAADz//z/AQAAAAsAAADy//r/AQAAAAsAAADz//r/AQAAAAsAAAD0//r/AQAAAAsAAAD1//r/AQAAAAsAAAD2//r/AQAAAAsAAAD3//r/AQAAAAsAAAD4//r/AQAAAAsAAAD5//r/AQAAAAsAAAD6//r/AQAAAAsAAAD7//r/AQAAAAsAAAD8//r/AQAAAAsAAAD9//r/AQAAAAsAAAD+//r/AQAAAAsAAAD///r/AQAAAAsAAAAAAPr/AQAAAAsAAAABAPr/AQAAAAsAAAACAPr/AQAAAAsAAAADAPr/AQAAAAsAAAAEAPr/AQAAAAsAAAAFAPr/AQAAAAsAAAAGAPr/AQAAAAsAAAAHAPr/AQAAAAsAAAAIAPr/AQAAAAsAAAAJAPr/AQAAAAsAAAAKAPr/AQAAAAsAAAALAPr/AQAAAAsAAAAMAPr/AQAAAAsAAAANAPr/AQAAAAsAAAAOAPr/AQAAAAsAAAAPAPr/AQAAAAsAAAAQAPr/AQAAAAsAAAARAPr/AQAAAAsAAAD7//v/AQAAAAsAAAD8//v/AQAAAAsAAAD9//v/AQAAAAsAAAD+//v/AQAAAAsAAAD///v/AQAAAAsAAAAAAPv/AQAAAAsAAAABAPv/AQAAAAsAAAACAPv/AQAAAAsAAAADAPv/AQAAAAsAAAAEAPv/AQAAAAsAAAAFAPv/AQAAAAsAAAAGAPv/AQAAAAsAAAAHAPv/AQAAAAsAAAAIAPv/AQAAAAsAAAAJAPv/AQAAAAsAAAAKAPv/AQAAAAsAAAALAPv/AQAAAAsAAAAMAPv/AQAAAAsAAAANAPv/AQAAAAsAAAAOAPv/AQAAAAsAAAAPAPv/AQAAAAsAAAAQAPv/AQAAAAsAAAARAPv/AQAAAAsAAAD///z/AQAAAAsAAAAAAPz/AQAAAAsAAAABAPz/AQAAAAsAAAACAPz/AQAAAAsAAAADAPz/AQAAAAsAAAAEAPz/AQAAAAsAAAAFAPz/AQAAAAsAAAAGAPz/AQAAAAsAAAAHAPz/AQAAAAsAAAAIAPz/AQAAAAsAAAAJAPz/AQAAAAsAAAAKAPz/AQAAAAsAAAALAPz/AQAAAAsAAAAMAPz/AQAAAAsAAAANAPz/AQAAAAsAAAAOAPz/AQAAAAsAAAAPAPz/AQAAAAsAAAAQAPz/AQAAAAsAAAARAPz/AQAAAAsAAADu//3/AQAAAAwAAADv//3/AQAAAAwAAADw//3/AQAAAAwAAADx//3/AQAAAAwAAADy//3/AQAAAAwAAADz//3/AQAAAAwAAAD0//3/AQAAAAwAAAD1//3/AQAAAAwAAAD2//3/AQAAAAwAAAD3//3/AQAAAAwAAAD4//3/AQAAAAwAAAD5//3/AQAAAAwAAAD6//3/AQAAAAwAAAD7//3/AQAAAAwAAAD8//3/AQAAAAwAAAD9//3/AQAAAAwAAAD+//3/AQAAAAwAAAD///3/AQAAAAwAAAAAAP3/AQAAAAwAAAABAP3/AQAAAAwAAAACAP3/AQAAAAwAAAADAP3/AQAAAAwAAAAEAP3/AQAAAAwAAAAFAP3/AQAAAAwAAAAGAP3/AQAAAAwAAAAHAP3/AQAAAAwAAAAIAP3/AQAAAAwAAAAJAP3/AQAAAAwAAAAKAP3/AQAAAAwAAAALAP3/AQAAAAwAAAAMAP3/AQAAAAwAAAANAP3/AQAAAAwAAAAOAP3/AQAAAAwAAAAPAP3/AQAAAAwAAAAQAP3/AQAAAAwAAAARAP3/AQAAAAwAAADu//7/AQAAAA0AAADv//7/AQAAAA0AAADw//7/AQAAAA0AAADx//7/AQAAAA0AAADy//7/AQAAAA0AAADz//7/AQAAAA0AAAD0//7/AQAAAA0AAAD1//7/AQAAAA0AAAD2//7/AQAAAA0AAAD3//7/AQAAAA0AAAD4//7/AQAAAA0AAAD5//7/AQAAAA0AAAD6//7/AQAAAA0AAAD7//7/AQAAAA0AAAD8//7/AQAAAA0AAAD9//7/AQAAAA0AAAD+//7/AQAAAA0AAAD///7/AQAAAA0AAAAAAP//AQAAAA0AAAABAP//AQAAAA0AAAACAP//AQAAAA0AAAADAP//AQAAAA0AAAAEAP//AQAAAA0AAAAFAP//AQAAAA0AAAAGAP//AQAAAA0AAAAHAP//AQAAAA0AAAAIAP//AQAAAA0AAAAJAP//AQAAAA0AAAAKAP//AQAAAA0AAAALAP//AQAAAA0AAAAMAP//AQAAAA0AAAANAP//AQAAAA0AAAAOAP//AQAAAA0AAAAPAP//AQAAAA0AAAAQAP//AQAAAA0AAAARAP//AQAAAA0AAAAAAP7/AQAAAA0AAAABAP7/AQAAAA0AAAACAP7/AQAAAA0AAAADAP7/AQAAAA0AAAAEAP7/AQAAAA0AAAAFAP7/AQAAAA0AAAAGAP7/AQAAAA0AAAAHAP7/AQAAAA0AAAAIAP7/AQAAAA0AAAAJAP7/AQAAAA0AAAAKAP7/AQAAAA0AAAALAP7/AQAAAA0AAAAMAP7/AQAAAA0AAAANAP7/AQAAAA0AAAAOAP7/AQAAAA0AAAAPAP7/AQAAAA0AAAAQAP7/AQAAAA0AAAARAP7/AQAAAA0AAAD/////AQAAAA0AAAD+////AQAAAA0AAAD9////AQAAAA0AAAD8////AQAAAA0AAAD7////AQAAAA0AAAD6////AQAAAA0AAAD5////AQAAAA0AAAD4////AQAAAA0AAAD3////AQAAAA0AAAD2////AQAAAA0AAAD1////AQAAAA0AAAD0////AQAAAA0AAADz////AQAAAA0AAADy////AQAAAA0AAADx////AQAAAA0AAADw////AQAAAA0AAADv////AQAAAA0AAADu////AQAAAA0AAADu/wAAAQAAAA0AAADv/wAAAQAAAA0AAADw/wAAAQAAAA0AAADx/wAAAQAAAA0AAADy/wAAAQAAAA0AAADz/wAAAQAAAA0AAAD0/wAAAQAAAA0AAAD1/wAAAQAAAA0AAAD2/wAAAQAAAA0AAAD3/wAAAQAAAA0AAAD4/wAAAQAAAA0AAAD5/wAAAQAAAA0AAAD6/wAAAQAAAA0AAAD7/wAAAQAAAA0AAAD8/wAAAQAAAA0AAAD9/wAAAQAAAA0AAAD+/wAAAQAAAA0AAAD//wAAAQAAAA0AAAAAAAAAAQAAAA0AAAABAAAAAQAAAA0AAAACAAAAAQAAAA0AAAADAAAAAQAAAA0AAAAEAAAAAQAAAA0AAAAFAAAAAQAAAA0AAAAGAAAAAQAAAA0AAAAHAAAAAQAAAA0AAAAIAAAAAQAAAA0AAAAJAAAAAQAAAA0AAAAKAAAAAQAAAA0AAAALAAAAAQAAAA0AAAAMAAAAAQAAAA0AAAANAAAAAQAAAA0AAAAOAAAAAQAAAA0AAAAPAAAAAQAAAA0AAAAQAAAAAQAAAA0AAAARAAAAAQAAAA0AAADu/wEAAQAAAA4AAADv/wEAAQAAAA4AAADw/wEAAQAAAA4AAADx/wEAAQAAAA4AAADy/wEAAQAAAA4AAADz/wEAAQAAAA4AAAD0/wEAAQAAAA4AAAD1/wEAAQAAAA4AAAD2/wEAAQAAAA4AAAD3/wEAAQAAAA4AAAD4/wEAAQAAAA4AAAD5/wEAAQAAAA4AAAD6/wEAAQAAAA4AAAD7/wEAAQAAAA4AAAD8/wEAAQAAAA4AAAD9/wEAAQAAAA4AAAD+/wEAAQAAAA4AAAD//wEAAQAAAA4AAAAAAAEAAQAAAA4AAAABAAEAAQAAAA4AAAACAAEAAQAAAA4AAAADAAEAAQAAAA4AAAAEAAEAAQAAAA4AAAAFAAEAAQAAAA4AAAAGAAEAAQAAAA4AAAAHAAEAAQAAAA4AAAAIAAEAAQAAAA4AAAAJAAEAAQAAAA4AAAAKAAEAAQAAAA4AAAALAAEAAQAAAA4AAAAMAAEAAQAAAA4AAAANAAEAAQAAAA4AAAAOAAEAAQAAAA4AAAAPAAEAAQAAAA4AAAAQAAEAAQAAAA4AAAARAAEAAQAAAA4AAADu/wIAAQAAAA8AAADu/wMAAQAAAA8AAADv/wMAAQAAAA8AAADw/wMAAQAAAA8AAADx/wMAAQAAAA8AAADy/wMAAQAAAA8AAADz/wMAAQAAAA8AAAD0/wMAAQAAAA8AAAD1/wMAAQAAAA8AAAD2/wMAAQAAAA8AAAD3/wMAAQAAAA8AAAD4/wMAAQAAAA8AAAD5/wMAAQAAAA8AAAD6/wMAAQAAAA8AAAD7/wMAAQAAAA8AAAD8/wMAAQAAAA8AAAD9/wMAAQAAAA8AAAD+/wMAAQAAAA8AAAD//wMAAQAAAA8AAAAAAAMAAQAAAA8AAAABAAMAAQAAAA8AAAACAAMAAQAAAA8AAAADAAMAAQAAAA8AAAAEAAMAAQAAAA8AAAAFAAMAAQAAAA8AAAAGAAMAAQAAAA8AAAAHAAMAAQAAAA8AAAAIAAQAAQAAAA8AAAAJAAQAAQAAAA8AAAAKAAQAAQAAAA8AAAALAAQAAQAAAA8AAAAMAAQAAQAAAA8AAAANAAQAAQAAAA8AAAAOAAQAAQAAAA8AAAAPAAQAAQAAAA8AAAAQAAQAAQAAAA8AAAARAAQAAQAAAA8AAAARAAMAAQAAAA8AAAAQAAMAAQAAAA8AAAAPAAMAAQAAAA8AAAAOAAMAAQAAAA8AAAANAAMAAQAAAA8AAAAMAAMAAQAAAA8AAAALAAMAAQAAAA8AAAAKAAMAAQAAAA8AAAAJAAMAAQAAAA8AAAAIAAMAAQAAAA8AAAAHAAIAAQAAAA8AAAAGAAIAAQAAAA8AAAAFAAIAAQAAAA8AAAAEAAIAAQAAAA8AAAADAAIAAQAAAA8AAAACAAIAAQAAAA8AAAABAAIAAQAAAA8AAAAAAAIAAQAAAA8AAAD//wIAAQAAAA8AAAD+/wIAAQAAAA8AAAD9/wIAAQAAAA8AAAD8/wIAAQAAAA8AAAD7/wIAAQAAAA8AAAD6/wIAAQAAAA8AAAD5/wIAAQAAAA8AAAD4/wIAAQAAAA8AAAD3/wIAAQAAAA8AAAD2/wIAAQAAAA8AAAD1/wIAAQAAAA8AAAD0/wIAAQAAAA8AAADz/wIAAQAAAA8AAADy/wIAAQAAAA8AAADx/wIAAQAAAA8AAADw/wIAAQAAAA8AAADv/wIAAQAAAA8AAAAIAAIAAQAAAA8AAAAJAAIAAQAAAA8AAAAKAAIAAQAAAA8AAAALAAIAAQAAAA8AAAAMAAIAAQAAAA8AAAANAAIAAQAAAA8AAAAOAAIAAQAAAA8AAAAPAAIAAQAAAA8AAAAQAAIAAQAAAA8AAAARAAIAAQAAAA8AAAAHAAQAAQAAAA8AAAAGAAQAAQAAAA8AAAAFAAQAAQAAAA8AAAAEAAQAAQAAAA8AAAADAAQAAQAAAA8AAAACAAQAAQAAAA8AAAABAAQAAQAAAA8AAAAAAAQAAQAAAA8AAAD//wQAAQAAAA8AAAD+/wQAAQAAAA8AAAD9/wQAAQAAAA8AAAD8/wQAAQAAAA8AAAD7/wQAAQAAAA8AAAD6/wQAAQAAAA8AAAD5/wQAAQAAAA8AAAD4/wQAAQAAAA8AAAD3/wQAAQAAAA8AAADu/wQAAQAAAA8AAADv/wQAAQAAAA8AAADw/wQAAQAAAA8AAADx/wQAAQAAAA8AAADy/wQAAQAAAA8AAADz/wQAAQAAAA8AAAD0/wQAAQAAAA8AAAD1/wQAAQAAAA8AAAD2/wQAAQAAAA8AAADu/wUAAQAAAA8AAADu/wYAAQAAAAAAAADu/wcAAQAAAAEAAADu/wgAAQAAAAEAAADu/wkAAQAAAAEAAADv/wkAAQAAAAEAAADv/wgAAQAAAAEAAADv/wcAAQAAAAEAAADv/wYAAQAAAAAAAADv/wUAAQAAAA8AAADw/wUAAQAAAA8AAADx/wUAAQAAAA8AAADx/wYAAQAAAAAAAADx/wcAAQAAAAEAAADw/wgAAQAAAAEAAADw/wkAAQAAAAEAAADw/wcAAQAAAAEAAADw/wYAAQAAAAAAAADx/wgAAQAAAAEAAADx/wkAAQAAAAEAAADy/wkAAQAAAAEAAADy/wgAAQAAAAEAAADy/wcAAQAAAAEAAADy/wYAAQAAAAAAAADy/wUAAQAAAA8AAADz/wUAAQAAAA8AAAD0/wUAAQAAAA8AAAD0/wYAAQAAAAAAAAD0/wcAAQAAAAEAAADz/wcAAQAAAAEAAADz/wgAAQAAAAEAAADz/wkAAQAAAAEAAADz/wYAAQAAAAAAAAD1/wUAAQAAAA8AAAD1/wYAAQAAAAAAAAD0/wgAAQAAAAEAAAD0/wkAAQAAAAEAAAD1/wkAAQAAAAEAAAD1/wgAAQAAAAEAAAD2/wgAAQAAAAEAAAD2/wcAAQAAAAEAAAD1/wcAAQAAAAEAAAD2/wYAAQAAAAAAAAD2/wUAAQAAAA8AAAD3/wUAAQAAAA8AAAD4/wUAAQAAAA8AAAD5/wUAAQAAAA8AAAD6/wUAAQAAAA8AAAD7/wUAAQAAAA8AAAD8/wUAAQAAAA8AAAD9/wUAAQAAAA8AAAD+/wUAAQAAAA8AAAD//wUAAQAAAA8AAAAAAAUAAQAAAA8AAAABAAUAAQAAAA8AAAACAAUAAQAAAA8AAAADAAUAAQAAAA8AAAAEAAUAAQAAAA8AAAAFAAUAAQAAAA8AAAAGAAUAAQAAAA8AAAAHAAUAAQAAAA8AAAAIAAUAAQAAAA8AAAAJAAUAAQAAAA8AAAAKAAUAAQAAAA8AAAALAAUAAQAAAA8AAAAMAAUAAQAAAA8AAAANAAUAAQAAAA8AAAAOAAUAAQAAAA8AAAAPAAUAAQAAAA8AAAAQAAUAAQAAAA8AAAARAAUAAQAAAA8AAAARAAYAAQAAAAAAAAARAAcAAQAAAAEAAAARAAgAAQAAAAEAAAARAAkAAQAAAAEAAAAQAAkAAQAAAAEAAAAQAAgAAQAAAAEAAAAQAAcAAQAAAAEAAAAQAAYAAQAAAAAAAAAPAAYAAQAAAAAAAAAPAAcAAQAAAAEAAAAPAAgAAQAAAAEAAAAPAAkAAQAAAAEAAAAOAAkAAQAAAAEAAAAOAAgAAQAAAAEAAAAOAAcAAQAAAAEAAAAOAAYAAQAAAAAAAAANAAYAAQAAAAAAAAANAAcAAQAAAAEAAAANAAgAAQAAAAEAAAANAAkAAQAAAAEAAAAMAAkAAQAAAAEAAAALAAkAAQAAAAEAAAAKAAkAAQAAAAEAAAAJAAkAAQAAAAEAAAAIAAkAAQAAAAEAAAAHAAkAAQAAAAEAAAAGAAkAAQAAAAEAAAAFAAkAAQAAAAEAAAAEAAkAAQAAAAEAAAADAAkAAQAAAAEAAAACAAkAAQAAAAEAAAABAAkAAQAAAAEAAAAAAAkAAQAAAAEAAAD//wkAAQAAAAEAAAD+/wkAAQAAAAEAAAD9/wkAAQAAAAEAAAD8/wkAAQAAAAEAAAD7/wkAAQAAAAEAAAD6/wkAAQAAAAEAAAD5/wkAAQAAAAEAAAD4/wkAAQAAAAEAAAD3/wkAAQAAAAEAAAD2/wkAAQAAAAEAAAD3/wgAAQAAAAEAAAD4/wgAAQAAAAEAAAD5/wgAAQAAAAEAAAD6/wgAAQAAAAEAAAD7/wgAAQAAAAEAAAD8/wgAAQAAAAEAAAD9/wgAAQAAAAEAAAD+/wgAAQAAAAEAAAD//wgAAQAAAAEAAAAAAAgAAQAAAAEAAAABAAgAAQAAAAEAAAACAAgAAQAAAAEAAAADAAgAAQAAAAEAAAAEAAgAAQAAAAEAAAAFAAgAAQAAAAEAAAAGAAgAAQAAAAEAAAAHAAgAAQAAAAEAAAAIAAgAAQAAAAEAAAAJAAgAAQAAAAEAAAAKAAgAAQAAAAEAAAALAAgAAQAAAAEAAAAMAAgAAQAAAAEAAAAMAAcAAQAAAAEAAAALAAcAAQAAAAEAAAAKAAcAAQAAAAEAAAAJAAcAAQAAAAEAAAAIAAcAAQAAAAEAAAAHAAcAAQAAAAEAAAAGAAcAAQAAAAEAAAAFAAcAAQAAAAEAAAAEAAcAAQAAAAEAAAADAAcAAQAAAAEAAAACAAcAAQAAAAEAAAABAAcAAQAAAAEAAAAAAAcAAQAAAAEAAAD//wcAAQAAAAEAAAD+/wcAAQAAAAEAAAD9/wcAAQAAAAEAAAD8/wcAAQAAAAEAAAD7/wcAAQAAAAEAAAD6/wcAAQAAAAEAAAD5/wcAAQAAAAEAAAD4/wcAAQAAAAEAAAD3/wcAAQAAAAEAAAD3/wYAAQAAAAAAAAD4/wYAAQAAAAAAAAD5/wYAAQAAAAAAAAD6/wYAAQAAAAAAAAD7/wYAAQAAAAAAAAD8/wYAAQAAAAAAAAD9/wYAAQAAAAAAAAD+/wYAAQAAAAAAAAD//wYAAQAAAAAAAAAAAAYAAQAAAAAAAAABAAYAAQAAAAAAAAACAAYAAQAAAAAAAAADAAYAAQAAAAAAAAAEAAYAAQAAAAAAAAAFAAYAAQAAAAAAAAAGAAYAAQAAAAAAAAAHAAYAAQAAAAAAAAAIAAYAAQAAAAAAAAAJAAYAAQAAAAAAAAAKAAYAAQAAAAAAAAALAAYAAQAAAAAAAAAMAAYAAQAAAAAAAAA=") +tile_map_data = PackedByteArray("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AAD0//v/AQAAAAsAAAD1//v/AQAAAAsAAAD2//v/AQAAAAsAAAD3//v/AQAAAAsAAAD4//v/AQAAAAsAAAD5//v/AQAAAAsAAAD6//v/AQAAAAsAAAD6//z/AQAAAAsAAAD7//z/AQAAAAsAAAD8//z/AQAAAAsAAAD9//z/AQAAAAsAAAD+//z/AQAAAAsAAADu//v/AQAAAAsAAADv//v/AQAAAAsAAADw//v/AQAAAAsAAADx//v/AQAAAAsAAAD0//z/AQAAAAsAAAD1//z/AQAAAAsAAAD2//z/AQAAAAsAAAD3//z/AQAAAAsAAAD4//z/AQAAAAsAAAD5//z/AQAAAAsAAADu//z/AQAAAAsAAADv//z/AQAAAAsAAADw//z/AQAAAAsAAADx//z/AQAAAAsAAADy//z/AQAAAAsAAADz//z/AQAAAAsAAADy//r/AQAAAAsAAADz//r/AQAAAAsAAAD0//r/AQAAAAsAAAD1//r/AQAAAAsAAAD2//r/AQAAAAsAAAD3//r/AQAAAAsAAAD4//r/AQAAAAsAAAD5//r/AQAAAAsAAAD6//r/AQAAAAsAAAD7//r/AQAAAAsAAAD8//r/AQAAAAsAAAD9//r/AQAAAAsAAAD+//r/AQAAAAsAAAD///r/AQAAAAsAAAAAAPr/AQAAAAsAAAABAPr/AQAAAAsAAAACAPr/AQAAAAsAAAADAPr/AQAAAAsAAAAEAPr/AQAAAAsAAAAFAPr/AQAAAAsAAAAGAPr/AQAAAAsAAAAHAPr/AQAAAAsAAAAIAPr/AQAAAAsAAAAJAPr/AQAAAAsAAAAKAPr/AQAAAAsAAAALAPr/AQAAAAsAAAAMAPr/AQAAAAsAAAANAPr/AQAAAAsAAAAOAPr/AQAAAAsAAAAPAPr/AQAAAAsAAAAQAPr/AQAAAAsAAAARAPr/AQAAAAsAAAD7//v/AQAAAAsAAAD8//v/AQAAAAsAAAD9//v/AQAAAAsAAAD+//v/AQAAAAsAAAD///v/AQAAAAsAAAAAAPv/AQAAAAsAAAABAPv/AQAAAAsAAAACAPv/AQAAAAsAAAADAPv/AQAAAAsAAAAEAPv/AQAAAAsAAAAFAPv/AQAAAAsAAAAGAPv/AQAAAAsAAAAHAPv/AQAAAAsAAAAIAPv/AQAAAAsAAAAJAPv/AQAAAAsAAAAKAPv/AQAAAAsAAAALAPv/AQAAAAsAAAAMAPv/AQAAAAsAAAANAPv/AQAAAAsAAAAOAPv/AQAAAAsAAAAPAPv/AQAAAAsAAAAQAPv/AQAAAAsAAAARAPv/AQAAAAsAAAD///z/AQAAAAsAAAAAAPz/AQAAAAsAAAABAPz/AQAAAAsAAAACAPz/AQAAAAsAAAADAPz/AQAAAAsAAAAEAPz/AQAAAAsAAAAFAPz/AQAAAAsAAAAGAPz/AQAAAAsAAAAHAPz/AQAAAAsAAAAIAPz/AQAAAAsAAAAJAPz/AQAAAAsAAAAKAPz/AQAAAAsAAAALAPz/AQAAAAsAAAAMAPz/AQAAAAsAAAANAPz/AQAAAAsAAAAOAPz/AQAAAAsAAAAPAPz/AQAAAAsAAAAQAPz/AQAAAAsAAAARAPz/AQAAAAsAAADu//3/AQAAAAwAAADv//3/AQAAAAwAAADw//3/AQAAAAwAAADx//3/AQAAAAwAAADy//3/AQAAAAwAAADz//3/AQAAAAwAAAD0//3/AQAAAAwAAAD1//3/AQAAAAwAAAD2//3/AQAAAAwAAAD3//3/AQAAAAwAAAD4//3/AQAAAAwAAAD5//3/AQAAAAwAAAD6//3/AQAAAAwAAAD7//3/AQAAAAwAAAD8//3/AQAAAAwAAAD9//3/AQAAAAwAAAD+//3/AQAAAAwAAAD///3/AQAAAAwAAAAAAP3/AQAAAAwAAAABAP3/AQAAAAwAAAACAP3/AQAAAAwAAAADAP3/AQAAAAwAAAAEAP3/AQAAAAwAAAAFAP3/AQAAAAwAAAAGAP3/AQAAAAwAAAAHAP3/AQAAAAwAAAAIAP3/AQAAAAwAAAAJAP3/AQAAAAwAAAAKAP3/AQAAAAwAAAALAP3/AQAAAAwAAAAMAP3/AQAAAAwAAAANAP3/AQAAAAwAAAAOAP3/AQAAAAwAAAAPAP3/AQAAAAwAAAAQAP3/AQAAAAwAAAARAP3/AQAAAAwAAADu//7/AQAAAA0AAADv//7/AQAAAA0AAADw//7/AQAAAA0AAADx//7/AQAAAA0AAADy//7/AQAAAA0AAADz//7/AQAAAA0AAAD0//7/AQAAAA0AAAD1//7/AQAAAA0AAAD2//7/AQAAAA0AAAD3//7/AQAAAA0AAAD4//7/AQAAAA0AAAD5//7/AQAAAA0AAAD6//7/AQAAAA0AAAD7//7/AQAAAA0AAAD8//7/AQAAAA0AAAD9//7/AQAAAA0AAAD+//7/AQAAAA0AAAD///7/AQAAAA0AAAAAAP//AQAAAA0AAAABAP//AQAAAA0AAAACAP//AQAAAA0AAAADAP//AQAAAA0AAAAEAP//AQAAAA0AAAAFAP//AQAAAA0AAAAGAP//AQAAAA0AAAAHAP//AQAAAA0AAAAIAP//AQAAAA0AAAAJAP//AQAAAA0AAAAKAP//AQAAAA0AAAALAP//AQAAAA0AAAAMAP//AQAAAA0AAAANAP//AQAAAA0AAAAOAP//AQAAAA0AAAAPAP//AQAAAA0AAAAQAP//AQAAAA0AAAARAP//AQAAAA0AAAAAAP7/AQAAAA0AAAABAP7/AQAAAA0AAAACAP7/AQAAAA0AAAADAP7/AQAAAA0AAAAEAP7/AQAAAA0AAAAFAP7/AQAAAA0AAAAGAP7/AQAAAA0AAAAHAP7/AQAAAA0AAAAIAP7/AQAAAA0AAAAJAP7/AQAAAA0AAAAKAP7/AQAAAA0AAAALAP7/AQAAAA0AAAAMAP7/AQAAAA0AAAANAP7/AQAAAA0AAAAOAP7/AQAAAA0AAAAPAP7/AQAAAA0AAAAQAP7/AQAAAA0AAAARAP7/AQAAAA0AAAD/////AQAAAA0AAAD+////AQAAAA0AAAD9////AQAAAA0AAAD8////AQAAAA0AAAD7////AQAAAA0AAAD6////AQAAAA0AAAD5////AQAAAA0AAAD4////AQAAAA0AAAD3////AQAAAA0AAAD2////AQAAAA0AAAD1////AQAAAA0AAAD0////AQAAAA0AAADz////AQAAAA0AAADy////AQAAAA0AAADx////AQAAAA0AAADw////AQAAAA0AAADv////AQAAAA0AAADu////AQAAAA0AAADu/wAAAQAAAA0AAADv/wAAAQAAAA0AAADw/wAAAQAAAA0AAADx/wAAAQAAAA0AAADy/wAAAQAAAA0AAADz/wAAAQAAAA0AAAD0/wAAAQAAAA0AAAD1/wAAAQAAAA0AAAD2/wAAAQAAAA0AAAD3/wAAAQAAAA0AAAD4/wAAAQAAAA0AAAD5/wAAAQAAAA0AAAD6/wAAAQAAAA0AAAD7/wAAAQAAAA0AAAD8/wAAAQAAAA0AAAD9/wAAAQAAAA0AAAD+/wAAAQAAAA0AAAD//wAAAQAAAA0AAAAAAAAAAQAAAA0AAAABAAAAAQAAAA0AAAACAAAAAQAAAA0AAAADAAAAAQAAAA0AAAAEAAAAAQAAAA0AAAAFAAAAAQAAAA0AAAAGAAAAAQAAAA0AAAAHAAAAAQAAAA0AAAAIAAAAAQAAAA0AAAAJAAAAAQAAAA0AAAAKAAAAAQAAAA0AAAALAAAAAQAAAA0AAAAMAAAAAQAAAA0AAAANAAAAAQAAAA0AAAAOAAAAAQAAAA0AAAAPAAAAAQAAAA0AAAAQAAAAAQAAAA0AAAARAAAAAQAAAA0AAADu/wEAAQAAAA4AAADv/wEAAQAAAA4AAADw/wEAAQAAAA4AAADx/wEAAQAAAA4AAADy/wEAAQAAAA4AAADz/wEAAQAAAA4AAAD0/wEAAQAAAA4AAAD1/wEAAQAAAA4AAAD2/wEAAQAAAA4AAAD3/wEAAQAAAA4AAAD4/wEAAQAAAA4AAAD5/wEAAQAAAA4AAAD6/wEAAQAAAA4AAAD7/wEAAQAAAA4AAAD8/wEAAQAAAA4AAAD9/wEAAQAAAA4AAAD+/wEAAQAAAA4AAAD//wEAAQAAAA4AAAAAAAEAAQAAAA4AAAABAAEAAQAAAA4AAAACAAEAAQAAAA4AAAADAAEAAQAAAA4AAAAEAAEAAQAAAA4AAAAFAAEAAQAAAA4AAAAGAAEAAQAAAA4AAAAHAAEAAQAAAA4AAAAIAAEAAQAAAA4AAAAJAAEAAQAAAA4AAAAKAAEAAQAAAA4AAAALAAEAAQAAAA4AAAAMAAEAAQAAAA4AAAANAAEAAQAAAA4AAAAOAAEAAQAAAA4AAAAPAAEAAQAAAA4AAAAQAAEAAQAAAA4AAAARAAEAAQAAAA4AAADu/wIAAQAAAA8AAADu/wMAAQAAAA8AAADv/wMAAQAAAA8AAADw/wMAAQAAAA8AAADx/wMAAQAAAA8AAADy/wMAAQAAAA8AAADz/wMAAQAAAA8AAAD0/wMAAQAAAA8AAAD1/wMAAQAAAA8AAAD2/wMAAQAAAA8AAAD3/wMAAQAAAA8AAAD4/wMAAQAAAA8AAAD5/wMAAQAAAA8AAAD6/wMAAQAAAA8AAAD7/wMAAQAAAA8AAAD8/wMAAQAAAA8AAAD9/wMAAQAAAA8AAAD+/wMAAQAAAA8AAAD//wMAAQAAAA8AAAAAAAMAAQAAAA8AAAABAAMAAQAAAA8AAAACAAMAAQAAAA8AAAADAAMAAQAAAA8AAAAEAAMAAQAAAA8AAAAFAAMAAQAAAA8AAAAGAAMAAQAAAA8AAAAHAAMAAQAAAA8AAAAIAAQAAQAAAA8AAAAJAAQAAQAAAA8AAAAKAAQAAQAAAA8AAAALAAQAAQAAAA8AAAAMAAQAAQAAAA8AAAANAAQAAQAAAA8AAAAOAAQAAQAAAA8AAAAPAAQAAQAAAA8AAAAQAAQAAQAAAA8AAAARAAQAAQAAAA8AAAARAAMAAQAAAA8AAAAQAAMAAQAAAA8AAAAPAAMAAQAAAA8AAAAOAAMAAQAAAA8AAAANAAMAAQAAAA8AAAAMAAMAAQAAAA8AAAALAAMAAQAAAA8AAAAKAAMAAQAAAA8AAAAJAAMAAQAAAA8AAAAIAAMAAQAAAA8AAAAHAAIAAQAAAA8AAAAGAAIAAQAAAA8AAAAFAAIAAQAAAA8AAAAEAAIAAQAAAA8AAAADAAIAAQAAAA8AAAACAAIAAQAAAA8AAAABAAIAAQAAAA8AAAAAAAIAAQAAAA8AAAD//wIAAQAAAA8AAAD+/wIAAQAAAA8AAAD9/wIAAQAAAA8AAAD8/wIAAQAAAA8AAAD7/wIAAQAAAA8AAAD6/wIAAQAAAA8AAAD5/wIAAQAAAA8AAAD4/wIAAQAAAA8AAAD3/wIAAQAAAA8AAAD2/wIAAQAAAA8AAAD1/wIAAQAAAA8AAAD0/wIAAQAAAA8AAADz/wIAAQAAAA8AAADy/wIAAQAAAA8AAADx/wIAAQAAAA8AAADw/wIAAQAAAA8AAADv/wIAAQAAAA8AAAAIAAIAAQAAAA8AAAAJAAIAAQAAAA8AAAAKAAIAAQAAAA8AAAALAAIAAQAAAA8AAAAMAAIAAQAAAA8AAAANAAIAAQAAAA8AAAAOAAIAAQAAAA8AAAAPAAIAAQAAAA8AAAAQAAIAAQAAAA8AAAARAAIAAQAAAA8AAAAHAAQAAQAAAA8AAAAGAAQAAQAAAA8AAAAFAAQAAQAAAA8AAAAEAAQAAQAAAA8AAAADAAQAAQAAAA8AAAACAAQAAQAAAA8AAAABAAQAAQAAAA8AAAAAAAQAAQAAAA8AAAD//wQAAQAAAA8AAAD+/wQAAQAAAA8AAAD9/wQAAQAAAA8AAAD8/wQAAQAAAA8AAAD7/wQAAQAAAA8AAAD6/wQAAQAAAA8AAAD5/wQAAQAAAA8AAAD4/wQAAQAAAA8AAAD3/wQAAQAAAA8AAADu/wQAAQAAAA8AAADv/wQAAQAAAA8AAADw/wQAAQAAAA8AAADx/wQAAQAAAA8AAADy/wQAAQAAAA8AAADz/wQAAQAAAA8AAAD0/wQAAQAAAA8AAAD1/wQAAQAAAA8AAAD2/wQAAQAAAA8AAADu/wUAAQAAAA8AAADu/wYAAQAAAA8AAADu/wcAAQAAAA8AAADu/wgAAQAAAA8AAADu/wkAAQAAAA8AAADv/wkAAQAAAA8AAADv/wgAAQAAAA8AAADv/wcAAQAAAA8AAADv/wYAAQAAAA8AAADv/wUAAQAAAA8AAADw/wUAAQAAAA8AAADx/wUAAQAAAA8AAADx/wYAAQAAAA8AAADx/wcAAQAAAA8AAADw/wgAAQAAAA8AAADw/wkAAQAAAA8AAADw/wcAAQAAAA8AAADw/wYAAQAAAA8AAADx/wgAAQAAAA8AAADx/wkAAQAAAA8AAADy/wkAAQAAAA8AAADy/wgAAQAAAA8AAADy/wcAAQAAAA8AAADy/wYAAQAAAA8AAADy/wUAAQAAAA8AAADz/wUAAQAAAA8AAAD0/wUAAQAAAA8AAAD0/wYAAQAAAA8AAAD0/wcAAQAAAA8AAADz/wcAAQAAAA8AAADz/wgAAQAAAA8AAADz/wkAAQAAAA8AAADz/wYAAQAAAA8AAAD1/wUAAQAAAA8AAAD1/wYAAQAAAA8AAAD0/wgAAQAAAA8AAAD0/wkAAQAAAA8AAAD1/wkAAQAAAA8AAAD1/wgAAQAAAA8AAAD2/wgAAQAAAA8AAAD2/wcAAQAAAA8AAAD1/wcAAQAAAA8AAAD2/wYAAQAAAA8AAAD2/wUAAQAAAA8AAAD3/wUAAQAAAA8AAAD4/wUAAQAAAA8AAAD5/wUAAQAAAA8AAAD6/wUAAQAAAA8AAAD7/wUAAQAAAA8AAAD8/wUAAQAAAA8AAAD9/wUAAQAAAA8AAAD+/wUAAQAAAA8AAAD//wUAAQAAAA8AAAAAAAUAAQAAAA8AAAABAAUAAQAAAA8AAAACAAUAAQAAAA8AAAADAAUAAQAAAA8AAAAEAAUAAQAAAA8AAAAFAAUAAQAAAA8AAAAGAAUAAQAAAA8AAAAHAAUAAQAAAA8AAAAIAAUAAQAAAA8AAAAJAAUAAQAAAA8AAAAKAAUAAQAAAA8AAAALAAUAAQAAAA8AAAAMAAUAAQAAAA8AAAANAAUAAQAAAA8AAAAOAAUAAQAAAA8AAAAPAAUAAQAAAA8AAAAQAAUAAQAAAA8AAAARAAUAAQAAAA8AAAARAAYAAQAAAA8AAAARAAcAAQAAAA8AAAARAAgAAQAAAA8AAAARAAkAAQAAAA8AAAAQAAkAAQAAAA8AAAAQAAgAAQAAAA8AAAAQAAcAAQAAAA8AAAAQAAYAAQAAAA8AAAAPAAYAAQAAAA8AAAAPAAcAAQAAAA8AAAAPAAgAAQAAAA8AAAAPAAkAAQAAAA8AAAAOAAkAAQAAAA8AAAAOAAgAAQAAAA8AAAAOAAcAAQAAAA8AAAAOAAYAAQAAAA8AAAANAAYAAQAAAA8AAAANAAcAAQAAAA8AAAANAAgAAQAAAA8AAAANAAkAAQAAAA8AAAAMAAkAAQAAAA8AAAALAAkAAQAAAA8AAAAKAAkAAQAAAA8AAAAJAAkAAQAAAA8AAAAIAAkAAQAAAA8AAAAHAAkAAQAAAA8AAAAGAAkAAQAAAA8AAAAFAAkAAQAAAA8AAAAEAAkAAQAAAA8AAAADAAkAAQAAAA8AAAACAAkAAQAAAA8AAAABAAkAAQAAAA8AAAAAAAkAAQAAAA8AAAD//wkAAQAAAA8AAAD+/wkAAQAAAA8AAAD9/wkAAQAAAA8AAAD8/wkAAQAAAA8AAAD7/wkAAQAAAA8AAAD6/wkAAQAAAA8AAAD5/wkAAQAAAA8AAAD4/wkAAQAAAA8AAAD3/wkAAQAAAA8AAAD2/wkAAQAAAA8AAAD3/wgAAQAAAA8AAAD4/wgAAQAAAA8AAAD5/wgAAQAAAA8AAAD6/wgAAQAAAA8AAAD7/wgAAQAAAA8AAAD8/wgAAQAAAA8AAAD9/wgAAQAAAA8AAAD+/wgAAQAAAA8AAAD//wgAAQAAAA8AAAAAAAgAAQAAAA8AAAABAAgAAQAAAA8AAAACAAgAAQAAAA8AAAADAAgAAQAAAA8AAAAEAAgAAQAAAA8AAAAFAAgAAQAAAA8AAAAGAAgAAQAAAA8AAAAHAAgAAQAAAA8AAAAIAAgAAQAAAA8AAAAJAAgAAQAAAA8AAAAKAAgAAQAAAA8AAAALAAgAAQAAAA8AAAAMAAgAAQAAAA8AAAAMAAcAAQAAAA8AAAALAAcAAQAAAA8AAAAKAAcAAQAAAA8AAAAJAAcAAQAAAA8AAAAIAAcAAQAAAA8AAAAHAAcAAQAAAA8AAAAGAAcAAQAAAA8AAAAFAAcAAQAAAA8AAAAEAAcAAQAAAA8AAAADAAcAAQAAAA8AAAACAAcAAQAAAA8AAAABAAcAAQAAAA8AAAAAAAcAAQAAAA8AAAD//wcAAQAAAA8AAAD+/wcAAQAAAA8AAAD9/wcAAQAAAA8AAAD8/wcAAQAAAA8AAAD7/wcAAQAAAA8AAAD6/wcAAQAAAA8AAAD5/wcAAQAAAA8AAAD4/wcAAQAAAA8AAAD3/wcAAQAAAA8AAAD3/wYAAQAAAA8AAAD4/wYAAQAAAA8AAAD5/wYAAQAAAA8AAAD6/wYAAQAAAA8AAAD7/wYAAQAAAA8AAAD8/wYAAQAAAA8AAAD9/wYAAQAAAA8AAAD+/wYAAQAAAA8AAAD//wYAAQAAAA8AAAAAAAYAAQAAAA8AAAABAAYAAQAAAA8AAAACAAYAAQAAAA8AAAADAAYAAQAAAA8AAAAEAAYAAQAAAA8AAAAFAAYAAQAAAA8AAAAGAAYAAQAAAA8AAAAHAAYAAQAAAA8AAAAIAAYAAQAAAA8AAAAJAAYAAQAAAA8AAAAKAAYAAQAAAA8AAAALAAYAAQAAAA8AAAAMAAYAAQAAAA8AAADt/wYAAQAAAA8AAADs/wYAAQAAAA8AAADr/wYAAQAAAA8AAADq/wYAAQAAAA8AAADp/wYAAQAAAA8AAADo/wYAAQAAAA8AAAASAAYAAQAAAA8AAAATAAYAAQAAAA8AAAAUAAYAAQAAAA8AAAAVAAYAAQAAAA8AAAAWAAYAAQAAAA8AAAAXAAYAAQAAAA8AAAAYAAYAAQAAAA8AAADn/wYAAQAAAA8AAADm/wYAAQAAAA8AAADl/wYAAQAAAA8AAADk/wYAAQAAAA8AAADj/wYAAQAAAA8AAADi/wYAAQAAAA8AAADh/wYAAQAAAA8AAADg/wYAAQAAAA8AAAAZAAYAAQAAAA8AAAAaAAYAAQAAAA8AAAAbAAYAAQAAAA8AAAAcAAYAAQAAAA8AAAAdAAYAAQAAAA8AAAAeAAYAAQAAAA8AAAAfAAYAAQAAAA8AAAAgAAYAAQAAAA8AAADg/wcAAQAAAA8AAADh/wcAAQAAAA8AAADi/wcAAQAAAA8AAADj/wcAAQAAAA8AAADk/wcAAQAAAA8AAADl/wcAAQAAAA8AAADm/wcAAQAAAA8AAADn/wcAAQAAAA8AAADo/wcAAQAAAA8AAADp/wcAAQAAAA8AAADq/wcAAQAAAA8AAADr/wcAAQAAAA8AAADs/wcAAQAAAA8AAADt/wcAAQAAAA8AAADt/wgAAQAAAA8AAADs/wgAAQAAAA8AAADr/wgAAQAAAA8AAADq/wgAAQAAAA8AAADp/wgAAQAAAA8AAADo/wgAAQAAAA8AAADn/wgAAQAAAA8AAADm/wgAAQAAAA8AAADl/wgAAQAAAA8AAADk/wgAAQAAAA8AAADj/wgAAQAAAA8AAADi/wgAAQAAAA8AAADh/wgAAQAAAA8AAADg/wgAAQAAAA8AAADg/wkAAQAAAA8AAADh/wkAAQAAAA8AAADi/wkAAQAAAA8AAADj/wkAAQAAAA8AAADk/wkAAQAAAA8AAADl/wkAAQAAAA8AAADm/wkAAQAAAA8AAADn/wkAAQAAAA8AAADo/wkAAQAAAA8AAADp/wkAAQAAAA8AAADq/wkAAQAAAA8AAADr/wkAAQAAAA8AAADs/wkAAQAAAA8AAADt/wkAAQAAAA8AAAASAAcAAQAAAA8AAAATAAcAAQAAAA8AAAAUAAcAAQAAAA8AAAAVAAcAAQAAAA8AAAAWAAcAAQAAAA8AAAAXAAcAAQAAAA8AAAAYAAcAAQAAAA8AAAAZAAcAAQAAAA8AAAAaAAcAAQAAAA8AAAAbAAcAAQAAAA8AAAAcAAcAAQAAAA8AAAAdAAcAAQAAAA8AAAAeAAcAAQAAAA8AAAAfAAcAAQAAAA8AAAAgAAcAAQAAAA8AAAAgAAgAAQAAAA8AAAAfAAgAAQAAAA8AAAAeAAgAAQAAAA8AAAAdAAgAAQAAAA8AAAAcAAgAAQAAAA8AAAAbAAgAAQAAAA8AAAAaAAgAAQAAAA8AAAAZAAgAAQAAAA8AAAAYAAgAAQAAAA8AAAAXAAgAAQAAAA8AAAAWAAgAAQAAAA8AAAAVAAgAAQAAAA8AAAAUAAgAAQAAAA8AAAATAAgAAQAAAA8AAAASAAgAAQAAAA8AAAASAAkAAQAAAA8AAAATAAkAAQAAAA8AAAAUAAkAAQAAAA8AAAAVAAkAAQAAAA8AAAAWAAkAAQAAAA8AAAAXAAkAAQAAAA8AAAAYAAkAAQAAAA8AAAAZAAkAAQAAAA8AAAAaAAkAAQAAAA8AAAAbAAkAAQAAAA8AAAAcAAkAAQAAAA8AAAAdAAkAAQAAAA8AAAAeAAkAAQAAAA8AAAAfAAkAAQAAAA8AAAAgAAkAAQAAAA8AAAASAAIAAQAAAA8AAAASAAMAAQAAAA8AAAATAAQAAQAAAA8AAAATAAUAAQAAAA8AAAASAAUAAQAAAA8AAAASAAQAAQAAAA8AAAATAAIAAQAAAA8AAAAUAAIAAQAAAA8AAAAVAAIAAQAAAA8AAAAWAAIAAQAAAA8AAAAXAAIAAQAAAA8AAAAYAAIAAQAAAA8AAAAZAAIAAQAAAA8AAAAaAAIAAQAAAA8AAAAbAAIAAQAAAA8AAAAcAAIAAQAAAA8AAAAdAAIAAQAAAA8AAAAeAAIAAQAAAA8AAAAfAAIAAQAAAA8AAAAgAAIAAQAAAA8AAAAgAAMAAQAAAA8AAAAfAAMAAQAAAA8AAAAeAAMAAQAAAA8AAAAdAAMAAQAAAA8AAAAcAAMAAQAAAA8AAAAbAAMAAQAAAA8AAAAaAAMAAQAAAA8AAAAZAAMAAQAAAA8AAAAYAAMAAQAAAA8AAAAXAAMAAQAAAA8AAAAWAAMAAQAAAA8AAAAVAAMAAQAAAA8AAAAUAAMAAQAAAA8AAAATAAMAAQAAAA8AAAAUAAQAAQAAAA8AAAAVAAQAAQAAAA8AAAAWAAQAAQAAAA8AAAAXAAQAAQAAAA8AAAAYAAQAAQAAAA8AAAAZAAQAAQAAAA8AAAAaAAQAAQAAAA8AAAAbAAQAAQAAAA8AAAAcAAQAAQAAAA8AAAAdAAQAAQAAAA8AAAAeAAQAAQAAAA8AAAAfAAQAAQAAAA8AAAAgAAQAAQAAAA8AAAAgAAUAAQAAAA8AAAAfAAUAAQAAAA8AAAAeAAUAAQAAAA8AAAAdAAUAAQAAAA8AAAAcAAUAAQAAAA8AAAAbAAUAAQAAAA8AAAAaAAUAAQAAAA8AAAAZAAUAAQAAAA8AAAAYAAUAAQAAAA8AAAAXAAUAAQAAAA8AAAAWAAUAAQAAAA8AAAAVAAUAAQAAAA8AAAAUAAUAAQAAAA8AAAASAAEAAQAAAA4AAAATAAEAAQAAAA4AAAAUAAEAAQAAAA4AAAAVAAEAAQAAAA4AAAAWAAEAAQAAAA4AAAAXAAEAAQAAAA4AAAAYAAEAAQAAAA4AAAAZAAEAAQAAAA4AAAAaAAEAAQAAAA4AAAAbAAEAAQAAAA4AAAAcAAEAAQAAAA4AAAAdAAEAAQAAAA4AAAAeAAEAAQAAAA4AAAAfAAEAAQAAAA4AAAAgAAEAAQAAAA4AAAASAP7/AQAAAA0AAAASAP//AQAAAA0AAAASAAAAAQAAAA0AAAATAP7/AQAAAA0AAAAUAP7/AQAAAA0AAAAVAP7/AQAAAA0AAAAWAP7/AQAAAA0AAAAXAP7/AQAAAA0AAAAYAP7/AQAAAA0AAAAZAP7/AQAAAA0AAAAaAP7/AQAAAA0AAAAbAP7/AQAAAA0AAAAcAP7/AQAAAA0AAAAdAP7/AQAAAA0AAAAeAP7/AQAAAA0AAAAfAP7/AQAAAA0AAAAgAP7/AQAAAA0AAAAgAP//AQAAAA0AAAAfAP//AQAAAA0AAAAeAP//AQAAAA0AAAAdAP//AQAAAA0AAAAcAP//AQAAAA0AAAAbAP//AQAAAA0AAAAaAP//AQAAAA0AAAAZAP//AQAAAA0AAAAYAP//AQAAAA0AAAAXAP//AQAAAA0AAAAWAP//AQAAAA0AAAAVAP//AQAAAA0AAAAUAP//AQAAAA0AAAATAP//AQAAAA0AAAATAAAAAQAAAA0AAAAUAAAAAQAAAA0AAAAVAAAAAQAAAA0AAAAWAAAAAQAAAA0AAAAXAAAAAQAAAA0AAAAYAAAAAQAAAA0AAAAZAAAAAQAAAA0AAAAaAAAAAQAAAA0AAAAfAAAAAQAAAA0AAAAgAAAAAQAAAA0AAAAeAAAAAQAAAA0AAAAdAAAAAQAAAA0AAAAcAAAAAQAAAA0AAAAbAAAAAQAAAA0AAAASAP3/AQAAAAwAAAATAP3/AQAAAAwAAAAUAP3/AQAAAAwAAAAVAP3/AQAAAAwAAAAWAP3/AQAAAAwAAAAXAP3/AQAAAAwAAAAYAP3/AQAAAAwAAAAZAP3/AQAAAAwAAAAaAP3/AQAAAAwAAAAbAP3/AQAAAAwAAAAcAP3/AQAAAAwAAAAdAP3/AQAAAAwAAAAeAP3/AQAAAAwAAAAfAP3/AQAAAAwAAAAgAP3/AQAAAAwAAAASAPr/AQAAAAsAAAATAPr/AQAAAAsAAAAUAPr/AQAAAAsAAAAVAPr/AQAAAAsAAAAWAPr/AQAAAAsAAAAXAPr/AQAAAAsAAAAYAPr/AQAAAAsAAAAZAPr/AQAAAAsAAAAaAPr/AQAAAAsAAAAbAPr/AQAAAAsAAAAcAPr/AQAAAAsAAAAdAPr/AQAAAAsAAAAeAPr/AQAAAAsAAAAfAPr/AQAAAAsAAAAgAPr/AQAAAAsAAAAgAPv/AQAAAAsAAAAfAPv/AQAAAAsAAAAeAPv/AQAAAAsAAAAdAPv/AQAAAAsAAAAcAPv/AQAAAAsAAAAbAPv/AQAAAAsAAAAaAPv/AQAAAAsAAAAZAPv/AQAAAAsAAAAYAPv/AQAAAAsAAAAXAPv/AQAAAAsAAAAWAPv/AQAAAAsAAAAVAPv/AQAAAAsAAAAUAPv/AQAAAAsAAAATAPv/AQAAAAsAAAASAPv/AQAAAAsAAAASAPz/AQAAAAsAAAATAPz/AQAAAAsAAAAUAPz/AQAAAAsAAAAVAPz/AQAAAAsAAAAWAPz/AQAAAAsAAAAXAPz/AQAAAAsAAAAYAPz/AQAAAAsAAAAZAPz/AQAAAAsAAAAaAPz/AQAAAAsAAAAbAPz/AQAAAAsAAAAcAPz/AQAAAAsAAAAdAPz/AQAAAAsAAAAeAPz/AQAAAAsAAAAfAPz/AQAAAAsAAAAgAPz/AQAAAAsAAAASAPn/AQAAAAoAAAATAPn/AQAAAAoAAAAUAPn/AQAAAAoAAAAVAPn/AQAAAAoAAAAWAPn/AQAAAAoAAAAXAPn/AQAAAAoAAAAYAPn/AQAAAAoAAAAZAPn/AQAAAAoAAAAaAPn/AQAAAAoAAAAbAPn/AQAAAAoAAAAcAPn/AQAAAAoAAAAdAPn/AQAAAAoAAAAeAPn/AQAAAAoAAAAfAPn/AQAAAAoAAAAgAPn/AQAAAAoAAAASAPj/AQAAAAkAAAATAPj/AQAAAAkAAAAUAPj/AQAAAAkAAAAVAPj/AQAAAAkAAAAWAPj/AQAAAAkAAAAXAPj/AQAAAAkAAAAYAPj/AQAAAAkAAAAZAPj/AQAAAAkAAAAaAPj/AQAAAAkAAAAbAPj/AQAAAAkAAAAcAPj/AQAAAAkAAAAdAPj/AQAAAAkAAAAeAPj/AQAAAAkAAAAfAPj/AQAAAAkAAAAgAPj/AQAAAAkAAAAgAPf/AQAAAAkAAAAfAPf/AQAAAAkAAAAeAPf/AQAAAAkAAAAdAPf/AQAAAAkA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AADk/wUAAQAAAA8AAADj/wUAAQAAAA8AAADj/wQAAQAAAA8AAADj/wMAAQAAAA8AAADi/wMAAQAAAA8AAADi/wQAAQAAAA8AAADi/wUAAQAAAA8AAADh/wUAAQAAAA8AAADh/wQAAQAAAA8AAADh/wMAAQAAAA8AAADg/wMAAQAAAA8AAADg/wQAAQAAAA8AAADg/wUAAQAAAA8AAADg/wEAAQAAAA4AAADh/wEAAQAAAA4AAADi/wEAAQAAAA4AAADj/wEAAQAAAA4AAADk/wEAAQAAAA4AAADl/wEAAQAAAA4AAADm/wEAAQAAAA4AAADn/wEAAQAAAA4AAADo/wEAAQAAAA4AAADp/wEAAQAAAA4AAADq/wEAAQAAAA4AAADr/wEAAQAAAA4AAADs/wEAAQAAAA4AAADt/wEAAQAAAA4AAADt//7/AQAAAA0AAADt////AQAAAA0AAADt/wAAAQAAAA0AAADs/wAAAQAAAA0AAADr/wAAAQAAAA0AAADq/wAAAQAAAA0AAADp/wAAAQAAAA0AAADo/wAAAQAAAA0AAADn/wAAAQAAAA0AAADm/wAAAQAAAA0AAADl/wAAAQAAAA0AAADk/wAAAQAAAA0AAADj/wAAAQAAAA0AAADi/wAAAQAAAA0AAADh/wAAAQAAAA0AAADg/wAAAQAAAA0AAADg////AQAAAA0AAADh////AQAAAA0AAADi////AQAAAA0AAADj////AQAAAA0AAADk////AQAAAA0AAADl////AQAAAA0AAADm////AQAAAA0AAADn////AQAAAA0AAADo////AQAAAA0AAADp////AQAAAA0AAADq////AQAAAA0AAADr////AQAAAA0AAADs////AQAAAA0AAADs//7/AQAAAA0AAADr//7/AQAAAA0AAADq//7/AQAAAA0AAADp//7/AQAAAA0AAADo//7/AQAAAA0AAADn//7/AQAAAA0AAADm//7/AQAAAA0AAADl//7/AQAAAA0AAADk//7/AQAAAA0AAADj//7/AQAAAA0AAADi//7/AQAAAA0AAADh//7/AQAAAA0AAADg//7/AQAAAA0AAADg//3/AQAAAAwAAADh//3/AQAAAAwAAADi//3/AQAAAAwAAADj//3/AQAAAAwAAADk//3/AQAAAAwAAADl//3/AQAAAAwAAADm//3/AQAAAAwAAADn//3/AQAAAAwAAADo//3/AQAAAAwAAADp//3/AQAAAAwAAADq//3/AQAAAAwAAADr//3/AQAAAAwAAADs//3/AQAAAAwAAADt//3/AQAAAAwAAADg//r/AQAAAAsAAADh//r/AQAAAAsAAADi//r/AQAAAAsAAADj//r/AQAAAAsAAADk//r/AQAAAAsAAADl//r/AQAAAAsAAADm//r/AQAAAAsAAADn//r/AQAAAAsAAADo//r/AQAAAAsAAADp//r/AQAAAAsAAADq//r/AQAAAAsAAADr//r/AQAAAAsAAADs//r/AQAAAAsAAADt//r/AQAAAAsAAADt//v/AQAAAAsAAADs//v/AQAAAAsAAADr//v/AQAAAAsAAADq//v/AQAAAAsAAADp//v/AQAAAAsAAADo//v/AQAAAAsAAADn//v/AQAAAAsAAADm//v/AQAAAAsAAADl//v/AQAAAAsAAADk//v/AQAAAAsAAADj//v/AQAAAAsAAADi//v/AQAAAAsAAADh//v/AQAAAAsAAADg//v/AQAAAAsAAADg//z/AQAAAAsAAADh//z/AQAAAAsAAADi//z/AQAAAAsAAADj//z/AQAAAAsAAADk//z/AQAAAAsAAADl//z/AQAAAAsAAADm//z/AQAAAAsAAADn//z/AQAAAAsAAADo//z/AQAAAAsAAADp//z/AQAAAAsAAADt//z/AQAAAAsAAADs//z/AQAAAAsAAADr//z/AQAAAAsAAADq//z/AQAAAAsAAADg//n/AQAAAAoAAADh//n/AQAAAAoAAADi//n/AQAAAAoAAADj//n/AQAAAAoAAADk//n/AQAAAAoAAADl//n/AQAAAAoAAADm//n/AQAAAAoAAADn//n/AQAAAAoAAADo//n/AQAAAAoAAADp//n/AQAAAAoAAADq//n/AQAAAAoAAADr//n/AQAAAAoAAADs//n/AQAAAAoAAADt//n/AQAAAAoAAADg//D/AQAAAAkAAADh//D/AQAAAAkAAADi//D/AQAAAAkAAADj//D/AQAAAAkAAADk//D/AQAAAAkAAADl//D/AQAAAAkAAADm//D/AQAAAAkAAADn//D/AQAAAAkAAADo//D/AQAAAAkAAADp//D/AQAAAAkAAADq//D/AQAAAAkAAADr//D/AQAAAAkAAADs//D/AQAAAAkAAADt//D/AQAAAAkAAADt//H/AQAAAAkAAADs//H/AQAAAAkAAADr//H/AQAAAAkAAADq//H/AQAAAAkAAADp//H/AQAAAAkAAADo//H/AQAAAAkAAADn//H/AQAAAAkAAADm//H/AQAAAAkAAADl//H/AQAAAAkAAADk//H/AQAAAAkAAADj//H/AQAAAAkAAADi//H/AQAAAAkAAADh//H/AQAAAAkAAADg//H/AQAAAAkAAADg//L/AQAAAAkAAADh//L/AQAAAAkAAADi//L/AQAAAAkAAADj//L/AQAAAAkAAADk//L/AQAAAAkAAADl//L/AQAAAAkAAADm//L/AQAAAAkAAADn//L/AQAAAAkAAADo//L/AQAAAAkAAADp//L/AQAAAAkAAADq//L/AQAAAAkAAADr//L/AQAAAAkAAADs//L/AQAAAAkAAADs//P/AQAAAAkAAADt//P/AQAAAAkAAADt//L/AQAAAAkAAADr//P/AQAAAAkAAADq//P/AQAAAAkAAADp//P/AQAAAAkAAADo//P/AQAAAAkAAADn//P/AQAAAAkAAADm//P/AQAAAAkAAADl//P/AQAAAAkAAADk//P/AQAAAAkAAADj//P/AQAAAAkAAADi//P/AQAAAAkAAADh//P/AQAAAAkAAADg//P/AQAAAAkAAADg//T/AQAAAAkAAADh//T/AQAAAAkAAADi//T/AQAAAAkAAADj//T/AQAAAAkAAADk//T/AQAAAAkAAADl//T/AQAAAAkAAADm//T/AQAAAAkAAADn//T/AQAAAAkAAADo//T/AQAAAAkAAADp//T/AQAAAAkAAADq//T/AQAAAAkAAADr//T/AQAAAAkAAADs//T/AQAAAAkAAADt//T/AQAAAAkAAADt//X/AQAAAAkAAADs//X/AQAAAAkAAADr//X/AQAAAAkAAADq//X/AQAAAAkAAADp//X/AQAAAAkAAADo//X/AQAAAAkAAADn//X/AQAAAAkAAADm//X/AQAAAAkAAADl//X/AQAAAAkAAADk//X/AQAAAAkAAADj//X/AQAAAAkAAADi//X/AQAAAAkAAADh//X/AQAAAAkAAADg//X/AQAAAAkAAADg//b/AQAAAAkAAADh//b/AQAAAAkAAADi//b/AQAAAAkAAADj//b/AQAAAAkAAADk//b/AQAAAAkAAADl//b/AQAAAAkAAADm//b/AQAAAAkAAADn//b/AQAAAAkAAADo//b/AQAAAAkAAADp//b/AQAAAAkAAADq//b/AQAAAAkAAADr//b/AQAAAAkAAADs//b/AQAAAAkAAADt//b/AQAAAAkAAADt//f/AQAAAAkAAADs//f/AQAAAAkAAADr//f/AQAAAAkAAADq//f/AQAAAAkAAADp//f/AQAAAAkAAADo//f/AQAAAAkAAADn//f/AQAAAAkAAADm//f/AQAAAAkAAADl//f/AQAAAAkAAADk//f/AQAAAAkAAADj//f/AQAAAAkAAADi//f/AQAAAAkAAADh//f/AQAAAAkAAADg//f/AQAAAAkAAADg//j/AQAAAAkAAADh//j/AQAAAAkAAADi//j/AQAAAAkAAADj//j/AQAAAAkAAADk//j/AQAAAAkAAADl//j/AQAAAAkAAADm//j/AQAAAAkAAADn//j/AQAAAAkAAADo//j/AQAAAAkAAADp//j/AQAAAAkAAADq//j/AQAAAAkAAADs//j/AQAAAAkAAADt//j/AQAAAAkAAADr//j/AQAAAAkAAADg/woAAQAAAA8AAADg/wsAAQAAAAAAAADg/wwAAQAAAAEAAADg/w0AAQAAAAEAAADg/w4AAQAAAAEAAADg/w8AAQAAAAEAAADg/xAAAQAAAAEAAAD1/w4AAQAAAAEAAAD1/w0AAQAAAAEAAAD1/wwAAQAAAAEAAAD1/wsAAQAAAAAAAAD1/woAAQAAAA8AAAD1/w8AAQAAAAEAAAD1/xAAAQAAAAEAAAD0/xAAAQAAAAEAAADz/xAAAQAAAAEAAADy/xAAAQAAAAEAAADx/xAAAQAAAAEAAADw/xAAAQAAAAEAAADv/xAAAQAAAAEAAADu/xAAAQAAAAEAAADt/xAAAQAAAAEAAADs/xAAAQAAAAEAAADr/xAAAQAAAAEAAADq/xAAAQAAAAEAAADp/xAAAQAAAAEAAADo/xAAAQAAAAEAAADn/xAAAQAAAAEAAADm/xAAAQAAAAEAAADl/xAAAQAAAAEAAADk/xAAAQAAAAEAAADj/xAAAQAAAAEAAADi/xAAAQAAAAEAAADh/xAAAQAAAAEAAAD2/xAAAQAAAAEAAAD3/xAAAQAAAAEAAAD4/xAAAQAAAAEAAAD5/xAAAQAAAAEAAAD6/xAAAQAAAAEAAAD7/xAAAQAAAAEAAAD8/xAAAQAAAAEAAAD9/xAAAQAAAAEAAAD+/xAAAQAAAAEAAAD//xAAAQAAAAEAAAAAABAAAQAAAAEAAAABABAAAQAAAAEAAAACABAAAQAAAAEAAAADABAAAQAAAAEAAAAEABAAAQAAAAEAAAAFABAAAQAAAAEAAAAGABAAAQAAAAEAAAAHABAAAQAAAAEAAAAIABAAAQAAAAEAAAAJABAAAQAAAAEAAAAKABAAAQAAAAEAAAALABAAAQAAAAEAAAAMABAAAQAAAAEAAAANABAAAQAAAAEAAAAOABAAAQAAAAEAAAAPABAAAQAAAAEAAAAQABAAAQAAAAEAAAARABAAAQAAAAEAAAASABAAAQAAAAEAAAATABAAAQAAAAEAAAAUABAAAQAAAAEAAAAVABAAAQAAAAEAAAAWABAAAQAAAAEAAAAXABAAAQAAAAEAAAAYABAAAQAAAAEAAAAZABAAAQAAAAEAAAAaABAAAQAAAAEAAAAbABAAAQAAAAEAAAAcABAAAQAAAAEAAAAdABAAAQAAAAEAAAAeABAAAQAAAAEAAAAfABAAAQAAAAEAAAAgABAAAQAAAAEAAAAgAA8AAQAAAAEAAAAgAA4AAQAAAAEAAAAgAA0AAQAAAAEAAAAgAAwAAQAAAAEAAAAgAAsAAQAAAAAAAAAgAAoAAQAAAA8AAADh/woAAQAAAA8AAADi/woAAQAAAA8AAADj/woAAQAAAA8AAADk/woAAQAAAA8AAADl/woAAQAAAA8AAADm/woAAQAAAA8AAADn/woAAQAAAA8AAADo/woAAQAAAA8AAADp/woAAQAAAA8AAADq/woAAQAAAA8AAADr/woAAQAAAA8AAADs/woAAQAAAA8AAADt/woAAQAAAA8AAADu/woAAQAAAA8AAADv/woAAQAAAA8AAADw/woAAQAAAA8AAADx/woAAQAAAA8AAADy/woAAQAAAA8AAADz/woAAQAAAA8AAAD0/woAAQAAAA8AAAD0/wsAAQAAAAAAAADz/wsAAQAAAAAAAADy/wsAAQAAAAAAAADx/wsAAQAAAAAAAADw/wsAAQAAAAAAAADv/wsAAQAAAAAAAADu/wsAAQAAAAAAAADt/wsAAQAAAAAAAADs/wsAAQAAAAAAAADr/wsAAQAAAAAAAADq/wsAAQAAAAAAAADp/wsAAQAAAAAAAADo/wsAAQAAAAAAAADk/wsAAQAAAAAAAADj/wsAAQAAAAAAAADi/wsAAQAAAAAAAADh/wsAAQAAAAAAAADl/wsAAQAAAAAAAADm/wsAAQAAAAAAAADn/wsAAQAAAAAAAADh/wwAAQAAAAEAAADi/wwAAQAAAAEAAADj/wwAAQAAAAEAAADk/wwAAQAAAAEAAADl/wwAAQAAAAEAAADm/wwAAQAAAAEAAADn/wwAAQAAAAEAAADo/wwAAQAAAAEAAADp/wwAAQAAAAEAAADq/wwAAQAAAAEAAADr/wwAAQAAAAEAAADs/wwAAQAAAAEAAADt/wwAAQAAAAEAAADu/wwAAQAAAAEAAADv/wwAAQAAAAEAAADw/wwAAQAAAAEAAADx/wwAAQAAAAEAAADy/wwAAQAAAAEAAADz/wwAAQAAAAEAAAD0/wwAAQAAAAEAAAD0/w0AAQAAAAEAAADz/w0AAQAAAAEAAADy/w0AAQAAAAEAAADx/w0AAQAAAAEAAADw/w0AAQAAAAEAAADv/w0AAQAAAAEAAADu/w0AAQAAAAEAAADt/w0AAQAAAAEAAADs/w0AAQAAAAEAAADr/w0AAQAAAAEAAADq/w0AAQAAAAEAAADp/w0AAQAAAAEAAADo/w0AAQAAAAEAAADn/w0AAQAAAAEAAADm/w0AAQAAAAEAAADl/w0AAQAAAAEAAADk/w0AAQAAAAEAAADj/w0AAQAAAAEAAADi/w0AAQAAAAEAAADh/w0AAQAAAAEAAADh/w4AAQAAAAEAAADi/w4AAQAAAAEAAADj/w4AAQAAAAEAAADk/w4AAQAAAAEAAADl/w4AAQAAAAEAAADm/w4AAQAAAAEAAADn/w4AAQAAAAEAAADo/w4AAQAAAAEAAADp/w4AAQAAAAEAAADq/w4AAQAAAAEAAADr/w4AAQAAAAEAAADs/w4AAQAAAAEAAADt/w4AAQAAAAEAAADu/w4AAQAAAAEAAADv/w4AAQAAAAEAAADw/w4AAQAAAAEAAADx/w4AAQAAAAEAAADy/w4AAQAAAAEAAADz/w4AAQAAAAEAAAD0/w4AAQAAAAEAAAD0/w8AAQAAAAEAAADz/w8AAQAAAAEA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") tile_set = SubResource("TileSet_0tnpc") - -[node name="Return" type="Sprite2D" parent="." unique_id=1321886509] -position = Vector2(248, 135) -texture = ExtResource("7_gee14") -script = ExtResource("8_gee14") - -[node name="Button" type="Button" parent="Return" unique_id=1148032425] -modulate = Color(0.012617188, 0.012617188, 0.012617188, 0) -offset_left = -6.0 -offset_top = -6.0 -offset_right = 7.0 -offset_bottom = 7.0 - -[connection signal="mouse_shape_entered" from="Floor" to="Gem" method="_on_floor_mouse_shape_entered"] -[connection signal="mouse_entered" from="Enemy" to="Enemy" method="_on_mouse_entered"] -[connection signal="pressed" from="Return/Button" to="Return" method="_on_button_pressed"] diff --git a/gaze-track/scenes/game_manager.tscn b/gaze-track/scenes/game_manager.tscn index b5044e3..179edc0 100644 --- a/gaze-track/scenes/game_manager.tscn +++ b/gaze-track/scenes/game_manager.tscn @@ -6,10 +6,10 @@ script = ExtResource("1_hwd4i") [node name="Health" type="Label" parent="." unique_id=1632759447] -offset_left = -249.0 -offset_top = -146.0 -offset_right = -209.0 -offset_bottom = -123.0 +offset_left = -448.0 +offset_top = -241.0 +offset_right = -356.0 +offset_bottom = -218.0 theme_override_colors/font_color = Color(1, 0, 1, 1) text = "Sample text" @@ -17,10 +17,10 @@ text = "Sample text" anchors_preset = 1 anchor_left = 1.0 anchor_right = 1.0 -offset_left = 239.0 -offset_top = -146.0 -offset_right = 331.0 -offset_bottom = -123.0 +offset_left = 435.0 +offset_top = -241.0 +offset_right = 527.0 +offset_bottom = -218.0 grow_horizontal = 0 theme_override_colors/font_color = Color(1, 0, 1, 1) text = "Sample text" diff --git a/gaze-track/scripts/game_manager.gd b/gaze-track/scripts/game_manager.gd index f9d77dd..8612481 100644 --- a/gaze-track/scripts/game_manager.gd +++ b/gaze-track/scripts/game_manager.gd @@ -9,13 +9,24 @@ var is_score_reached = 1 @onready var over_timer = $GameOverTimer @onready var game = $".." -@onready var spawner = %SpawnManager +@onready var spawner = $"../SpawnManager" # Called when the node enters the scene tree for the first time. func _ready() -> void: health_label.text = "Health: " + str(health) score_label.text = "Score: " + str(score) +func _input(event): + if event.is_action_pressed("RETURN"): + print("Return to Menu") + game.queue_free() + OS.kill(MainMenu.pid) + # somehow this works :D + get_tree().change_scene_to_file("res://scenes/main_menu.tscn") + if event.is_action_pressed("START"): + spawner.set_process(true) + + func _process(delta: float) -> void: if health < 0: # TODO: change to texture diff --git a/gaze-track/scripts/main_menu.gd b/gaze-track/scripts/main_menu.gd index e746464..420ad72 100644 --- a/gaze-track/scripts/main_menu.gd +++ b/gaze-track/scripts/main_menu.gd @@ -1,9 +1,13 @@ +class_name MainMenu extends PanelContainer + +static var pid:int const GAME = preload("res://scenes/game.tscn") func _on_play_pressed() -> void: + pid = OS.create_process("/home/paakallo/projects/gaze-track/model_class.py", []) get_tree().change_scene_to_packed(GAME) func _on_leader_board_pressed() -> void: diff --git a/gaze-track/scripts/return.gd b/gaze-track/scripts/return.gd index b5e75d5..f3d06ca 100644 --- a/gaze-track/scripts/return.gd +++ b/gaze-track/scripts/return.gd @@ -6,5 +6,6 @@ extends Sprite2D func _on_button_pressed() -> void: print("Return to Menu") GAME.queue_free() + OS.kill(MainMenu.pid) # somehow this works :D get_tree().change_scene_to_file("res://scenes/main_menu.tscn") diff --git a/gaze-track/scripts/spawn_manager.gd b/gaze-track/scripts/spawn_manager.gd index d30d2ac..c58937b 100644 --- a/gaze-track/scripts/spawn_manager.gd +++ b/gaze-track/scripts/spawn_manager.gd @@ -1,6 +1,7 @@ extends Node2D @onready var game = $".." +@onready var spawner = $"." var enemy_spawn_timer = 0 var enemy_counter = 0 @@ -10,6 +11,12 @@ var gem_spawn_timer = 0 var gem_counter = 0 var gem_spawn_interval: float = 20.0 +func _ready() -> void: + # don't spawn until START is pressed + print("Spawner set to false initially") + spawner.set_process(false) + + func _process(delta): enemy_spawn_timer += delta gem_spawn_timer += delta diff --git a/gaze_track_model.py b/gaze_track_model.py index 50d78ef..cca1c0d 100644 --- a/gaze_track_model.py +++ b/gaze_track_model.py @@ -1,4 +1,5 @@ import cv2 +import pickle import mediapipe as mp import numpy as np from mediapipe.tasks import python @@ -99,6 +100,10 @@ def ridge_train(self, in_val, out_val): alphas = [0.1, 1.0, 10.0, 100.0] ridge_cv_model = RidgeCV(alphas=alphas) ridge_cv_model.fit(in_val, out_val) + + + filename = "gaze-track/models/model.sav" + pickle.dump(ridge_cv_model, open(filename, 'wb')) return ridge_cv_model def loop(self): @@ -126,6 +131,7 @@ def loop(self): pred_y = int(pred_pos[0][1] * self.screen_h) pred_x = np.clip(pred_x, 0, self.screen_w) pred_y = np.clip(pred_y, 0, self.screen_h) + print(f"Predicted position: ({pred_x}, {pred_y})") pyautogui.moveTo(pred_x, pred_y) if self.frame is not None: @@ -134,6 +140,7 @@ def loop(self): key = cv2.waitKey(1) & 0xFF if key == ord('q'): return False + # Press space to save the current landmarks and mouse position for training elif key == ord(' '): if not self.first_space: self.landmarks_to_train = self.processed_landmarks[np.newaxis, :] @@ -144,6 +151,7 @@ def loop(self): self.mouse_pos = np.append(self.mouse_pos, self.position_all[np.newaxis, :], axis=0) print("Saved current position") + # Press 't' to train the model with the collected data elif key == ord('t'): self.model = self.ridge_train(self.landmarks_to_train, self.mouse_pos) diff --git a/model_class.py b/model_class.py new file mode 100755 index 0000000..04cc3f7 --- /dev/null +++ b/model_class.py @@ -0,0 +1,182 @@ +#!/home/paakallo/projects/gaze-track/.venv/bin/python + +import cv2 +import pickle +import mediapipe as mp +import numpy as np +from mediapipe.tasks import python +from mediapipe.tasks.python import vision +import pyautogui +from sklearn.linear_model import RidgeCV + + +LEFT_EYE_INDICES = [ + 107, 66, 105, 63, 70, + 55, 65, 52, 53, 46, + 468, 469, 470, 471, 472, + 133, 33, + 173, 157, 158, 159, 160, 161, 246, + 155, 154, 153, 145, 144, 163, 7, + 243, 190, 56, 28, 27, 29, 30, 247, + 130, 25, 110, 24, 23, 22, 26, 112, + 244, 189, 221, 222, 223, 224, 225, 113, + 226, 31, 228, 229, 230, 231, 232, 233, + 193, 245, 128, 121, 120, 119, 118, 117, + 111, 35, 124, 143, 156, +] + +RIGHT_EYE_INDICES = [ + 336, 296, 334, 293, 300, + 285, 295, 282, 283, 276, + 473, 476, 475, 474, 477, + 362, 263, + 398, 384, 385, 386, 387, 388, 466, + 382, 381, 380, 374, 373, 390, 249, + 463, 414, 286, 258, 257, 259, 260, 467, + 359, 255, 339, 254, 253, 252, 256, 341, + 464, 413, 441, 442, 443, 444, 445, 342, + 446, 261, 448, 449, 450, 451, 452, 453, + 417, 465, 357, 350, 349, 348, 347, 346, + 340, 265, 353, 372, 383, +] + +MUTUAL_INDICES = [ + 4, + 10, + 151, + 9, + 152, + 234, + 454, + 58, + 288, +] + + +class GazeTrack: + def __init__(self, FAILSAFE=False): + pyautogui.FAILSAFE = FAILSAFE + self.cam = self.setup_camera() + self.detector = self.setup_detector() + self.screen_w, self.screen_h = pyautogui.size() + self.model = self.load_ridge_model() + self.first_space = False + self.frame = None + self.frame_w = 0 + self.frame_h = 0 + self.processed_landmarks = None + self.position_all = None + self.landmarks_to_train = None + self.mouse_pos = None + + while True: + if not self.loop(): + break + + self.cam.release() + cv2.destroyAllWindows() + + def setup_camera(self): + cam = cv2.VideoCapture(0) + codec = 0x47504A4D + cam.set(cv2.CAP_PROP_FPS, 60.0) + cam.set(cv2.CAP_PROP_FOURCC, codec) + cam.set(cv2.CAP_PROP_FRAME_WIDTH, 1920) + cam.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080) + return cam + + def setup_detector(self): + base_options = python.BaseOptions(model_asset_path='/home/paakallo/projects/gaze-track/face_landmarker.task') + + options = vision.FaceLandmarkerOptions( + base_options=base_options, + output_face_blendshapes=False, + output_facial_transformation_matrixes=False, + num_faces=1 + ) + return vision.FaceLandmarker.create_from_options(options) + + def process_landmarks(self, landmarks): + FINAL_INDICES = LEFT_EYE_INDICES + RIGHT_EYE_INDICES + MUTUAL_INDICES + all_landmarks = np.array([(l.x, l.y, l.z) for l in landmarks], dtype=np.float32) + + for landmark in all_landmarks[FINAL_INDICES]: + cv2.circle(self.frame, (int(landmark[0] * self.frame_w), int(landmark[1] * self.frame_h)), 3, (0, 255, 0), -1) + + left_corner = all_landmarks[33] + right_corner = all_landmarks[263] + top_of_head = all_landmarks[10] + + eye_center = (left_corner + right_corner) / 2.0 + all_landmarks -= eye_center + + x_axis = right_corner - left_corner + x_axis /= np.linalg.norm(x_axis) + 1e-9 # vector left -> right + + y_axis = top_of_head + y_axis /= np.linalg.norm(y_axis) + 1e-9 + y_axis -= np.dot(y_axis, x_axis) * x_axis + y_axis /= np.linalg.norm(y_axis) + 1e-9 + + z_axis = np.cross(x_axis, y_axis) + z_axis /= np.linalg.norm(z_axis) + 1e-9 + + R = np.column_stack((x_axis, y_axis, z_axis)) + + # R head->camera + # R.T camera->head + rotated_landmarks = (R.T @ all_landmarks.T).T + + eye_center_new = R.T @ (left_corner - right_corner) + eye_dist = np.linalg.norm(eye_center_new) + + if eye_dist > 1e-7: + rotated_landmarks /= eye_dist + + final_landmarks = rotated_landmarks[FINAL_INDICES] + final_landmarks = final_landmarks.flatten() + + yaw = np.arctan2(R[1, 0], R[0, 0]) + pitch = np.arctan2(-R[2, 0], np.sqrt(R[2, 1] ** 2 + R[2, 2] ** 2)) + roll = np.arctan2(R[2, 1], R[2, 2]) + final_landmarks = np.concatenate([final_landmarks, [yaw, pitch, roll]]) + return final_landmarks + + def load_ridge_model(self): + filename = "/home/paakallo/projects/gaze-track/gaze-track/models/model.sav" + ridge_cv_model = pickle.load(open(filename, 'rb')) + return ridge_cv_model + + def loop(self): + ret, frame = self.cam.read() + if not ret: + return True + + self.frame = cv2.flip(frame, 1) + self.frame_h, self.frame_w, _ = self.frame.shape + + mp_image = mp.Image(image_format=mp.ImageFormat.SRGB, data=self.frame) + result = self.detector.detect(mp_image) + bbox = None + + if result.face_landmarks: + landmarks = result.face_landmarks[0] + self.processed_landmarks = self.process_landmarks(landmarks) + position = pyautogui.position() + self.position_all = np.array([position.x / self.screen_w, position.y / self.screen_h]) + + if self.model is not None and self.processed_landmarks is not None: + processed_landmarks_expanded = self.processed_landmarks[np.newaxis, :] + pred_pos = self.model.predict(processed_landmarks_expanded) + pred_x = int(pred_pos[0][0] * self.screen_w) + pred_y = int(pred_pos[0][1] * self.screen_h) + pred_x = np.clip(pred_x, 0, self.screen_w) + pred_y = np.clip(pred_y, 0, self.screen_h) + print(f"Predicted position: ({pred_x}, {pred_y})") + pyautogui.moveTo(pred_x, pred_y) + + return True + +if __name__ == "__main__": + app = GazeTrack() + app.loop()