summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2024-08-31 21:19:36 +0200
committerDaniel Weipert <git@mail.dweipert.de>2024-08-31 21:19:36 +0200
commit14e51610a66099af5cba7cb92876e691fe017216 (patch)
tree5bbb252c0170b00e25cb66e38980bcd505c5aad2
parentcf4f54f8e43d1deb03e1b644f6a374530efa11e3 (diff)
next commit
-rw-r--r--Assets/Mobs/angesnow-front.pngbin0 -> 1877 bytes
-rw-r--r--Assets/Mobs/angesnow-front.png.import34
-rw-r--r--Assets/Mobs/angesnow-menu01.pngbin0 -> 14469 bytes
-rw-r--r--Assets/Mobs/angesnow-menu01.png.import34
-rw-r--r--Assets/Mobs/banling-front.pngbin0 -> 1815 bytes
-rw-r--r--Assets/Mobs/banling-front.png.import34
-rw-r--r--Assets/Mobs/banling-menu01.pngbin0 -> 681 bytes
-rw-r--r--Assets/Mobs/banling-menu01.png.import34
-rw-r--r--Assets/Mobs/firomenis-front.pngbin0 -> 1922 bytes
-rw-r--r--Assets/Mobs/firomenis-front.png.import34
-rw-r--r--Assets/Mobs/firomenis-menu01.pngbin0 -> 11416 bytes
-rw-r--r--Assets/Mobs/firomenis-menu01.png.import34
-rw-r--r--Assets/Mobs/mob-hovered.pngbin0 -> 629 bytes
-rw-r--r--Assets/Mobs/mob-hovered.png.import34
-rw-r--r--Assets/Mobs/mob-pressed.pngbin0 -> 647 bytes
-rw-r--r--Assets/Mobs/mob-pressed.png.import34
-rw-r--r--Assets/Mobs/mob.pngbin0 -> 531 bytes
-rw-r--r--Assets/Mobs/mob.png.import34
-rw-r--r--Assets/Mobs/windeye-front.pngbin0 -> 17367 bytes
-rw-r--r--Assets/Mobs/windeye-front.png.import34
-rw-r--r--Assets/Mobs/windeye-menu01.pngbin0 -> 281 bytes
-rw-r--r--Assets/Mobs/windeye-menu01.png.import34
-rw-r--r--Assets/UI/door.pngbin0 -> 15149 bytes
-rw-r--r--Assets/UI/door.png.import34
-rw-r--r--Assets/UI/gear.pngbin0 -> 15475 bytes
-rw-r--r--Assets/UI/gear.png.import34
-rw-r--r--Assets/UI/key_e.pngbin0 -> 138 bytes
-rw-r--r--Assets/UI/key_e.png.import34
-rw-r--r--Assets/UI/key_r.pngbin0 -> 144 bytes
-rw-r--r--Assets/UI/key_r.png.import34
-rw-r--r--Assets/UI/wrench.pngbin0 -> 15327 bytes
-rw-r--r--Assets/UI/wrench.png.import34
-rw-r--r--Assets/UI/zoom.pngbin0 -> 15329 bytes
-rw-r--r--Assets/UI/zoom.png.import34
-rw-r--r--Assets/UI/zoomDefault.pngbin0 -> 15343 bytes
-rw-r--r--Assets/UI/zoomDefault.png.import34
-rw-r--r--Assets/UI/zoomIn.pngbin0 -> 15343 bytes
-rw-r--r--Assets/UI/zoomIn.png.import34
-rw-r--r--Assets/UI/zoomOut.pngbin0 -> 15339 bytes
-rw-r--r--Assets/UI/zoomOut.png.import34
-rw-r--r--BuildGrid.gd34
-rw-r--r--BuilderElement.gd87
-rw-r--r--BuilderElement.tscn1
-rw-r--r--CollisionVisibilityArea.tscn11
-rw-r--r--Game.gd70
-rw-r--r--Goal.gd5
-rw-r--r--Goal.tscn8
-rw-r--r--Mob.gd32
-rw-r--r--Mob.tscn37
-rw-r--r--PathNode.gd4
-rw-r--r--PathNode.tscn5
-rw-r--r--Readme.md5
-rw-r--r--Spawn.gd4
-rw-r--r--Spawn.tscn10
-rw-r--r--SpawnButton.tscn12
-rw-r--r--Tower.gd10
-rw-r--r--Tower.tscn9
-rw-r--r--area_2d.gd53
-rw-r--r--collision_visibility_area.gd40
-rw-r--r--hp_bar.gd5
-rw-r--r--project.godot17
-rw-r--r--spawn_button.gd16
-rw-r--r--world.gd53
-rw-r--r--world.tscn299
64 files changed, 1309 insertions, 198 deletions
diff --git a/Assets/Mobs/angesnow-front.png b/Assets/Mobs/angesnow-front.png
new file mode 100644
index 0000000..3dc4783
--- /dev/null
+++ b/Assets/Mobs/angesnow-front.png
Binary files differ
diff --git a/Assets/Mobs/angesnow-front.png.import b/Assets/Mobs/angesnow-front.png.import
new file mode 100644
index 0000000..903ea50
--- /dev/null
+++ b/Assets/Mobs/angesnow-front.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dsy7k2v5fhh6v"
+path="res://.godot/imported/angesnow-front.png-8159a467ddaf31022ea66e62ffaf1aad.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/angesnow-front.png"
+dest_files=["res://.godot/imported/angesnow-front.png-8159a467ddaf31022ea66e62ffaf1aad.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/Mobs/angesnow-menu01.png b/Assets/Mobs/angesnow-menu01.png
new file mode 100644
index 0000000..0522d12
--- /dev/null
+++ b/Assets/Mobs/angesnow-menu01.png
Binary files differ
diff --git a/Assets/Mobs/angesnow-menu01.png.import b/Assets/Mobs/angesnow-menu01.png.import
new file mode 100644
index 0000000..bce564d
--- /dev/null
+++ b/Assets/Mobs/angesnow-menu01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://up1rtweit3ut"
+path="res://.godot/imported/angesnow-menu01.png-2dc671a21f7bfcab5ac9ed3e860d68cc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/angesnow-menu01.png"
+dest_files=["res://.godot/imported/angesnow-menu01.png-2dc671a21f7bfcab5ac9ed3e860d68cc.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/Mobs/banling-front.png b/Assets/Mobs/banling-front.png
new file mode 100644
index 0000000..f7216b9
--- /dev/null
+++ b/Assets/Mobs/banling-front.png
Binary files differ
diff --git a/Assets/Mobs/banling-front.png.import b/Assets/Mobs/banling-front.png.import
new file mode 100644
index 0000000..92014af
--- /dev/null
+++ b/Assets/Mobs/banling-front.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d3modiw2b30kh"
+path="res://.godot/imported/banling-front.png-d2f95fc474705a8aef7ccd3bad7f0ffe.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/banling-front.png"
+dest_files=["res://.godot/imported/banling-front.png-d2f95fc474705a8aef7ccd3bad7f0ffe.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/Mobs/banling-menu01.png b/Assets/Mobs/banling-menu01.png
new file mode 100644
index 0000000..d749756
--- /dev/null
+++ b/Assets/Mobs/banling-menu01.png
Binary files differ
diff --git a/Assets/Mobs/banling-menu01.png.import b/Assets/Mobs/banling-menu01.png.import
new file mode 100644
index 0000000..c569dd9
--- /dev/null
+++ b/Assets/Mobs/banling-menu01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dsui46tcf0pys"
+path="res://.godot/imported/banling-menu01.png-6077925eb6e4f6290270974076d28844.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/banling-menu01.png"
+dest_files=["res://.godot/imported/banling-menu01.png-6077925eb6e4f6290270974076d28844.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/Mobs/firomenis-front.png b/Assets/Mobs/firomenis-front.png
new file mode 100644
index 0000000..e17f4f5
--- /dev/null
+++ b/Assets/Mobs/firomenis-front.png
Binary files differ
diff --git a/Assets/Mobs/firomenis-front.png.import b/Assets/Mobs/firomenis-front.png.import
new file mode 100644
index 0000000..9705e59
--- /dev/null
+++ b/Assets/Mobs/firomenis-front.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxr5ckrvhyp1t"
+path="res://.godot/imported/firomenis-front.png-4111c49d68da41f463ffc60f6ea4d8ad.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/firomenis-front.png"
+dest_files=["res://.godot/imported/firomenis-front.png-4111c49d68da41f463ffc60f6ea4d8ad.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/Mobs/firomenis-menu01.png b/Assets/Mobs/firomenis-menu01.png
new file mode 100644
index 0000000..c930776
--- /dev/null
+++ b/Assets/Mobs/firomenis-menu01.png
Binary files differ
diff --git a/Assets/Mobs/firomenis-menu01.png.import b/Assets/Mobs/firomenis-menu01.png.import
new file mode 100644
index 0000000..fee4701
--- /dev/null
+++ b/Assets/Mobs/firomenis-menu01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://75o7x0jadi08"
+path="res://.godot/imported/firomenis-menu01.png-b9c1b59a6f1f99e6f7cbeac9c3848cf2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/firomenis-menu01.png"
+dest_files=["res://.godot/imported/firomenis-menu01.png-b9c1b59a6f1f99e6f7cbeac9c3848cf2.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/Mobs/mob-hovered.png b/Assets/Mobs/mob-hovered.png
new file mode 100644
index 0000000..d0df121
--- /dev/null
+++ b/Assets/Mobs/mob-hovered.png
Binary files differ
diff --git a/Assets/Mobs/mob-hovered.png.import b/Assets/Mobs/mob-hovered.png.import
new file mode 100644
index 0000000..a6c74e7
--- /dev/null
+++ b/Assets/Mobs/mob-hovered.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dnkr5y0cfxu68"
+path="res://.godot/imported/mob-hovered.png-7c4d8a06b0014a2f2c83b84aa4f8b158.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/mob-hovered.png"
+dest_files=["res://.godot/imported/mob-hovered.png-7c4d8a06b0014a2f2c83b84aa4f8b158.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/Mobs/mob-pressed.png b/Assets/Mobs/mob-pressed.png
new file mode 100644
index 0000000..3bec652
--- /dev/null
+++ b/Assets/Mobs/mob-pressed.png
Binary files differ
diff --git a/Assets/Mobs/mob-pressed.png.import b/Assets/Mobs/mob-pressed.png.import
new file mode 100644
index 0000000..fad4a30
--- /dev/null
+++ b/Assets/Mobs/mob-pressed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dq2i36oe1wj0m"
+path="res://.godot/imported/mob-pressed.png-65f7dcfbb05bdb86b3a33139fd81d2c5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/mob-pressed.png"
+dest_files=["res://.godot/imported/mob-pressed.png-65f7dcfbb05bdb86b3a33139fd81d2c5.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/Mobs/mob.png b/Assets/Mobs/mob.png
new file mode 100644
index 0000000..9b92b47
--- /dev/null
+++ b/Assets/Mobs/mob.png
Binary files differ
diff --git a/Assets/Mobs/mob.png.import b/Assets/Mobs/mob.png.import
new file mode 100644
index 0000000..6d00b50
--- /dev/null
+++ b/Assets/Mobs/mob.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dr02nqmrnciy0"
+path="res://.godot/imported/mob.png-d843b7126a1c2e4d93740631f4cda217.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/mob.png"
+dest_files=["res://.godot/imported/mob.png-d843b7126a1c2e4d93740631f4cda217.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/Mobs/windeye-front.png b/Assets/Mobs/windeye-front.png
new file mode 100644
index 0000000..0277dfd
--- /dev/null
+++ b/Assets/Mobs/windeye-front.png
Binary files differ
diff --git a/Assets/Mobs/windeye-front.png.import b/Assets/Mobs/windeye-front.png.import
new file mode 100644
index 0000000..3d8e585
--- /dev/null
+++ b/Assets/Mobs/windeye-front.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://coiiq1yaonxeg"
+path="res://.godot/imported/windeye-front.png-b54e5ce9b5a837f373c8e11eb730c6d2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/windeye-front.png"
+dest_files=["res://.godot/imported/windeye-front.png-b54e5ce9b5a837f373c8e11eb730c6d2.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/Mobs/windeye-menu01.png b/Assets/Mobs/windeye-menu01.png
new file mode 100644
index 0000000..6efabc4
--- /dev/null
+++ b/Assets/Mobs/windeye-menu01.png
Binary files differ
diff --git a/Assets/Mobs/windeye-menu01.png.import b/Assets/Mobs/windeye-menu01.png.import
new file mode 100644
index 0000000..1310ac8
--- /dev/null
+++ b/Assets/Mobs/windeye-menu01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://byrx3c087exvb"
+path="res://.godot/imported/windeye-menu01.png-612593ceb0b48d2b35984448dfb08663.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Mobs/windeye-menu01.png"
+dest_files=["res://.godot/imported/windeye-menu01.png-612593ceb0b48d2b35984448dfb08663.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/UI/door.png b/Assets/UI/door.png
new file mode 100644
index 0000000..1e53791
--- /dev/null
+++ b/Assets/UI/door.png
Binary files differ
diff --git a/Assets/UI/door.png.import b/Assets/UI/door.png.import
new file mode 100644
index 0000000..af577ab
--- /dev/null
+++ b/Assets/UI/door.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dau8u0yw83a6d"
+path="res://.godot/imported/door.png-d0f63278718c5bd4601c344ae908f26f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/UI/door.png"
+dest_files=["res://.godot/imported/door.png-d0f63278718c5bd4601c344ae908f26f.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/UI/gear.png b/Assets/UI/gear.png
new file mode 100644
index 0000000..9663f90
--- /dev/null
+++ b/Assets/UI/gear.png
Binary files differ
diff --git a/Assets/UI/gear.png.import b/Assets/UI/gear.png.import
new file mode 100644
index 0000000..7ebd295
--- /dev/null
+++ b/Assets/UI/gear.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://vq0n0i5f4mtu"
+path="res://.godot/imported/gear.png-12f1faf7ecafe454972c6403792ca576.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/UI/gear.png"
+dest_files=["res://.godot/imported/gear.png-12f1faf7ecafe454972c6403792ca576.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/UI/key_e.png b/Assets/UI/key_e.png
new file mode 100644
index 0000000..2e51475
--- /dev/null
+++ b/Assets/UI/key_e.png
Binary files differ
diff --git a/Assets/UI/key_e.png.import b/Assets/UI/key_e.png.import
new file mode 100644
index 0000000..9185b04
--- /dev/null
+++ b/Assets/UI/key_e.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c7ntdvxvv16io"
+path="res://.godot/imported/key_e.png-0490407c00ee1ed04d9cc3982c76c5e3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/UI/key_e.png"
+dest_files=["res://.godot/imported/key_e.png-0490407c00ee1ed04d9cc3982c76c5e3.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/UI/key_r.png b/Assets/UI/key_r.png
new file mode 100644
index 0000000..22d4284
--- /dev/null
+++ b/Assets/UI/key_r.png
Binary files differ
diff --git a/Assets/UI/key_r.png.import b/Assets/UI/key_r.png.import
new file mode 100644
index 0000000..39758d7
--- /dev/null
+++ b/Assets/UI/key_r.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hljlcokgys6y"
+path="res://.godot/imported/key_r.png-426194ec7b97b0c993a65e92a9019d5e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/UI/key_r.png"
+dest_files=["res://.godot/imported/key_r.png-426194ec7b97b0c993a65e92a9019d5e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/UI/wrench.png b/Assets/UI/wrench.png
new file mode 100644
index 0000000..fd16f6b
--- /dev/null
+++ b/Assets/UI/wrench.png
Binary files differ
diff --git a/Assets/UI/wrench.png.import b/Assets/UI/wrench.png.import
new file mode 100644
index 0000000..e2769d4
--- /dev/null
+++ b/Assets/UI/wrench.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://8nwosf1t03m7"
+path="res://.godot/imported/wrench.png-61c0530a9d050d82809d4082feb36c87.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/UI/wrench.png"
+dest_files=["res://.godot/imported/wrench.png-61c0530a9d050d82809d4082feb36c87.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/UI/zoom.png b/Assets/UI/zoom.png
new file mode 100644
index 0000000..f8c60c8
--- /dev/null
+++ b/Assets/UI/zoom.png
Binary files differ
diff --git a/Assets/UI/zoom.png.import b/Assets/UI/zoom.png.import
new file mode 100644
index 0000000..708a32f
--- /dev/null
+++ b/Assets/UI/zoom.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cdmyw6ucmvq5a"
+path="res://.godot/imported/zoom.png-4c9db4e8dff03b69a403d6a02fcdee5a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/UI/zoom.png"
+dest_files=["res://.godot/imported/zoom.png-4c9db4e8dff03b69a403d6a02fcdee5a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/UI/zoomDefault.png b/Assets/UI/zoomDefault.png
new file mode 100644
index 0000000..a18677f
--- /dev/null
+++ b/Assets/UI/zoomDefault.png
Binary files differ
diff --git a/Assets/UI/zoomDefault.png.import b/Assets/UI/zoomDefault.png.import
new file mode 100644
index 0000000..444087e
--- /dev/null
+++ b/Assets/UI/zoomDefault.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ciojbjh3mpiag"
+path="res://.godot/imported/zoomDefault.png-c794fd94cc5f1e0b2b51fe72be58a49f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/UI/zoomDefault.png"
+dest_files=["res://.godot/imported/zoomDefault.png-c794fd94cc5f1e0b2b51fe72be58a49f.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/UI/zoomIn.png b/Assets/UI/zoomIn.png
new file mode 100644
index 0000000..70fff49
--- /dev/null
+++ b/Assets/UI/zoomIn.png
Binary files differ
diff --git a/Assets/UI/zoomIn.png.import b/Assets/UI/zoomIn.png.import
new file mode 100644
index 0000000..9f67f36
--- /dev/null
+++ b/Assets/UI/zoomIn.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bvv4vc5rot73y"
+path="res://.godot/imported/zoomIn.png-75af0da2f71fa13fc8406a56542770a9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/UI/zoomIn.png"
+dest_files=["res://.godot/imported/zoomIn.png-75af0da2f71fa13fc8406a56542770a9.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/Assets/UI/zoomOut.png b/Assets/UI/zoomOut.png
new file mode 100644
index 0000000..7f20ad2
--- /dev/null
+++ b/Assets/UI/zoomOut.png
Binary files differ
diff --git a/Assets/UI/zoomOut.png.import b/Assets/UI/zoomOut.png.import
new file mode 100644
index 0000000..89b8746
--- /dev/null
+++ b/Assets/UI/zoomOut.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dwed1e2bvyixn"
+path="res://.godot/imported/zoomOut.png-0ef5413113ddcaafc3bea6a552f539b6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/UI/zoomOut.png"
+dest_files=["res://.godot/imported/zoomOut.png-0ef5413113ddcaafc3bea6a552f539b6.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/BuildGrid.gd b/BuildGrid.gd
index e7d3149..76d4998 100644
--- a/BuildGrid.gd
+++ b/BuildGrid.gd
@@ -1,46 +1,28 @@
extends Node2D
-var map: TileMapLayer
-
-
func _ready():
Game.mode_changed.connect(func():
queue_redraw()
)
-
- map = get_parent().get_node("Layer0") as TileMapLayer
+
func _draw():
if Game.mode == Game.Mode.BUILD:
- var area = map.get_used_rect()
- #area = area.grow_individual(0, 0, area.size.x, area.size.y)
- var cell_size = map.tile_set.tile_size #/ 2
- #draw_rect(
- #Rect2(0, 0, area.size.x * cell_size.x, area.size.y * cell_size.y),
- #Color("#ffffff"),
- #false,
- #1.0
- #)
- #for row in range(area.size.x):
- #for column in range(area.size.y):
- #draw_rect(
- #Rect2(row * cell_size.x, column * cell_size.y, cell_size.x, cell_size.y),
- #Color("#fffffhttps://challonge.com/smash_nes_2024f"),
- #false,
- #1.0
- #)
+ var area = Game.map.get_used_rect()
+ var cell_size = Game.map.tile_set.tile_size
+ var offset = Game.map.position
for row in range(0, area.size.y + 1):
draw_line(
- Vector2(0, row * cell_size.y),
- Vector2(area.size.x * cell_size.x, row * cell_size.y),
+ Vector2(offset.x, offset.y + row * cell_size.y),
+ Vector2(offset.x + area.size.x * cell_size.x, offset.y + row * cell_size.y),
Color(1, 1, 1, 0.25),
1.0
)
for column in range(0, area.size.x + 1):
draw_line(
- Vector2(column * cell_size.x, 0),
- Vector2(column * cell_size.x, area.size.y * cell_size.y),
+ Vector2(offset.x + column * cell_size.x, offset.y),
+ Vector2(offset.x + column * cell_size.x, offset.y + area.size.y * cell_size.y),
Color(1, 1, 1, 0.25),
1.0
)
diff --git a/BuilderElement.gd b/BuilderElement.gd
index 6a82c0a..5f1e3ca 100644
--- a/BuilderElement.gd
+++ b/BuilderElement.gd
@@ -6,6 +6,10 @@ extends Node2D
var collision_shape: Shape2D
+var previous_position
+
+var collision_areas: Array[Area2D] = []
+
func _ready():
var element_sprite: Sprite2D = element.get_node("Sprite2D")
@@ -16,35 +20,94 @@ func _ready():
$Sprite2D.position = element_sprite.position
var element_collision_shape = element.get_node("CollisionShape2D").duplicate() as CollisionShape2D
- $Area2D.add_child(element_collision_shape)
+ #$Area2D.add_child(element_collision_shape)
collision_shape = element_collision_shape.shape
+
+ var snapped_size = collision_shape.size.snapped(Game.map.tile_set.tile_size)
+ for x in (snapped_size.x / Game.map.tile_set.tile_size.x):
+ for y in (snapped_size.y / Game.map.tile_set.tile_size.y):
+ var collision_visibility_area_scene = preload("res://CollisionVisibilityArea.tscn")
+ var collision_visibility_area = collision_visibility_area_scene.instantiate()
+ collision_visibility_area.position = Vector2(
+ x * Game.map.tile_set.tile_size.x,
+ y * Game.map.tile_set.tile_size.y
+ )
+ collision_visibility_area.set_collision_layer_value(3, true)
+ collision_visibility_area.set_collision_mask_value(1, true)
+ collision_visibility_area.set_collision_mask_value(2, true)
+ collision_visibility_area.set_collision_mask_value(3, true)
+ collision_visibility_area.colliding_color = Color(1, 0, 0, 0.5)
+ collision_visibility_area.not_colliding_color = Color(0, 1, 0, 0.25)
+
+ var shape = RectangleShape2D.new()
+ shape.size = Vector2(Game.map.tile_set.tile_size - Vector2i(1, 1))
+ var cshape = CollisionShape2D.new()
+ cshape.shape = shape
+ cshape.position = Game.map.tile_set.tile_size / 2
+
+ collision_visibility_area.add_child(cshape)
+ add_child(collision_visibility_area)
+
+ collision_areas.append(collision_visibility_area)
func _draw():
draw_circle(
- Vector2.ZERO,
+ Game.map.tile_set.tile_size,
8 + element.attack_range,
Color(1, 1, 1, 0.75),
false,
1.0
)
- if not can_build():
- if collision_shape is RectangleShape2D:
- draw_rect(Rect2((collision_shape.size / 2) * -1, collision_shape.size), Color(1, 0, 0, 0.75))
+ #if collision_shape is RectangleShape2D:
+ #var nodes = $Area2D.get_overlapping_nodes()
+ #for key in nodes:
+ #var node = nodes[key]
+ #if node.collision_points.size() == 4:
+ #var rect_size = (node.collision_points[0] - node.collision_points[1] +
+ #node.collision_points[2] - node.collision_points[0]).snapped(Game.map.tile_set.tile_size)
+ #var relative_position = global_position - node.body.global_position.snapped(Game.map.tile_set.tile_size)
+ #if relative_position.x > 0:
+ #relative_position.x = 0
+ #if relative_position.y > 0:
+ #relative_position.y = 0
+ #if rect_size.x == 0:
+ #rect_size.x = 16
+ #if rect_size.y == 0:
+ #rect_size.y = 16
+ #draw_rect(
+ #Rect2(
+ #abs(relative_position),
+ #abs(rect_size)
+ #),
+ #Color(0, 0, 1)
+ #)
+ #draw_rect(
+ #Rect2(
+ #Vector2.ZERO,
+ #collision_shape.size
+ #),
+ #Color(1, 0, 0, 0.5) if not can_build() else Color(0, 1, 0, 0.25)
+ #)
func _process(_delta):
- #global_position = get_global_mouse_position().snapped(Game.map.tile_set.tile_size / 2)
- global_position = get_global_mouse_position().snapped(Game.map.tile_set.tile_size)
+ previous_position = global_position
+ global_position = get_global_mouse_position().snapped(Game.map.tile_set.tile_size) - Vector2(16,16)
+ #global_position = Game.map.map_to_local(Game.map.local_to_map(get_global_mouse_position())) - Vector2(16,16)
+
+ if global_position != previous_position:
+ queue_redraw()
func can_build():
- if $Area2D.get_overlapping_areas().size() > 0:
- return false
-
- if $Area2D.get_overlapping_bodies().size() > 0:
- return false
+ for area in collision_areas:
+ if area.get_overlapping_areas().size() > 0:
+ return false
+
+ if area.get_overlapping_bodies().size() > 0:
+ return false
return true
diff --git a/BuilderElement.tscn b/BuilderElement.tscn
index a0d892a..7b176a2 100644
--- a/BuilderElement.tscn
+++ b/BuilderElement.tscn
@@ -7,6 +7,7 @@ script = ExtResource("1_xxacj")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
+centered = false
[node name="Area2D" type="Area2D" parent="."]
collision_layer = 4
diff --git a/CollisionVisibilityArea.tscn b/CollisionVisibilityArea.tscn
new file mode 100644
index 0000000..4effcf5
--- /dev/null
+++ b/CollisionVisibilityArea.tscn
@@ -0,0 +1,11 @@
+[gd_scene load_steps=2 format=3 uid="uid://cddsncmdb8g2j"]
+
+[ext_resource type="Script" path="res://collision_visibility_area.gd" id="1_8fa5c"]
+
+[node name="CollisionVisibilityArea" type="Area2D"]
+script = ExtResource("1_8fa5c")
+
+[connection signal="area_entered" from="." to="." method="_on_area_entered"]
+[connection signal="area_exited" from="." to="." method="_on_area_exited"]
+[connection signal="body_entered" from="." to="." method="_on_body_entered"]
+[connection signal="body_exited" from="." to="." method="_on_body_exited"]
diff --git a/Game.gd b/Game.gd
index 4f2106a..15c92b9 100644
--- a/Game.gd
+++ b/Game.gd
@@ -16,6 +16,7 @@ var mode: Mode = Mode.DEFAULT :
mode = value
mode_changed.emit()
+var current_builder_element
var score: int :
set(value):
@@ -29,35 +30,20 @@ var map: TileMapLayer
func initialize_stage(tilemap: TileMapLayer):
map = tilemap
- var region = map.get_used_rect()
- #region = region.grow_individual(0, 0, region.size.x, region.size.y)
-
path_grid = AStarGrid2D.new()
- path_grid.region = region
- path_grid.cell_size = map.tile_set.tile_size #/ 2
- #path_grid.offset = path_grid.cell_size
- path_grid.diagonal_mode = AStarGrid2D.DIAGONAL_MODE_ONLY_IF_NO_OBSTACLES
+ path_grid.region = map.get_used_rect()
+ path_grid.cell_size = map.tile_set.tile_size
+ path_grid.offset = map.tile_set.tile_size / 2
+ path_grid.diagonal_mode = AStarGrid2D.DIAGONAL_MODE_AT_LEAST_ONE_WALKABLE
path_grid.update()
for tower in get_tree().current_scene.get_node("Towers").get_children():
- path_grid.set_point_solid(map.local_to_map(tower.global_position))
- #var tower_region = tower.get_region().size.snapped(path_grid.cell_size)
- #path_grid.fill_solid_region(Rect2i(
- #map.local_to_map(tower.global_position) + Vector2i(-1,-1),
- #tower_region / path_grid.cell_size
- #))
+ fill_tower_region(tower, true)
func place_tower(tower: Tower, position: Vector2):
- var grid_position = map.local_to_map(position)
- path_grid.set_point_solid(grid_position, true)
- #var tower_region = tower.get_region().size.snapped(path_grid.cell_size)
- #path_grid.fill_solid_region(Rect2i(
- #map.local_to_map(position),
- #tower_region / path_grid.cell_size
- #), true)
-
tower.global_position = position
+ fill_tower_region(tower, true)
get_tree().current_scene.get_node("Towers").add_child(tower)
Game.score += 1
@@ -69,13 +55,7 @@ func remove_tower(tower: Tower):
Game.score -= 1
func destroy_tower(tower: Tower):
- var grid_position = map.local_to_map(tower.global_position)
- path_grid.set_point_solid(grid_position, false)
- #var tower_region = tower.get_region().size.snapped(path_grid.cell_size)
- #path_grid.fill_solid_region(Rect2i(
- #map.local_to_map(tower.global_position),
- #tower_region / path_grid.cell_size,
- #), false)
+ fill_tower_region(tower, false)
tower.queue_free()
@@ -90,11 +70,41 @@ func deselect_tower():
get_tree().current_scene.get_node("%Tower").text = ""
+func fill_tower_region(tower: Tower, solid = true):
+ var region = tower.get_region().size.snapped(path_grid.cell_size)
+ path_grid.fill_solid_region(
+ Rect2i(
+ map.local_to_map(tower.global_position),
+ (region / path_grid.cell_size)
+ ),
+ solid
+ )
+
+
func spawn_mob(mob: Mob, spawn: Spawn):
- mob.global_position = spawn.global_position
+ mob.global_position = spawn.spawn_position
mob.target = spawn.next_node
mob.hp = randi_range(50, 200)
mob.speed = randi_range(50, 150)
- mob.get_node("Sprite2D").modulate = Color(randf_range(0, 1), randf_range(0, 1), randf_range(0, 1))
+ #mob.get_node("Sprite2D").modulate = Color(randf_range(0, 1), randf_range(0, 1), randf_range(0, 1))
return mob
+
+
+func start_build_mode():
+ Game.mode = Game.Mode.BUILD
+ var scene = preload("res://BuilderElement.tscn")
+ var builder_element = scene.instantiate()
+ var tower = preload("res://Tower.tscn").instantiate() as Tower
+ tower.attack_range = [
+ Game.map.tile_set.tile_size.x * 2,
+ Game.map.tile_set.tile_size.x * 3,
+ Game.map.tile_set.tile_size.x * 4,
+ ].pick_random()
+ builder_element.element = tower
+ get_tree().current_scene.add_child(builder_element)
+ current_builder_element = builder_element
+
+func stop_build_mode():
+ current_builder_element.queue_free()
+ Game.mode = Game.Mode.DEFAULT
diff --git a/Goal.gd b/Goal.gd
index e7bb29a..534ef3c 100644
--- a/Goal.gd
+++ b/Goal.gd
@@ -1,2 +1,7 @@
class_name Goal
extends Node2D
+
+
+var path_position: Vector2:
+ get():
+ return $PathPosition.global_position
diff --git a/Goal.tscn b/Goal.tscn
index 735add4..73842ad 100644
--- a/Goal.tscn
+++ b/Goal.tscn
@@ -4,14 +4,16 @@
[ext_resource type="Texture2D" uid="uid://b1b18rd0tqbar" path="res://core_outdoor.png" id="2_0qdti"]
[sub_resource type="CircleShape2D" id="CircleShape2D_m11hr"]
-radius = 1.0
+radius = 4.0
[node name="Goal" type="Node2D"]
script = ExtResource("1_04oso")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
+scale = Vector2(0.25, 0.333333)
texture = ExtResource("2_0qdti")
+centered = false
region_enabled = true
region_rect = Rect2(192, 816, 64, 48)
@@ -19,4 +21,8 @@ region_rect = Rect2(192, 816, 64, 48)
collision_layer = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
+position = Vector2(8, 8)
shape = SubResource("CircleShape2D_m11hr")
+
+[node name="PathPosition" type="Node2D" parent="."]
+position = Vector2(8, 8)
diff --git a/Mob.gd b/Mob.gd
index a83a119..9dfa923 100644
--- a/Mob.gd
+++ b/Mob.gd
@@ -11,9 +11,11 @@ var is_selected = false :
if value:
Mob.selected_unit = self
selected.emit()
+ $Label.visible = true
else:
if Mob.selected_unit == self:
Mob.selected_unit = null
+ $Label.visible = false
is_selected = value
queue_redraw()
@@ -58,6 +60,8 @@ func _ready():
%HPBar.init(hp)
set_hp(hp)
+
+ $SelectionArea/CollisionShape2D.shape.size = $Sprite2D.texture.get_size() * $Sprite2D.scale
func _physics_process(delta):
@@ -87,7 +91,7 @@ func _draw():
if is_selected:
draw_circle(
Vector2.ZERO,
- 8,
+ Game.map.tile_set.tile_size.x * 0.75,
Color(1, 1, 1, 0.75),
false,
1.0
@@ -96,7 +100,7 @@ func _draw():
elif is_hovered:
draw_circle(
Vector2.ZERO,
- 8,
+ Game.map.tile_set.tile_size.x * 0.75,
Color(1, 1, 1, 0.5),
false,
1.0
@@ -131,10 +135,7 @@ func set_hp(value):
hp = value
%HPBar.set_value(value)
- if is_selected:
- $Label.text = str(hp)
- else:
- $Label.text = ""
+ $Label.text = str(hp)
if hp <= 0:
queue_free()
@@ -151,12 +152,12 @@ func reset_path():
# reached end of partial path
if current_path.size() == 1 and current_path[0] == global_position:
roaming_mode = true
- current_path = PackedVector2Array([target.global_position])
+ current_path = PackedVector2Array([target.path_position + Vector2(16,16)])
# iterating between one or more closest paths
elif recent_closest_paths.count(current_path) >= 2:
roaming_mode = true
- current_path = PackedVector2Array([target.global_position])
+ current_path = PackedVector2Array([target.path_position + Vector2(16,16)])
recent_closest_paths = []
else:
recent_closest_paths = []
@@ -165,29 +166,26 @@ func reset_path():
current_path_idx = 0
func get_grid_path(partial = false):
- #return Game.path_grid.get_point_path(
- #Game.map.local_to_map(global_position) * 2,
- #Game.map.local_to_map(target.global_position) * 2,
- #partial
- #)
return Game.path_grid.get_point_path(
Game.map.local_to_map(global_position),
- Game.map.local_to_map(target.global_position),
+ Game.map.local_to_map(target.path_position),
partial
)
-func _on_input_event(_viewport: Node, event: InputEvent, _shape_idx: int) -> void:
+func _on_selection_area_input_event(_viewport: Node, event: InputEvent, _shape_idx: int) -> void:
if Game.mode == Game.Mode.DEFAULT:
if event.is_action_pressed("select"):
+ if selected_unit:
+ selected_unit.is_selected = false
is_selected = true
$Label.text = str(hp)
-func _on_mouse_entered() -> void:
+func _on_selection_area_mouse_entered() -> void:
is_hovered = true
-func _on_mouse_exited() -> void:
+func _on_selection_area_mouse_exited() -> void:
is_hovered = false
diff --git a/Mob.tscn b/Mob.tscn
index c209adb..95274ac 100644
--- a/Mob.tscn
+++ b/Mob.tscn
@@ -1,15 +1,18 @@
-[gd_scene load_steps=6 format=3 uid="uid://cslaufgh6ber3"]
+[gd_scene load_steps=7 format=3 uid="uid://cslaufgh6ber3"]
[ext_resource type="Script" path="res://Mob.gd" id="1_bbcew"]
-[ext_resource type="Texture2D" uid="uid://b1b18rd0tqbar" path="res://core_outdoor.png" id="2_xcu8u"]
+[ext_resource type="Texture2D" uid="uid://dsy7k2v5fhh6v" path="res://Assets/Mobs/angesnow-front.png" id="2_rxqq1"]
[ext_resource type="PackedScene" uid="uid://bjcrf4o4a80iv" path="res://HPBar.tscn" id="3_e777u"]
-[sub_resource type="CircleShape2D" id="CircleShape2D_rsrm7"]
-radius = 3.0
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_1cqix"]
+size = Vector2(3, 3)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_iaxxs"]
size = Vector2(8, 8)
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_o5ax3"]
+size = Vector2(16, 16)
+
[node name="Mob" type="CharacterBody2D"]
y_sort_enabled = true
collision_mask = 4
@@ -18,13 +21,12 @@ script = ExtResource("1_bbcew")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
-scale = Vector2(0.25, 0.25)
-texture = ExtResource("2_xcu8u")
-region_enabled = true
+scale = Vector2(0.5, 0.5)
+texture = ExtResource("2_rxqq1")
region_rect = Rect2(480, 880, 96, 64)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-shape = SubResource("CircleShape2D_rsrm7")
+shape = SubResource("RectangleShape2D_1cqix")
[node name="NavigationBase" type="Area2D" parent="." groups=["mob_navigation_base"]]
collision_mask = 2
@@ -40,14 +42,25 @@ offset_right = 10.0
offset_bottom = -9.0
[node name="Label" type="Label" parent="."]
-offset_left = -3.0
-offset_top = 7.0
-offset_right = 3.0
-offset_bottom = 19.0
+visible = false
+offset_left = -9.0
+offset_top = 12.0
+offset_right = 10.0
+offset_bottom = 24.0
theme_override_font_sizes/font_size = 8
+text = "1000"
+horizontal_alignment = 1
+
+[node name="SelectionArea" type="Area2D" parent="."]
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="SelectionArea"]
+shape = SubResource("RectangleShape2D_o5ax3")
[connection signal="input_event" from="." to="." method="_on_input_event"]
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]
[connection signal="tree_exiting" from="." to="." method="_on_tree_exiting"]
[connection signal="area_entered" from="NavigationBase" to="." method="_on_navigation_base_area_entered"]
+[connection signal="input_event" from="SelectionArea" to="." method="_on_selection_area_input_event"]
+[connection signal="mouse_entered" from="SelectionArea" to="." method="_on_selection_area_mouse_entered"]
+[connection signal="mouse_exited" from="SelectionArea" to="." method="_on_selection_area_mouse_exited"]
diff --git a/PathNode.gd b/PathNode.gd
index afbf6eb..848c7b3 100644
--- a/PathNode.gd
+++ b/PathNode.gd
@@ -3,3 +3,7 @@ extends Node2D
@export var next_node: Node2D
+
+var path_position: Vector2:
+ get():
+ return $PathPosition.global_position
diff --git a/PathNode.tscn b/PathNode.tscn
index 467d989..594c4c3 100644
--- a/PathNode.tscn
+++ b/PathNode.tscn
@@ -12,6 +12,7 @@ script = ExtResource("1_ge3jf")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
texture = ExtResource("2_wcpbq")
+centered = false
region_enabled = true
region_rect = Rect2(384, 496, 16, 16)
@@ -19,4 +20,8 @@ region_rect = Rect2(384, 496, 16, 16)
collision_layer = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
+position = Vector2(8, 8)
shape = SubResource("RectangleShape2D_7mk1q")
+
+[node name="PathPosition" type="Node2D" parent="."]
+position = Vector2(8, 8)
diff --git a/Readme.md b/Readme.md
new file mode 100644
index 0000000..84362b6
--- /dev/null
+++ b/Readme.md
@@ -0,0 +1,5 @@
+Make Tower yourself
+Power / Range / Speed - per cost and upgradelevel rpg-like points to distribute
+Give them abilities/skills
+Splash yes/no + splash range - could only be available at tower upgrade level 2+
+exp system for towers??
diff --git a/Spawn.gd b/Spawn.gd
index d59765c..36b4580 100644
--- a/Spawn.gd
+++ b/Spawn.gd
@@ -2,3 +2,7 @@ class_name Spawn
extends Node2D
@export var next_node: Node2D
+
+var spawn_position: Vector2:
+ get():
+ return $SpawnPosition.global_position
diff --git a/Spawn.tscn b/Spawn.tscn
index c7097ce..f34e515 100644
--- a/Spawn.tscn
+++ b/Spawn.tscn
@@ -4,14 +4,16 @@
[ext_resource type="Texture2D" uid="uid://b1b18rd0tqbar" path="res://core_outdoor.png" id="2_y5h4t"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_66y0l"]
-size = Vector2(8, 8)
+size = Vector2(4, 4)
-[node name="Spawn" type="Node2D"]
+[node name="Spawn" type="Node2D" groups=["spawn"]]
script = ExtResource("1_ge8q7")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
+scale = Vector2(0.5, 0.5)
texture = ExtResource("2_y5h4t")
+centered = false
region_enabled = true
region_rect = Rect2(216, 488, 32, 32)
@@ -19,4 +21,8 @@ region_rect = Rect2(216, 488, 32, 32)
collision_layer = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
+position = Vector2(8, 8)
shape = SubResource("RectangleShape2D_66y0l")
+
+[node name="SpawnPosition" type="Node2D" parent="."]
+position = Vector2(8, 8)
diff --git a/SpawnButton.tscn b/SpawnButton.tscn
new file mode 100644
index 0000000..aa0a48b
--- /dev/null
+++ b/SpawnButton.tscn
@@ -0,0 +1,12 @@
+[gd_scene load_steps=2 format=3 uid="uid://x6kohecnw7f5"]
+
+[ext_resource type="Script" path="res://spawn_button.gd" id="1_ayei4"]
+
+[node name="SpawnButton" type="TextureButton"]
+offset_left = 2.0
+offset_top = 2.0
+offset_right = 38.0
+offset_bottom = 38.0
+script = ExtResource("1_ayei4")
+
+[connection signal="pressed" from="." to="." method="_on_pressed"]
diff --git a/Tower.gd b/Tower.gd
index 9d7f870..78e35d0 100644
--- a/Tower.gd
+++ b/Tower.gd
@@ -27,7 +27,7 @@ var is_hovered = false :
var mobs_in_range: Array = []
-@export var attack_range: int = 16
+@export var attack_range: int = 32
@export var attack_power: int = 1
@export var attack_speed: int = 1
@@ -40,7 +40,7 @@ func _ready():
func _draw():
if is_selected:
draw_circle(
- Vector2.ZERO,
+ Game.map.tile_set.tile_size,
8 + attack_range,
Color(1, 1, 1, 0.75),
false,
@@ -50,7 +50,7 @@ func _draw():
elif is_hovered:
if Game.mode == Game.Mode.DEFAULT:
draw_circle(
- Vector2.ZERO,
+ Game.map.tile_set.tile_size,
8 + attack_range,
Color(1, 1, 1, 0.5),
false,
@@ -90,7 +90,7 @@ func _on_mouse_exited() -> void:
func is_melee_range():
- return attack_range <= Game.map.tile_set.tile_size.x
+ return attack_range <= (Game.map.tile_set.tile_size.x * 2)
func shoot():
@@ -108,7 +108,7 @@ func get_region():
return Rect2(
collision_shape.position,
- shape.size.snapped(Game.map.tile_set.tile_size)
+ shape.size
)
diff --git a/Tower.tscn b/Tower.tscn
index 310e438..d33df5a 100644
--- a/Tower.tscn
+++ b/Tower.tscn
@@ -4,7 +4,7 @@
[ext_resource type="Texture2D" uid="uid://b1b18rd0tqbar" path="res://core_outdoor.png" id="1_mrep8"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_atm5x"]
-size = Vector2(15, 15)
+size = Vector2(31, 31)
[sub_resource type="CircleShape2D" id="CircleShape2D_qa8kt"]
@@ -17,19 +17,22 @@ script = ExtResource("1_axo1d")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
-position = Vector2(0, -8)
-scale = Vector2(0.625, 0.625)
+position = Vector2(0, -19)
+scale = Vector2(1.0625, 1.0625)
texture = ExtResource("1_mrep8")
+centered = false
region_enabled = true
region_rect = Rect2(400, 432, 32, 48)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2(16, 16)
shape = SubResource("RectangleShape2D_atm5x")
[node name="Range" type="Area2D" parent="."]
collision_layer = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Range"]
+position = Vector2(16, 16)
shape = SubResource("CircleShape2D_qa8kt")
[node name="ShootCooldown" type="Timer" parent="."]
diff --git a/area_2d.gd b/area_2d.gd
new file mode 100644
index 0000000..b9ed0d4
--- /dev/null
+++ b/area_2d.gd
@@ -0,0 +1,53 @@
+extends Area2D
+
+var overlapping_nodes: Dictionary = {}
+
+func _ready():
+ connect("body_shape_entered", Callable(self, "_on_body_shape_entered"))
+ connect("body_shape_exited", Callable(self, "_on_body_shape_exited"))
+
+
+func get_overlapping_nodes():
+ for key in overlapping_nodes:
+ var body = overlapping_nodes[key].body
+ var body_shape: int = overlapping_nodes[key].body_shape
+ var area_shape: int = overlapping_nodes[key].area_shape
+
+ var body_shape2d: Shape2D = body.shape_owner_get_shape(body_shape, 0)
+ var area_shape2d: Shape2D = shape_owner_get_shape(area_shape, 0)
+
+ var body_shape2d_transform = body.shape_owner_get_owner(body_shape).get_global_transform()
+ var area_shape2d_transform = shape_owner_get_owner(area_shape).get_global_transform()
+
+ var collision_points = area_shape2d.collide_and_get_contacts(area_shape2d_transform, body_shape2d, body_shape2d_transform)
+ overlapping_nodes[key].collision_points = collision_points
+
+ if collision_points.size() == 2:
+ overlapping_nodes[key].collision_points.append(
+ overlapping_nodes[key].collision_points[0] + Vector2(0, 16)
+ )
+ overlapping_nodes[key].collision_points.append(
+ overlapping_nodes[key].collision_points[1] + Vector2(0, 16)
+ )
+
+
+ return overlapping_nodes
+
+
+func _on_body_shape_entered(id, body, body_shape, area_shape):
+ if body != null:
+ #print("Id: ", id, " [", body, ", ", body_shape, ", ", area_shape, "] has entered. ")
+ var key := str(id) + ":" + str(body_shape)
+ overlapping_nodes[key] = {
+ "body": body,
+ "body_shape": body_shape,
+ "area_shape": area_shape,
+ "collision_points": [],
+ }
+
+
+func _on_body_shape_exited(id, body, body_shape, area_shape):
+ if body != null:
+ #print("Id: ", id, " [", body, ", ", body_shape, ", ", area_shape, "] has exited. ")
+ var key := str(id) + ":" + str(body_shape)
+ overlapping_nodes.erase(key)
diff --git a/collision_visibility_area.gd b/collision_visibility_area.gd
new file mode 100644
index 0000000..da4683c
--- /dev/null
+++ b/collision_visibility_area.gd
@@ -0,0 +1,40 @@
+extends Area2D
+
+
+@onready var collision_shape = get_child(0) as CollisionShape2D
+
+var colliding_nodes = []
+
+@export var not_colliding_color: Color
+@export var colliding_color: Color
+
+
+func _draw():
+ var shape = collision_shape.shape as RectangleShape2D
+ draw_rect(
+ Rect2(
+ Vector2.ZERO,
+ shape.size.snapped(Game.map.tile_set.tile_size)
+ ),
+ colliding_color if colliding_nodes else not_colliding_color
+ )
+
+
+func _on_area_entered(area: Area2D) -> void:
+ colliding_nodes.append(area)
+ queue_redraw()
+
+
+func _on_area_exited(area: Area2D) -> void:
+ colliding_nodes.remove_at(colliding_nodes.find(area))
+ queue_redraw()
+
+
+func _on_body_entered(body: Node2D) -> void:
+ colliding_nodes.append(body)
+ queue_redraw()
+
+
+func _on_body_exited(body: Node2D) -> void:
+ colliding_nodes.remove_at(colliding_nodes.find(body))
+ queue_redraw()
diff --git a/hp_bar.gd b/hp_bar.gd
index e8c304f..9df85e8 100644
--- a/hp_bar.gd
+++ b/hp_bar.gd
@@ -18,6 +18,11 @@ func init(health):
func set_value(value):
value_difference = $HealthBar.value - value
$HealthBar.value = value
+
+ if $HealthBar.max_value == $HealthBar.value:
+ visible = false
+ else:
+ visible = true
func _on_health_bar_value_changed(value: float) -> void:
diff --git a/project.godot b/project.godot
index b3e68ab..31fad73 100644
--- a/project.godot
+++ b/project.godot
@@ -21,10 +21,15 @@ Game="*res://Game.gd"
[display]
-window/size/viewport_height=640
+window/size/viewport_width=1280
+window/size/viewport_height=720
window/stretch/mode="viewport"
window/stretch/aspect="expand"
+[global_group]
+
+spawn=""
+
[input]
camera_zoom_out={
@@ -62,6 +67,16 @@ select={
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(101, 19),"global_position":Vector2(110, 65),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
]
}
+build_mode_start={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null)
+]
+}
+spawn_box_toggle={
+"deadzone": 0.5,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"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":114,"location":0,"echo":false,"script":null)
+]
+}
[layer_names]
diff --git a/spawn_button.gd b/spawn_button.gd
new file mode 100644
index 0000000..c9872e0
--- /dev/null
+++ b/spawn_button.gd
@@ -0,0 +1,16 @@
+extends TextureButton
+
+
+@export var texture: Texture2D
+
+
+func _on_pressed() -> void:
+ var mob = preload("res://Mob.tscn").instantiate() as Mob
+ var spawn = get_tree().get_first_node_in_group("spawn") as Spawn
+ var spawn_mob = Game.spawn_mob(mob, spawn)
+
+ if texture:
+ spawn_mob.get_node("Sprite2D").texture = texture
+ spawn_mob.get_node("Sprite2D").scale = Vector2(32,32) / texture.get_size()
+
+ get_tree().current_scene.add_child(spawn_mob)
diff --git a/world.gd b/world.gd
index fa2b6dd..6817412 100644
--- a/world.gd
+++ b/world.gd
@@ -14,11 +14,11 @@ func _ready():
]
)
- while true:
- var scene = preload("res://Mob.tscn")
- var mob = scene.instantiate()
- add_child(Game.spawn_mob(mob, $Spawn))
- await get_tree().create_timer(randi_range(1, 2)).timeout
+ #while true:
+ #var scene = preload("res://Mob.tscn")
+ #var mob = scene.instantiate()
+ #add_child(Game.spawn_mob(mob, $Spawn))
+ #await get_tree().create_timer(randi_range(1, 2)).timeout
#await get_tree().create_timer(0.01).timeout
#break
@@ -27,7 +27,7 @@ func _draw():
if Game.debug:
var area = Game.path_grid.region
var cell_size = Game.path_grid.cell_size
- var offset = Game.path_grid.offset
+ var offset = Game.path_grid.offset + (Game.path_grid.cell_size / 2)
for row in range(0, area.size.y + 1):
draw_line(
Vector2(offset.x, offset.y + row * cell_size.y),
@@ -58,12 +58,18 @@ func _draw():
func _input(event: InputEvent):
if event.is_action_pressed("ui_accept"):
- for _i in range(0, 2):
+ for _i in range(0, 1):
var scene = preload("res://Mob.tscn")
var mob = scene.instantiate()
add_child(Game.spawn_mob(mob, $Spawn))
+ if event.is_action_pressed("spawn_box_toggle"):
+ %SpawnBox.visible = not %SpawnBox.visible
+
if Game.mode == Game.Mode.DEFAULT:
+ if event.is_action_pressed("build_mode_start"):
+ Game.start_build_mode()
+
if event.is_action_pressed("builder_tower_select"):
if Tower.selected_tower:
Tower.selected_tower.is_selected = false
@@ -71,13 +77,13 @@ func _input(event: InputEvent):
if Mob.selected_unit:
Mob.selected_unit.is_selected = false
- if Game.mode == Game.Mode.BUILD:
+ elif Game.mode == Game.Mode.BUILD:
if event.is_action_pressed("builder_tower_select"):
get_viewport().set_input_as_handled()
- if current_builder_element.can_build():
- var placed_tower = current_builder_element.element.duplicate() as Tower
- Game.place_tower(placed_tower, get_global_mouse_position().snapped(Game.map.tile_set.tile_size))
+ if Game.current_builder_element.can_build():
+ var placed_tower = Game.current_builder_element.element.duplicate() as Tower
+ Game.place_tower(placed_tower, Game.current_builder_element.global_position)
placed_tower.selected.connect(func():
%Tower.text = "Range: %s - Power: %s - Speed: %s" % [
@@ -86,24 +92,19 @@ func _input(event: InputEvent):
)
if not Input.is_action_pressed("builder_tower_place_keep"):
- current_builder_element.queue_free()
- Game.mode = Game.Mode.DEFAULT
+ Game.stop_build_mode()
- if event.is_action_pressed("builder_cancel"):
+ if event.is_action_pressed("builder_cancel") or event.is_action_pressed("build_mode_start"):
get_viewport().set_input_as_handled()
-
- current_builder_element.queue_free()
- Game.mode = Game.Mode.DEFAULT
+ Game.stop_build_mode()
-func _on_texture_rect_gui_input(event: InputEvent):
+func _on_build_mode_button_gui_input(event: InputEvent) -> void:
if event.is_action_pressed("builder_tower_select"):
Game.mode = Game.Mode.BUILD
-
- var scene = preload("res://BuilderElement.tscn")
- var builder_element = scene.instantiate()
- var tower = preload("res://Tower.tscn").instantiate() as Tower
- tower.attack_range = [16, 32, 64].pick_random()
- builder_element.element = tower
- add_child(builder_element)
- current_builder_element = builder_element
+ Game.start_build_mode()
+
+
+func _on_spawner_box_button_gui_input(event: InputEvent) -> void:
+ if event.is_action_pressed("select"):
+ %SpawnBox.visible = not %SpawnBox.visible
diff --git a/world.tscn b/world.tscn
index ad92062..8066b9e 100644
--- a/world.tscn
+++ b/world.tscn
@@ -1,14 +1,30 @@
-[gd_scene load_steps=13 format=4 uid="uid://bl65jllb3e2py"]
+[gd_scene load_steps=27 format=4 uid="uid://bl65jllb3e2py"]
[ext_resource type="Texture2D" uid="uid://b1b18rd0tqbar" path="res://core_outdoor.png" id="1_luil3"]
[ext_resource type="Script" path="res://world.gd" id="1_o88ua"]
+[ext_resource type="Texture2D" uid="uid://c7ntdvxvv16io" path="res://Assets/UI/key_e.png" id="2_ytgig"]
+[ext_resource type="Texture2D" uid="uid://hljlcokgys6y" path="res://Assets/UI/key_r.png" id="3_5qbjb"]
[ext_resource type="PackedScene" uid="uid://of5ggu6lifwy" path="res://Spawn.tscn" id="3_f2sda"]
+[ext_resource type="Texture2D" uid="uid://dr02nqmrnciy0" path="res://Assets/Mobs/mob.png" id="4_e5a4b"]
+[ext_resource type="PackedScene" uid="uid://x6kohecnw7f5" path="res://SpawnButton.tscn" id="4_fh2by"]
[ext_resource type="Script" path="res://BuildGrid.gd" id="5_28i18"]
[ext_resource type="PackedScene" uid="uid://2lt8m7df0e2u" path="res://Goal.tscn" id="5_dp16q"]
+[ext_resource type="Texture2D" uid="uid://up1rtweit3ut" path="res://Assets/Mobs/angesnow-menu01.png" id="5_undrn"]
+[ext_resource type="Texture2D" uid="uid://dq2i36oe1wj0m" path="res://Assets/Mobs/mob-pressed.png" id="6_1buj5"]
[ext_resource type="PackedScene" uid="uid://d0ukgoppkh1fn" path="res://PathNode.tscn" id="6_lh0f6"]
[ext_resource type="PackedScene" uid="uid://t8feyd2giabm" path="res://Camera.tscn" id="6_yijl8"]
[ext_resource type="PackedScene" uid="uid://by1x56w21o165" path="res://Tower.tscn" id="7_5o3d3"]
-[ext_resource type="Texture2D" uid="uid://yvdccnxqt51o" path="res://icon.svg" id="8_6vxea"]
+[ext_resource type="Texture2D" uid="uid://dnkr5y0cfxu68" path="res://Assets/Mobs/mob-hovered.png" id="7_a8tr5"]
+[ext_resource type="Texture2D" uid="uid://dsy7k2v5fhh6v" path="res://Assets/Mobs/angesnow-front.png" id="8_ocqiy"]
+[ext_resource type="Texture2D" uid="uid://dsui46tcf0pys" path="res://Assets/Mobs/banling-menu01.png" id="9_q6xah"]
+[ext_resource type="Texture2D" uid="uid://d3modiw2b30kh" path="res://Assets/Mobs/banling-front.png" id="10_vm7kp"]
+[ext_resource type="Texture2D" uid="uid://75o7x0jadi08" path="res://Assets/Mobs/firomenis-menu01.png" id="11_ndl2o"]
+[ext_resource type="Texture2D" uid="uid://bxr5ckrvhyp1t" path="res://Assets/Mobs/firomenis-front.png" id="12_3th5s"]
+[ext_resource type="Texture2D" uid="uid://byrx3c087exvb" path="res://Assets/Mobs/windeye-menu01.png" id="13_q4gbd"]
+[ext_resource type="Texture2D" uid="uid://coiiq1yaonxeg" path="res://Assets/Mobs/windeye-front.png" id="14_46ihl"]
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rlr65"]
+bg_color = Color(0, 0, 0, 0.54902)
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_vqyn1"]
texture = ExtResource("1_luil3")
@@ -1942,13 +1958,79 @@ script = ExtResource("1_o88ua")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
-[node name="GridContainer" type="GridContainer" parent="CanvasLayer"]
-offset_right = 40.0
-offset_bottom = 40.0
+[node name="Panel" type="PanelContainer" parent="CanvasLayer"]
+anchors_preset = 10
+anchor_right = 1.0
+offset_bottom = 29.0
+grow_horizontal = 2
+theme_override_styles/panel = SubResource("StyleBoxFlat_rlr65")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/Panel"]
+layout_mode = 2
+
+[node name="Container" type="HBoxContainer" parent="CanvasLayer/Panel/VBoxContainer"]
+layout_mode = 2
+
+[node name="GridContainer" type="GridContainer" parent="CanvasLayer/Panel/VBoxContainer/Container"]
+layout_mode = 2
+columns = 2
+
+[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer/Panel/VBoxContainer/Container/GridContainer"]
+layout_mode = 2
+theme_override_constants/margin_left = 4
+theme_override_constants/margin_top = 4
+theme_override_constants/margin_right = 4
+theme_override_constants/margin_bottom = 4
+
+[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/Panel/VBoxContainer/Container/GridContainer/MarginContainer"]
+layout_mode = 2
+
+[node name="BuildModeButton" type="TextureRect" parent="CanvasLayer/Panel/VBoxContainer/Container/GridContainer/MarginContainer/HBoxContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+texture = ExtResource("2_ytgig")
+expand_mode = 1
+
+[node name="Label" type="Label" parent="CanvasLayer/Panel/VBoxContainer/Container/GridContainer/MarginContainer/HBoxContainer"]
+layout_mode = 2
+text = "Build Mode"
-[node name="TextureRect" type="TextureRect" parent="CanvasLayer/GridContainer"]
+[node name="MarginContainer2" type="MarginContainer" parent="CanvasLayer/Panel/VBoxContainer/Container/GridContainer"]
+layout_mode = 2
+theme_override_constants/margin_left = 4
+theme_override_constants/margin_top = 4
+theme_override_constants/margin_right = 4
+theme_override_constants/margin_bottom = 4
+
+[node name="HBoxContainer2" type="HBoxContainer" parent="CanvasLayer/Panel/VBoxContainer/Container/GridContainer/MarginContainer2"]
+layout_mode = 2
+
+[node name="SpawnerBoxButton" type="TextureRect" parent="CanvasLayer/Panel/VBoxContainer/Container/GridContainer/MarginContainer2/HBoxContainer2"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+texture = ExtResource("3_5qbjb")
+expand_mode = 1
+
+[node name="Label" type="Label" parent="CanvasLayer/Panel/VBoxContainer/Container/GridContainer/MarginContainer2/HBoxContainer2"]
+layout_mode = 2
+text = "Spawn Box"
+
+[node name="Control" type="Control" parent="CanvasLayer/Panel/VBoxContainer/Container"]
+layout_mode = 2
+size_flags_horizontal = 3
+
+[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer/Panel/VBoxContainer/Container"]
+layout_mode = 2
+theme_override_constants/margin_right = 8
+
+[node name="Score" type="Label" parent="CanvasLayer/Panel/VBoxContainer/Container/MarginContainer"]
+unique_name_in_owner = true
+layout_mode = 2
+text = "0"
+
+[node name="ColorRect" type="ColorRect" parent="CanvasLayer/Panel/VBoxContainer"]
+custom_minimum_size = Vector2(0, 1)
layout_mode = 2
-texture = ExtResource("8_6vxea")
[node name="CenterContainer" type="CenterContainer" parent="CanvasLayer"]
anchors_preset = 12
@@ -1962,54 +2044,168 @@ grow_vertical = 0
unique_name_in_owner = true
layout_mode = 2
-[node name="Score" type="Label" parent="CanvasLayer"]
+[node name="SpawnBox" type="PanelContainer" parent="CanvasLayer"]
unique_name_in_owner = true
-anchors_preset = 1
+anchors_preset = 3
anchor_left = 1.0
+anchor_top = 1.0
anchor_right = 1.0
+anchor_bottom = 1.0
offset_left = -40.0
-offset_bottom = 23.0
+offset_top = -40.0
grow_horizontal = 0
+grow_vertical = 0
+
+[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer/SpawnBox"]
+layout_mode = 2
+theme_override_constants/margin_left = 8
+theme_override_constants/margin_top = 8
+theme_override_constants/margin_right = 8
+theme_override_constants/margin_bottom = 8
+
+[node name="GridContainer" type="GridContainer" parent="CanvasLayer/SpawnBox/MarginContainer"]
+layout_mode = 2
+theme_override_constants/h_separation = 12
+theme_override_constants/v_separation = 12
+columns = 4
+
+[node name="SpawnButton" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("5_undrn")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+texture = ExtResource("8_ocqiy")
+
+[node name="SpawnButton2" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("9_q6xah")
+texture_hover = ExtResource("7_a8tr5")
+texture = ExtResource("10_vm7kp")
+
+[node name="SpawnButton3" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("11_ndl2o")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+texture = ExtResource("12_3th5s")
+
+[node name="SpawnButton4" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("13_q4gbd")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+texture = ExtResource("14_46ihl")
+
+[node name="SpawnButton5" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton6" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton7" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton8" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton9" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton10" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton11" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton12" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton13" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton14" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton15" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
+
+[node name="SpawnButton16" parent="CanvasLayer/SpawnBox/MarginContainer/GridContainer" instance=ExtResource("4_fh2by")]
+layout_mode = 2
+texture_normal = ExtResource("4_e5a4b")
+texture_pressed = ExtResource("6_1buj5")
+texture_hover = ExtResource("7_a8tr5")
[node name="Layer0" type="TileMapLayer" parent="."]
texture_filter = 1
use_parent_material = true
-position = Vector2(8, 8)
tile_map_data = PackedByteArray("AAAAAAAAAAABAAMAAAAAAAEAAAABAAMAAAAAAAIAAAABAAMAAAAAAAMAAAABAAMAAAAAAAQAAAABAAMAAAAAAAUAAAABAAMAAAAAAAYAAAABAAMAAAAAAAcAAAABAAMAAAAAAAgAAAABAAMAAAAAAAkAAAABAAMAAAAAAAoAAAABAAMAAAAAAAsAAAABAAMAAAAAAAwAAAABAAMAAAAAAA0AAAABAAMAAAAAAA4AAAABAAMAAAAAAA8AAAABAAMAAAAAABAAAAABAAMAAAAAABEAAAABAAMAAAAAABIAAAABAAMAAAAAABMAAAABAAMAAAAAABQAAAABAAMAAAAAABUAAAABAAMAAAAAABYAAAABAAMAAAAAABcAAAABAAMAAAAAABgAAAABAAMAAAAAABkAAAABAAMAAAAAABoAAAABAAMAAAAAABsAAAABAAMAAAAAABwAAAABAAMAAAAAAB0AAAABAAMAAAAAAB4AAAABAAMAAAAAAB8AAAABAAMAAAAAACAAAAABAAMAAAAAACEAAAABAAMAAAAAACIAAAABAAMAAAAAACMAAAABAAMAAAAAACQAAAABAAMAAAAAACUAAAABAAMAAAAAACYAAAABAAMAAAAAACcAAAABAAMAAAAAACgAAAABAAMAAAAAACkAAAABAAMAAAAAACoAAAABAAMAAAAAACsAAAABAAMAAAAAACwAAAABAAMAAAAAAC0AAAABAAMAAAAAAC4AAAABAAMAAAAAAC8AAAABAAMAAAAAADAAAAABAAMAAAAAADEAAAABAAMAAAAAADIAAAABAAMAAAAAADMAAAABAAMAAAAAADQAAAABAAMAAAAAADUAAAABAAMAAAABAAAAAAABAAMAAAABAAEAAAABAAMAAAABAAIAAAABAAMAAAABAAMAAAABAAMAAAABAAQAAAABAAMAAAABAAUAAAABAAMAAAABAAYAAAABAAMAAAABAAcAAAABAAMAAAABAAgAAAABAAMAAAABAAkAAAABAAMAAAABAAoAAAABAAMAAAABAAsAAAABAAMAAAABAAwAAAABAAMAAAABAA0AAAABAAMAAAABAA4AAAABAAMAAAABAA8AAAABAAMAAAABABAAAAABAAMAAAABABEAAAABAAMAAAABABIAAAABAAMAAAABABMAAAABAAMAAAABABQAAAABAAMAAAABABUAAAABAAMAAAABABYAAAABAAMAAAABABcAAAABAAMAAAABABgAAAABAAMAAAABABkAAAABAAMAAAABABoAAAABAAMAAAABABsAAAABAAMAAAABABwAAAABAAMAAAABAB0AAAABAAMAAAABAB4AAAABAAMAAAABAB8AAAABAAMAAAABACAAAAABAAMAAAABACEAAAABAAMAAAABACIAAAABAAMAAAABACMAAAABAAMAAAABACQAAAABAAMAAAABACUAAAABAAMAAAABACYAAAABAAMAAAABACcAAAABAAMAAAABACgAAAABAAMAAAABACkAAAABAAMAAAABACoAAAABAAMAAAABACsAAAABAAMAAAABACwAAAABAAMAAAABAC0AAAABAAMAAAABAC4AAAABAAMAAAABAC8AAAABAAMAAAABADAAAAABAAMAAAABADEAAAABAAMAAAABADIAAAABAAMAAAABADMAAAABAAMAAAABADQAAAABAAMAAAABADUAAAABAAMAAAACAAAAAAABAAMAAAACAAEAAAABAAMAAAACAAIAAAABAAMAAAACAAMAAAABAAMAAAACAAQAAAABAAMAAAACAAUAAAABAAMAAAACAAYAAAABAAMAAAACAAcAAAABAAMAAAACAAgAAAABAAMAAAACAAkAAAABAAMAAAACAAoAAAABAAMAAAACAAsAAAABAAMAAAACAAwAAAABAAMAAAACAA0AAAABAAMAAAACAA4AAAABAAMAAAACAA8AAAABAAMAAAACABAAAAABAAMAAAACABEAAAABAAMAAAACABIAAAABAAMAAAACABMAAAABAAMAAAACABQAAAABAAMAAAACABUAAAABAAMAAAACABYAAAABAAMAAAACABcAAAABAAMAAAACABgAAAABAAMAAAACABkAAAABAAMAAAACABoAAAABAAMAAAACABsAAAABAAMAAAACABwAAAABAAMAAAACAB0AAAABAAMAAAACAB4AAAABAAMAAAACAB8AAAABAAMAAAACACAAAAABAAMAAAACACEAAAABAAMAAAACACIAAAABAAMAAAACACMAAAABAAMAAAACACQAAAABAAMAAAACACUAAAABAAMAAAACACYAAAABAAMAAAACACcAAAABAAMAAAACACgAAAABAAMAAAACACkAAAABAAMAAAACACoAAAABAAMAAAACACsAAAABAAMAAAACACwAAAABAAMAAAACAC0AAAABAAMAAAACAC4AAAABAAMAAAACAC8AAAABAAMAAAACADAAAAABAAMAAAACADEAAAABAAMAAAACADIAAAABAAMAAAACADMAAAABAAMAAAACADQAAAABAAMAAAACADUAAAABAAMAAAADAAAAAAABAAMAAAADAAEAAAABAAMAAAADAAIAAAABAAMAAAADAAMAAAABAAMAAAADAAQAAAABAAMAAAADAAUAAAABAAMAAAADAAYAAAABAAMAAAADAAcAAAABAAMAAAADAAgAAAABAAMAAAADAAkAAAABAAMAAAADAAoAAAABAAMAAAADAAsAAAABAAMAAAADAAwAAAABAAMAAAADAA0AAAABAAMAAAADAA4AAAABAAMAAAADAA8AAAABAAMAAAADABAAAAABAAMAAAADABEAAAABAAMAAAADABIAAAABAAMAAAADABMAAAABAAMAAAADABQAAAABAAMAAAADABUAAAABAAMAAAADABYAAAABAAMAAAADABcAAAABAAMAAAADABgAAAABAAMAAAADABkAAAABAAMAAAADABoAAAABAAMAAAADABsAAAABAAMAAAADABwAAAABAAMAAAADAB0AAAABAAMAAAADAB4AAAABAAMAAAADAB8AAAABAAMAAAADACAAAAABAAMAAAADACEAAAABAAMAAAADACIAAAABAAMAAAADACMAAAABAAMAAAADACQAAAABAAMAAAADACUAAAABAAMAAAADACYAAAABAAMAAAADACcAAAABAAMAAAADACgAAAABAAMAAAADACkAAAABAAMAAAADACoAAAABAAMAAAADACsAAAABAAMAAAADACwAAAABAAMAAAADAC0AAAABAAMAAAADAC4AAAABAAMAAAADAC8AAAABAAMAAAADADAAAAABAAMAAAADADEAAAABAAMAAAADADIAAAABAAMAAAADADMAAAABAAMAAAADADQAAAABAAMAAAADADUAAAABAAMAAAAEAAAAAAABAAMAAAAEAAEAAAABAAMAAAAEAAIAAAABAAMAAAAEAAMAAAABAAMAAAAEAAQAAAABAAMAAAAEAAUAAAABAAMAAAAEAAYAAAABAAMAAAAEAAcAAAABAAMAAAAEAAgAAAABAAMAAAAEAAkAAAABAAMAAAAEAAoAAAABAAMAAAAEAAsAAAABAAMAAAAEAAwAAAABAAMAAAAEAA0AAAABAAMAAAAEAA4AAAABAAMAAAAEAA8AAAABAAMAAAAEABAAAAABAAMAAAAEABEAAAABAAMAAAAEABIAAAABAAMAAAAEABMAAAABAAMAAAAEABQAAAABAAMAAAAEABUAAAABAAMAAAAEABYAAAABAAMAAAAEABcAAAABAAMAAAAEABgAAAABAAMAAAAEABkAAAABAAMAAAAEABoAAAABAAMAAAAEABsAAAABAAMAAAAEABwAAAABAAMAAAAEAB0AAAABAAMAAAAEAB4AAAABAAMAAAAEAB8AAAABAAMAAAAEACAAAAABAAMAAAAEACEAAAABAAMAAAAEACIAAAABAAMAAAAEACMAAAABAAMAAAAEACQAAAABAAMAAAAEACUAAAABAAMAAAAEACYAAAABAAMAAAAEACcAAAABAAMAAAAEACgAAAABAAMAAAAEACkAAAABAAMAAAAEACoAAAABAAMAAAAEACsAAAABAAMAAAAEACwAAAABAAMAAAAEAC0AAAABAAMAAAAEAC4AAAABAAMAAAAEAC8AAAABAAMAAAAEADAAAAABAAMAAAAEADEAAAABAAMAAAAEADIAAAABAAMAAAAEADMAAAABAAMAAAAEADQAAAABAAMAAAAEADUAAAABAAMAAAAFAAAAAAABAAMAAAAFAAEAAAABAAMAAAAFAAIAAAABAAMAAAAFAAMAAAABAAMAAAAFAAQAAAABAAMAAAAFAAUAAAABAAMAAAAFAAYAAAABAAMAAAAFAAcAAAABAAMAAAAFAAgAAAABAAMAAAAFAAkAAAABAAMAAAAFAAoAAAABAAMAAAAFAAsAAAABAAMAAAAFAAwAAAABAAMAAAAFAA0AAAABAAMAAAAFAA4AAAABAAMAAAAFAA8AAAABAAMAAAAFABAAAAABAAMAAAAFABEAAAABAAMAAAAFABIAAAABAAMAAAAFABMAAAABAAMAAAAFABQAAAABAAMAAAAFABUAAAABAAMAAAAFABYAAAABAAMAAAAFABcAAAABAAMAAAAFABgAAAABAAMAAAAFABkAAAABAAMAAAAFABoAAAABAAMAAAAFABsAAAABAAMAAAAFABwAAAABAAMAAAAFAB0AAAABAAMAAAAFAB4AAAABAAMAAAAFAB8AAAABAAMAAAAFACAAAAABAAMAAAAFACEAAAABAAMAAAAFACIAAAABAAMAAAAFACMAAAABAAMAAAAFACQAAAABAAMAAAAFACUAAAABAAMAAAAFACYAAAABAAMAAAAFACcAAAABAAMAAAAFACgAAAABAAMAAAAFACkAAAABAAMAAAAFACoAAAABAAMAAAAFACsAAAABAAMAAAAFACwAAAABAAMAAAAFAC0AAAABAAMAAAAFAC4AAAABAAMAAAAFAC8AAAABAAMAAAAFADAAAAABAAMAAAAFADEAAAABAAMAAAAFADIAAAABAAMAAAAFADMAAAABAAMAAAAFADQAAAABAAMAAAAFADUAAAABAAMAAAAGAAAAAAABAAMAAAAGAAEAAAABAAMAAAAGAAIAAAABAAMAAAAGAAMAAAABAAMAAAAGAAQAAAABAAMAAAAGAAUAAAABAAMAAAAGAAYAAAABAAMAAAAGAAcAAAABAAMAAAAGAAgAAAABAAMAAAAGAAkAAAABAAMAAAAGAAoAAAABAAMAAAAGAAsAAAABAAMAAAAGAAwAAAABAAMAAAAGAA0AAAABAAMAAAAGAA4AAAABAAMAAAAGAA8AAAABAAMAAAAGABAAAAABAAMAAAAGABEAAAABAAMAAAAGABIAAAABAAMAAAAGABMAAAABAAMAAAAGABQAAAABAAMAAAAGABUAAAABAAMAAAAGABYAAAABAAMAAAAGABcAAAABAAMAAAAGABgAAAABAAMAAAAGABkAAAABAAMAAAAGABoAAAABAAMAAAAGABsAAAABAAMAAAAGABwAAAABAAMAAAAGAB0AAAABAAMAAAAGAB4AAAABAAMAAAAGAB8AAAABAAMAAAAGACAAAAABAAMAAAAGACEAAAABAAMAAAAGACIAAAABAAMAAAAGACMAAAABAAMAAAAGACQAAAABAAMAAAAGACUAAAABAAMAAAAGACYAAAABAAMAAAAGACcAAAABAAMAAAAGACgAAAABAAMAAAAGACkAAAABAAMAAAAGACoAAAABAAMAAAAGACsAAAABAAMAAAAGACwAAAABAAMAAAAGAC0AAAABAAMAAAAGAC4AAAABAAMAAAAGAC8AAAABAAMAAAAGADAAAAABAAMAAAAGADEAAAABAAMAAAAGADIAAAABAAMAAAAGADMAAAABAAMAAAAGADQAAAABAAMAAAAGADUAAAABAAMAAAAHAAAAAAABAAMAAAAHAAEAAAABAAMAAAAHAAIAAAABAAMAAAAHAAMAAAABAAMAAAAHAAQAAAABAAMAAAAHAAUAAAABAAMAAAAHAAYAAAABAAMAAAAHAAcAAAABAAMAAAAHAAgAAAABAAMAAAAHAAkAAAABAAMAAAAHAAoAAAABAAMAAAAHAAsAAAABAAMAAAAHAAwAAAABAAMAAAAHAA0AAAABAAMAAAAHAA4AAAABAAMAAAAHAA8AAAABAAMAAAAHABAAAAABAAMAAAAHABEAAAABAAMAAAAHABIAAAABAAMAAAAHABMAAAABAAMAAAAHABQAAAABAAMAAAAHABUAAAABAAMAAAAHABYAAAABAAMAAAAHABcAAAABAAMAAAAHABgAAAABAAMAAAAHABkAAAABAAMAAAAHABoAAAABAAMAAAAHABsAAAABAAMAAAAHABwAAAABAAMAAAAHAB0AAAABAAMAAAAHAB4AAAABAAMAAAAHAB8AAAABAAMAAAAHACAAAAABAAMAAAAHACEAAAABAAMAAAAHACIAAAABAAMAAAAHACMAAAABAAMAAAAHACQAAAABAAMAAAAHACUAAAABAAMAAAAHACYAAAABAAMAAAAHACcAAAABAAMAAAAHACgAAAABAAMAAAAHACkAAAABAAMAAAAHACoAAAABAAMAAAAHACsAAAABAAMAAAAHACwAAAABAAMAAAAHAC0AAAABAAMAAAAHAC4AAAABAAMAAAAHAC8AAAABAAMAAAAHADAAAAABAAMAAAAHADEAAAABAAMAAAAHADIAAAABAAMAAAAHADMAAAABAAMAAAAHADQAAAABAAMAAAAHADUAAAABAAMAAAAIAAAAAAABAAMAAAAIAAEAAAABAAMAAAAIAAIAAAABAAMAAAAIAAMAAAABAAMAAAAIAAQAAAABAAMAAAAIAAUAAAABAAMAAAAIAAYAAAABAAMAAAAIAAcAAAABAAMAAAAIAAgAAAABAAMAAAAIAAkAAAABAAMAAAAIAAoAAAABAAMAAAAIAAsAAAABAAMAAAAIAAwAAAABAAMAAAAIAA0AAAABAAMAAAAIAA4AAAABAAMAAAAIAA8AAAABAAMAAAAIABAAAAABAAMAAAAIABEAAAABAAMAAAAIABIAAAABAAMAAAAIABMAAAABAAMAAAAIABQAAAABAAMAAAAIABUAAAABAAMAAAAIABYAAAABAAMAAAAIABcAAAABAAMAAAAIABgAAAABAAMAAAAIABkAAAABAAMAAAAIABoAAAABAAMAAAAIABsAAAABAAMAAAAIABwAAAABAAMAAAAIAB0AAAABAAMAAAAIAB4AAAABAAMAAAAIAB8AAAABAAMAAAAIACAAAAABAAMAAAAIACEAAAABAAMAAAAIACIAAAABAAMAAAAIACMAAAABAAMAAAAIACQAAAABAAMAAAAIACUAAAABAAMAAAAIACYAAAABAAMAAAAIACcAAAABAAMAAAAIACgAAAABAAMAAAAIACkAAAABAAMAAAAIACoAAAABAAMAAAAIACsAAAABAAMAAAAIACwAAAABAAMAAAAIAC0AAAABAAMAAAAIAC4AAAABAAMAAAAIAC8AAAABAAMAAAAIADAAAAABAAMAAAAIADEAAAABAAMAAAAIADIAAAABAAMAAAAIADMAAAABAAMAAAAIADQAAAABAAMAAAAIADUAAAABAAMAAAAJAAAAAAABAAMAAAAJAAEAAAABAAMAAAAJAAIAAAABAAMAAAAJAAMAAAABAAMAAAAJAAQAAAABAAMAAAAJAAUAAAABAAMAAAAJAAYAAAABAAMAAAAJAAcAAAABAAMAAAAJAAgAAAABAAMAAAAJAAkAAAABAAMAAAAJAAoAAAABAAMAAAAJAAsAAAABAAMAAAAJAAwAAAABAAMAAAAJAA0AAAABAAMAAAAJAA4AAAABAAMAAAAJAA8AAAABAAMAAAAJABAAAAABAAMAAAAJABEAAAABAAMAAAAJABIAAAABAAMAAAAJABMAAAABAAMAAAAJABQAAAABAAMAAAAJABUAAAABAAMAAAAJABYAAAABAAMAAAAJABcAAAABAAMAAAAJABgAAAABAAMAAAAJABkAAAABAAMAAAAJABoAAAABAAMAAAAJABsAAAABAAMAAAAJABwAAAABAAMAAAAJAB0AAAABAAMAAAAJAB4AAAABAAMAAAAJAB8AAAABAAMAAAAJACAAAAABAAMAAAAJACEAAAABAAMAAAAJACIAAAABAAMAAAAJACMAAAABAAMAAAAJACQAAAABAAMAAAAJACUAAAABAAMAAAAJACYAAAABAAMAAAAJACcAAAABAAMAAAAJACgAAAABAAMAAAAJACkAAAABAAMAAAAJACoAAAABAAMAAAAJACsAAAABAAMAAAAJACwAAAABAAMAAAAJAC0AAAABAAMAAAAJAC4AAAABAAMAAAAJAC8AAAABAAMAAAAJADAAAAABAAMAAAAJADEAAAABAAMAAAAJADIAAAABAAMAAAAJADMAAAABAAMAAAAJADQAAAABAAMAAAAJADUAAAABAAMAAAAKAAAAAAABAAMAAAAKAAEAAAABAAMAAAAKAAIAAAABAAMAAAAKAAMAAAABAAMAAAAKAAQAAAABAAMAAAAKAAUAAAABAAMAAAAKAAYAAAABAAMAAAAKAAcAAAABAAMAAAAKAAgAAAABAAMAAAAKAAkAAAABAAMAAAAKAAoAAAABAAMAAAAKAAsAAAABAAMAAAAKAAwAAAABAAMAAAAKAA0AAAABAAMAAAAKAA4AAAABAAMAAAAKAA8AAAABAAMAAAAKABAAAAABAAMAAAAKABEAAAABAAMAAAAKABIAAAABAAMAAAAKABMAAAABAAMAAAAKABQAAAABAAMAAAAKABUAAAABAAMAAAAKABYAAAABAAMAAAAKABcAAAABAAMAAAAKABgAAAABAAMAAAAKABkAAAABAAMAAAAKABoAAAABAAMAAAAKABsAAAABAAMAAAAKABwAAAABAAMAAAAKAB0AAAABAAMAAAAKAB4AAAABAAMAAAAKAB8AAAABAAMAAAAKACAAAAABAAMAAAAKACEAAAABAAMAAAAKACIAAAABAAMAAAAKACMAAAABAAMAAAAKACQAAAABAAMAAAAKACUAAAABAAMAAAAKACYAAAABAAMAAAAKACcAAAABAAMAAAAKACgAAAABAAMAAAAKACkAAAABAAMAAAAKACoAAAABAAMAAAAKACsAAAABAAMAAAAKACwAAAABAAMAAAAKAC0AAAABAAMAAAAKAC4AAAABAAMAAAAKAC8AAAABAAMAAAAKADAAAAABAAMAAAAKADEAAAABAAMAAAAKADIAAAABAAMAAAAKADMAAAABAAMAAAAKADQAAAABAAMAAAAKADUAAAABAAMAAAALAAAAAAABAAMAAAALAAEAAAABAAMAAAALAAIAAAABAAMAAAALAAMAAAABAAMAAAALAAQAAAABAAMAAAALAAUAAAABAAMAAAALAAYAAAABAAMAAAALAAcAAAABAAMAAAALAAgAAAABAAMAAAALAAkAAAABAAMAAAALAAoAAAABAAMAAAALAAsAAAABAAMAAAALAAwAAAABAAMAAAALAA0AAAABAAMAAAALAA4AAAABAAMAAAALAA8AAAABAAMAAAALABAAAAABAAMAAAALABEAAAABAAMAAAALABIAAAABAAMAAAALABMAAAABAAMAAAALABQAAAABAAMAAAALABUAAAABAAMAAAALABYAAAABAAMAAAALABcAAAABAAMAAAALABgAAAABAAMAAAALABkAAAABAAMAAAALABoAAAABAAMAAAALABsAAAABAAMAAAALABwAAAABAAMAAAALAB0AAAABAAMAAAALAB4AAAABAAMAAAALAB8AAAABAAMAAAALACAAAAABAAMAAAALACEAAAABAAMAAAALACIAAAABAAMAAAALACMAAAABAAMAAAALACQAAAABAAMAAAALACUAAAABAAMAAAALACYAAAABAAMAAAALACcAAAABAAMAAAALACgAAAABAAMAAAALACkAAAABAAMAAAALACoAAAABAAMAAAALACsAAAABAAMAAAALACwAAAABAAMAAAALAC0AAAABAAMAAAALAC4AAAABAAMAAAALAC8AAAABAAMAAAALADAAAAABAAMAAAALADEAAAABAAMAAAALADIAAAABAAMAAAALADMAAAABAAMAAAALADQAAAABAAMAAAALADUAAAABAAMAAAAMAAAAAAABAAMAAAAMAAEAAAABAAMAAAAMAAIAAAABAAMAAAAMAAMAAAABAAMAAAAMAAQAAAABAAMAAAAMAAUAAAABAAMAAAAMAAYAAAABAAMAAAAMAAcAAAABAAMAAAAMAAgAAAABAAMAAAAMAAkAAAABAAMAAAAMAAoAAAABAAMAAAAMAAsAAAABAAMAAAAMAAwAAAABAAMAAAAMAA0AAAABAAMAAAAMAA4AAAABAAMAAAAMAA8AAAABAAMAAAAMABAAAAABAAMAAAAMABEAAAABAAMAAAAMABIAAAABAAMAAAAMABMAAAABAAMAAAAMABQAAAABAAMAAAAMABUAAAABAAMAAAAMABYAAAABAAMAAAAMABcAAAABAAMAAAAMABgAAAABAAMAAAAMABkAAAABAAMAAAAMABoAAAABAAMAAAAMABsAAAABAAMAAAAMABwAAAABAAMAAAAMAB0AAAABAAMAAAAMAB4AAAABAAMAAAAMAB8AAAABAAMAAAAMACAAAAABAAMAAAAMACEAAAABAAMAAAAMACIAAAABAAMAAAAMACMAAAABAAMAAAAMACQAAAABAAMAAAAMACUAAAABAAMAAAAMACYAAAABAAMAAAAMACcAAAABAAMAAAAMACgAAAABAAMAAAAMACkAAAABAAMAAAAMACoAAAABAAMAAAAMACsAAAABAAMAAAAMACwAAAABAAMAAAAMAC0AAAABAAMAAAAMAC4AAAABAAMAAAAMAC8AAAABAAMAAAAMADAAAAABAAMAAAAMADEAAAABAAMAAAAMADIAAAABAAMAAAAMADMAAAABAAMAAAAMADQAAAABAAMAAAAMADUAAAABAAMAAAANAAAAAAABAAMAAAANAAEAAAABAAMAAAANAAIAAAABAAMAAAANAAMAAAABAAMAAAANAAQAAAABAAMAAAANAAUAAAABAAMAAAANAAYAAAABAAMAAAANAAcAAAABAAMAAAANAAgAAAABAAMAAAANAAkAAAABAAMAAAANAAoAAAABAAMAAAANAAsAAAABAAMAAAANAAwAAAABAAMAAAANAA0AAAABAAMAAAANAA4AAAABAAMAAAANAA8AAAABAAMAAAANABAAAAABAAMAAAANABEAAAABAAMAAAANABIAAAABAAMAAAANABMAAAABAAMAAAANABQAAAABAAMAAAANABUAAAABAAMAAAANABYAAAABAAMAAAANABcAAAABAAMAAAANABgAAAABAAMAAAANABkAAAABAAMAAAANABoAAAABAAMAAAANABsAAAABAAMAAAANABwAAAABAAMAAAANAB0AAAABAAMAAAANAB4AAAABAAMAAAANAB8AAAABAAMAAAANACAAAAABAAMAAAANACEAAAABAAMAAAANACIAAAABAAMAAAANACMAAAABAAMAAAANACQAAAABAAMAAAANACUAAAABAAMAAAANACYAAAABAAMAAAANACcAAAABAAMAAAANACgAAAABAAMAAAANACkAAAABAAMAAAANACoAAAABAAMAAAANACsAAAABAAMAAAANACwAAAABAAMAAAANAC0AAAABAAMAAAANAC4AAAABAAMAAAANAC8AAAABAAMAAAANADAAAAABAAMAAAANADEAAAABAAMAAAANADIAAAABAAMAAAANADMAAAABAAMAAAANADQAAAABAAMAAAANADUAAAABAAMAAAAOAAAAAAABAAMAAAAOAAEAAAABAAMAAAAOAAIAAAABAAMAAAAOAAMAAAABAAMAAAAOAAQAAAABAAMAAAAOAAUAAAABAAMAAAAOAAYAAAABAAMAAAAOAAcAAAABAAMAAAAOAAgAAAABAAMAAAAOAAkAAAABAAMAAAAOAAoAAAABAAMAAAAOAAsAAAABAAMAAAAOAAwAAAABAAMAAAAOAA0AAAABAAMAAAAOAA4AAAABAAMAAAAOAA8AAAABAAMAAAAOABAAAAABAAMAAAAOABEAAAABAAMAAAAOABIAAAABAAMAAAAOABMAAAABAAMAAAAOABQAAAABAAMAAAAOABUAAAABAAMAAAAOABYAAAABAAMAAAAOABcAAAABAAMAAAAOABgAAAABAAMAAAAOABkAAAABAAMAAAAOABoAAAABAAMAAAAOABsAAAABAAMAAAAOABwAAAABAAMAAAAOAB0AAAABAAMAAAAOAB4AAAABAAMAAAAOAB8AAAABAAMAAAAOACAAAAABAAMAAAAOACEAAAABAAMAAAAOACIAAAABAAMAAAAOACMAAAABAAMAAAAOACQAAAABAAMAAAAOACUAAAABAAMAAAAOACYAAAABAAMAAAAOACcAAAABAAMAAAAOACgAAAABAAMAAAAOACkAAAABAAMAAAAOACoAAAABAAMAAAAOACsAAAABAAMAAAAOACwAAAABAAMAAAAOAC0AAAABAAMAAAAOAC4AAAABAAMAAAAOAC8AAAABAAMAAAAOADAAAAABAAMAAAAOADEAAAABAAMAAAAOADIAAAABAAMAAAAOADMAAAABAAMAAAAOADQAAAABAAMAAAAOADUAAAABAAMAAAAPAAAAAAABAAMAAAAPAAEAAAABAAMAAAAPAAIAAAABAAMAAAAPAAMAAAABAAMAAAAPAAQAAAABAAMAAAAPAAUAAAABAAMAAAAPAAYAAAABAAMAAAAPAAcAAAABAAMAAAAPAAgAAAABAAMAAAAPAAkAAAABAAMAAAAPAAoAAAABAAMAAAAPAAsAAAABAAMAAAAPAAwAAAABAAMAAAAPAA0AAAABAAMAAAAPAA4AAAABAAMAAAAPAA8AAAABAAMAAAAPABAAAAABAAMAAAAPABEAAAABAAMAAAAPABIAAAABAAMAAAAPABMAAAABAAMAAAAPABQAAAABAAMAAAAPABUAAAABAAMAAAAPABYAAAABAAMAAAAPABcAAAABAAMAAAAPABgAAAABAAMAAAAPABkAAAABAAMAAAAPABoAAAABAAMAAAAPABsAAAABAAMAAAAPABwAAAABAAMAAAAPAB0AAAABAAMAAAAPAB4AAAABAAMAAAAPAB8AAAABAAMAAAAPACAAAAABAAMAAAAPACEAAAABAAMAAAAPACIAAAABAAMAAAAPACMAAAABAAMAAAAPACQAAAABAAMAAAAPACUAAAABAAMAAAAPACYAAAABAAMAAAAPACcAAAABAAMAAAAPACgAAAABAAMAAAAPACkAAAABAAMAAAAPACoAAAABAAMAAAAPACsAAAABAAMAAAAPACwAAAABAAMAAAAPAC0AAAABAAMAAAAPAC4AAAABAAMAAAAPAC8AAAABAAMAAAAPADAAAAABAAMAAAAPADEAAAABAAMAAAAPADIAAAABAAMAAAAPADMAAAABAAMAAAAPADQAAAABAAMAAAAPADUAAAABAAMAAAAQAAAAAAABAAMAAAAQAAEAAAABAAMAAAAQAAIAAAABAAMAAAAQAAMAAAABAAMAAAAQAAQAAAABAAMAAAAQAAUAAAABAAMAAAAQAAYAAAABAAMAAAAQAAcAAAABAAMAAAAQAAgAAAABAAMAAAAQAAkAAAABAAMAAAAQAAoAAAABAAMAAAAQAAsAAAABAAMAAAAQAAwAAAABAAMAAAAQAA0AAAABAAMAAAAQAA4AAAABAAMAAAAQAA8AAAABAAMAAAAQABAAAAABAAMAAAAQABEAAAABAAMAAAAQABIAAAABAAMAAAAQABMAAAABAAMAAAAQABQAAAABAAMAAAAQABUAAAABAAMAAAAQABYAAAABAAMAAAAQABcAAAABAAMAAAAQABgAAAABAAMAAAAQABkAAAABAAMAAAAQABoAAAABAAMAAAAQABsAAAABAAMAAAAQABwAAAABAAMAAAAQAB0AAAABAAMAAAAQAB4AAAABAAMAAAAQAB8AAAABAAMAAAAQACAAAAABAAMAAAAQACEAAAABAAMAAAAQACIAAAABAAMAAAAQACMAAAABAAMAAAAQACQAAAABAAMAAAAQACUAAAABAAMAAAAQACYAAAABAAMAAAAQACcAAAABAAMAAAAQACgAAAABAAMAAAAQACkAAAABAAMAAAAQACoAAAABAAMAAAAQACsAAAABAAMAAAAQACwAAAABAAMAAAAQAC0AAAABAAMAAAAQAC4AAAABAAMAAAAQAC8AAAABAAMAAAAQADAAAAABAAMAAAAQADEAAAABAAMAAAAQADIAAAABAAMAAAAQADMAAAABAAMAAAAQADQAAAABAAMAAAAQADUAAAABAAMAAAARAAAAAAABAAMAAAARAAEAAAABAAMAAAARAAIAAAABAAMAAAARAAMAAAABAAMAAAARAAQAAAABAAMAAAARAAUAAAABAAMAAAARAAYAAAABAAMAAAARAAcAAAABAAMAAAARAAgAAAABAAMAAAARAAkAAAABAAMAAAARAAoAAAABAAMAAAARAAsAAAABAAMAAAARAAwAAAABAAMAAAARAA0AAAABAAMAAAARAA4AAAABAAMAAAARAA8AAAABAAMAAAARABAAAAABAAMAAAARABEAAAABAAMAAAARABIAAAABAAMAAAARABMAAAABAAMAAAARABQAAAABAAMAAAARABUAAAABAAMAAAARABYAAAABAAMAAAARABcAAAABAAMAAAARABgAAAABAAMAAAARABkAAAABAAMAAAARABoAAAABAAMAAAARABsAAAABAAMAAAARABwAAAABAAMAAAARAB0AAAABAAMAAAARAB4AAAABAAMAAAARAB8AAAABAAMAAAARACAAAAABAAMAAAARACEAAAABAAMAAAARACIAAAABAAMAAAARACMAAAABAAMAAAARACQAAAABAAMAAAARACUAAAABAAMAAAARACYAAAABAAMAAAARACcAAAABAAMAAAARACgAAAABAAMAAAARACkAAAABAAMAAAARACoAAAABAAMAAAARACsAAAABAAMAAAARACwAAAABAAMAAAARAC0AAAABAAMAAAARAC4AAAABAAMAAAARAC8AAAABAAMAAAARADAAAAABAAMAAAARADEAAAABAAMAAAARADIAAAABAAMAAAARADMAAAABAAMAAAARADQAAAABAAMAAAARADUAAAABAAMAAAASAAAAAAABAAMAAAASAAEAAAABAAMAAAASAAIAAAABAAMAAAASAAMAAAABAAMAAAASAAQAAAABAAMAAAASAAUAAAABAAMAAAASAAYAAAABAAMAAAASAAcAAAABAAMAAAASAAgAAAABAAMAAAASAAkAAAABAAMAAAASAAoAAAABAAMAAAASAAsAAAABAAMAAAASAAwAAAABAAMAAAASAA0AAAABAAMAAAASAA4AAAABAAMAAAASAA8AAAABAAMAAAASABAAAAABAAMAAAASABEAAAABAAMAAAASABIAAAABAAMAAAASABMAAAABAAMAAAASABQAAAABAAMAAAASABUAAAABAAMAAAASABYAAAABAAMAAAASABcAAAABAAMAAAASABgAAAABAAMAAAASABkAAAABAAMAAAASABoAAAABAAMAAAASABsAAAABAAMAAAASABwAAAABAAMAAAASAB0AAAABAAMAAAASAB4AAAABAAMAAAASAB8AAAABAAMAAAASACAAAAABAAMAAAASACEAAAABAAMAAAASACIAAAABAAMAAAASACMAAAABAAMAAAASACQAAAABAAMAAAASACUAAAABAAMAAAASACYAAAABAAMAAAASACcAAAABAAMAAAASACgAAAABAAMAAAASACkAAAABAAMAAAASACoAAAABAAMAAAASACsAAAABAAMAAAASACwAAAABAAMAAAASAC0AAAABAAMAAAASAC4AAAABAAMAAAASAC8AAAABAAMAAAASADAAAAABAAMAAAASADEAAAABAAMAAAASADIAAAABAAMAAAASADMAAAABAAMAAAASADQAAAABAAMAAAASADUAAAABAAMAAAATAAAAAAABAAMAAAATAAEAAAABAAMAAAATAAIAAAABAAMAAAATAAMAAAABAAMAAAATAAQAAAABAAMAAAATAAUAAAABAAMAAAATAAYAAAABAAMAAAATAAcAAAABAAMAAAATAAgAAAABAAMAAAATAAkAAAABAAMAAAATAAoAAAABAAMAAAATAAsAAAABAAMAAAATAAwAAAABAAMAAAATAA0AAAABAAMAAAATAA4AAAABAAMAAAATAA8AAAABAAMAAAATABAAAAABAAMAAAATABEAAAABAAMAAAATABIAAAABAAMAAAATABMAAAABAAMAAAATABQAAAABAAMAAAATABUAAAABAAMAAAATABYAAAABAAMAAAATABcAAAABAAMAAAATABgAAAABAAMAAAATABkAAAABAAMAAAATABoAAAABAAMAAAATABsAAAABAAMAAAATABwAAAABAAMAAAATAB0AAAABAAMAAAATAB4AAAABAAMAAAATAB8AAAABAAMAAAATACAAAAABAAMAAAATACEAAAABAAMAAAATACIAAAABAAMAAAATACMAAAABAAMAAAATACQAAAABAAMAAAATACUAAAABAAMAAAATACYAAAABAAMAAAATACcAAAABAAMAAAATACgAAAABAAMAAAATACkAAAABAAMAAAATACoAAAABAAMAAAATACsAAAABAAMAAAATACwAAAABAAMAAAATAC0AAAABAAMAAAATAC4AAAABAAMAAAATAC8AAAABAAMAAAATADAAAAABAAMAAAATADEAAAABAAMAAAATADIAAAABAAMAAAATADMAAAABAAMAAAATADQAAAABAAMAAAATADUAAAABAAMAAAAUAAAAAAABAAMAAAAUAAEAAAABAAMAAAAUAAIAAAABAAMAAAAUAAMAAAABAAMAAAAUAAQAAAABAAMAAAAUAAUAAAABAAMAAAAUAAYAAAABAAMAAAAUAAcAAAABAAMAAAAUAAgAAAABAAMAAAAUAAkAAAABAAMAAAAUAAoAAAABAAMAAAAUAAsAAAABAAMAAAAUAAwAAAABAAMAAAAUAA0AAAABAAMAAAAUAA4AAAABAAMAAAAUAA8AAAABAAMAAAAUABAAAAABAAMAAAAUABEAAAABAAMAAAAUABIAAAABAAMAAAAUABMAAAABAAMAAAAUABQAAAABAAMAAAAUABUAAAABAAMAAAAUABYAAAABAAMAAAAUABcAAAABAAMAAAAUABgAAAABAAMAAAAUABkAAAABAAMAAAAUABoAAAABAAMAAAAUABsAAAABAAMAAAAUABwAAAABAAMAAAAUAB0AAAABAAMAAAAUAB4AAAABAAMAAAAUAB8AAAABAAMAAAAUACAAAAABAAMAAAAUACEAAAABAAMAAAAUACIAAAABAAMAAAAUACMAAAABAAMAAAAUACQAAAABAAMAAAAUACUAAAABAAMAAAAUACYAAAABAAMAAAAUACcAAAABAAMAAAAUACgAAAABAAMAAAAUACkAAAABAAMAAAAUACoAAAABAAMAAAAUACsAAAABAAMAAAAUACwAAAABAAMAAAAUAC0AAAABAAMAAAAUAC4AAAABAAMAAAAUAC8AAAABAAMAAAAUADAAAAABAAMAAAAUADEAAAABAAMAAAAUADIAAAABAAMAAAAUADMAAAABAAMAAAAUADQAAAABAAMAAAAUADUAAAABAAMAAAAVAAAAAAABAAMAAAAVAAEAAAABAAMAAAAVAAIAAAABAAMAAAAVAAMAAAABAAMAAAAVAAQAAAABAAMAAAAVAAUAAAABAAMAAAAVAAYAAAABAAMAAAAVAAcAAAABAAMAAAAVAAgAAAABAAMAAAAVAAkAAAABAAMAAAAVAAoAAAABAAMAAAAVAAsAAAABAAMAAAAVAAwAAAABAAMAAAAVAA0AAAABAAMAAAAVAA4AAAABAAMAAAAVAA8AAAABAAMAAAAVABAAAAABAAMAAAAVABEAAAABAAMAAAAVABIAAAABAAMAAAAVABMAAAABAAMAAAAVABQAAAABAAMAAAAVABUAAAABAAMAAAAVABYAAAABAAMAAAAVABcAAAABAAMAAAAVABgAAAABAAMAAAAVABkAAAABAAMAAAAVABoAAAABAAMAAAAVABsAAAABAAMAAAAVABwAAAABAAMAAAAVAB0AAAABAAMAAAAVAB4AAAABAAMAAAAVAB8AAAABAAMAAAAVACAAAAABAAMAAAAVACEAAAABAAMAAAAVACIAAAABAAMAAAAVACMAAAABAAMAAAAVACQAAAABAAMAAAAVACUAAAABAAMAAAAVACYAAAABAAMAAAAVACcAAAABAAMAAAAVACgAAAABAAMAAAAVACkAAAABAAMAAAAVACoAAAABAAMAAAAVACsAAAABAAMAAAAVACwAAAABAAMAAAAVAC0AAAABAAMAAAAVAC4AAAABAAMAAAAVAC8AAAABAAMAAAAVADAAAAABAAMAAAAVADEAAAABAAMAAAAVADIAAAABAAMAAAAVADMAAAABAAMAAAAVADQAAAABAAMAAAAVADUAAAABAAMAAAAWAAAAAAABAAMAAAAWAAEAAAABAAMAAAAWAAIAAAABAAMAAAAWAAMAAAABAAMAAAAWAAQAAAABAAMAAAAWAAUAAAABAAMAAAAWAAYAAAABAAMAAAAWAAcAAAABAAMAAAAWAAgAAAABAAMAAAAWAAkAAAABAAMAAAAWAAoAAAABAAMAAAAWAAsAAAABAAMAAAAWAAwAAAABAAMAAAAWAA0AAAABAAMAAAAWAA4AAAABAAMAAAAWAA8AAAABAAMAAAAWABAAAAABAAMAAAAWABEAAAABAAMAAAAWABIAAAABAAMAAAAWABMAAAABAAMAAAAWABQAAAABAAMAAAAWABUAAAABAAMAAAAWABYAAAABAAMAAAAWABcAAAABAAMAAAAWABgAAAABAAMAAAAWABkAAAABAAMAAAAWABoAAAABAAMAAAAWABsAAAABAAMAAAAWABwAAAABAAMAAAAWAB0AAAABAAMAAAAWAB4AAAABAAMAAAAWAB8AAAABAAMAAAAWACAAAAABAAMAAAAWACEAAAABAAMAAAAWACIAAAABAAMAAAAWACMAAAABAAMAAAAWACQAAAABAAMAAAAWACUAAAABAAMAAAAWACYAAAABAAMAAAAWACcAAAABAAMAAAAWACgAAAABAAMAAAAWACkAAAABAAMAAAAWACoAAAABAAMAAAAWACsAAAABAAMAAAAWACwAAAABAAMAAAAWAC0AAAABAAMAAAAWAC4AAAABAAMAAAAWAC8AAAABAAMAAAAWADAAAAABAAMAAAAWADEAAAABAAMAAAAWADIAAAABAAMAAAAWADMAAAABAAMAAAAWADQAAAABAAMAAAAWADUAAAABAAMAAAAXAAAAAAABAAMAAAAXAAEAAAABAAMAAAAXAAIAAAABAAMAAAAXAAMAAAABAAMAAAAXAAQAAAABAAMAAAAXAAUAAAABAAMAAAAXAAYAAAABAAMAAAAXAAcAAAABAAMAAAAXAAgAAAABAAMAAAAXAAkAAAABAAMAAAAXAAoAAAABAAMAAAAXAAsAAAABAAMAAAAXAAwAAAABAAMAAAAXAA0AAAABAAMAAAAXAA4AAAABAAMAAAAXAA8AAAABAAMAAAAXABAAAAABAAMAAAAXABEAAAABAAMAAAAXABIAAAABAAMAAAAXABMAAAABAAMAAAAXABQAAAABAAMAAAAXABUAAAABAAMAAAAXABYAAAABAAMAAAAXABcAAAABAAMAAAAXABgAAAABAAMAAAAXABkAAAABAAMAAAAXABoAAAABAAMAAAAXABsAAAABAAMAAAAXABwAAAABAAMAAAAXAB0AAAABAAMAAAAXAB4AAAABAAMAAAAXAB8AAAABAAMAAAAXACAAAAABAAMAAAAXACEAAAABAAMAAAAXACIAAAABAAMAAAAXACMAAAABAAMAAAAXACQAAAABAAMAAAAXACUAAAABAAMAAAAXACYAAAABAAMAAAAXACcAAAABAAMAAAAXACgAAAABAAMAAAAXACkAAAABAAMAAAAXACoAAAABAAMAAAAXACsAAAABAAMAAAAXACwAAAABAAMAAAAXAC0AAAABAAMAAAAXAC4AAAABAAMAAAAXAC8AAAABAAMAAAAXADAAAAABAAMAAAAXADEAAAABAAMAAAAXADIAAAABAAMAAAAXADMAAAABAAMAAAAXADQAAAABAAMAAAAXADUAAAABAAMAAAAYAAAAAAABAAMAAAAYAAEAAAABAAMAAAAYAAIAAAABAAMAAAAYAAMAAAABAAMAAAAYAAQAAAABAAMAAAAYAAUAAAABAAMAAAAYAAYAAAABAAMAAAAYAAcAAAABAAMAAAAYAAgAAAABAAMAAAAYAAkAAAABAAMAAAAYAAoAAAABAAMAAAAYAAsAAAABAAMAAAAYAAwAAAABAAMAAAAYAA0AAAABAAMAAAAYAA4AAAABAAMAAAAYAA8AAAABAAMAAAAYABAAAAABAAMAAAAYABEAAAABAAMAAAAYABIAAAABAAMAAAAYABMAAAABAAMAAAAYABQAAAABAAMAAAAYABUAAAABAAMAAAAYABYAAAABAAMAAAAYABcAAAABAAMAAAAYABgAAAABAAMAAAAYABkAAAABAAMAAAAYABoAAAABAAMAAAAYABsAAAABAAMAAAAYABwAAAABAAMAAAAYAB0AAAABAAMAAAAYAB4AAAABAAMAAAAYAB8AAAABAAMAAAAYACAAAAABAAMAAAAYACEAAAABAAMAAAAYACIAAAABAAMAAAAYACMAAAABAAMAAAAYACQAAAABAAMAAAAYACUAAAABAAMAAAAYACYAAAABAAMAAAAYACcAAAABAAMAAAAYACgAAAABAAMAAAAYACkAAAABAAMAAAAYACoAAAABAAMAAAAYACsAAAABAAMAAAAYACwAAAABAAMAAAAYAC0AAAABAAMAAAAYAC4AAAABAAMAAAAYAC8AAAABAAMAAAAYADAAAAABAAMAAAAYADEAAAABAAMAAAAYADIAAAABAAMAAAAYADMAAAABAAMAAAAYADQAAAABAAMAAAAYADUAAAABAAMAAAAZAAAAAAABAAMAAAAZAAEAAAABAAMAAAAZAAIAAAABAAMAAAAZAAMAAAABAAMAAAAZAAQAAAABAAMAAAAZAAUAAAABAAMAAAAZAAYAAAABAAMAAAAZAAcAAAABAAMAAAAZAAgAAAABAAMAAAAZAAkAAAABAAMAAAAZAAoAAAABAAMAAAAZAAsAAAABAAMAAAAZAAwAAAABAAMAAAAZAA0AAAABAAMAAAAZAA4AAAABAAMAAAAZAA8AAAABAAMAAAAZABAAAAABAAMAAAAZABEAAAABAAMAAAAZABIAAAABAAMAAAAZABMAAAABAAMAAAAZABQAAAABAAMAAAAZABUAAAABAAMAAAAZABYAAAABAAMAAAAZABcAAAABAAMAAAAZABgAAAABAAMAAAAZABkAAAABAAMAAAAZABoAAAABAAMAAAAZABsAAAABAAMAAAAZABwAAAABAAMAAAAZAB0AAAABAAMAAAAZAB4AAAABAAMAAAAZAB8AAAABAAMAAAAZACAAAAABAAMAAAAZACEAAAABAAMAAAAZACIAAAABAAMAAAAZACMAAAABAAMAAAAZACQAAAABAAMAAAAZACUAAAABAAMAAAAZACYAAAABAAMAAAAZACcAAAABAAMAAAAZACgAAAABAAMAAAAZACkAAAABAAMAAAAZACoAAAABAAMAAAAZACsAAAABAAMAAAAZACwAAAABAAMAAAAZAC0AAAABAAMAAAAZAC4AAAABAAMAAAAZAC8AAAABAAMAAAAZADAAAAABAAMAAAAZADEAAAABAAMAAAAZADIAAAABAAMAAAAZADMAAAABAAMAAAAZADQAAAABAAMAAAAZADUAAAABAAMAAAAaAAAAAAABAAMAAAAaAAEAAAABAAMAAAAaAAIAAAABAAMAAAAaAAMAAAABAAMAAAAaAAQAAAABAAMAAAAaAAUAAAABAAMAAAAaAAYAAAABAAMAAAAaAAcAAAABAAMAAAAaAAgAAAABAAMAAAAaAAkAAAABAAMAAAAaAAoAAAABAAMAAAAaAAsAAAABAAMAAAAaAAwAAAABAAMAAAAaAA0AAAABAAMAAAAaAA4AAAABAAMAAAAaAA8AAAABAAMAAAAaABAAAAABAAMAAAAaABEAAAABAAMAAAAaABIAAAABAAMAAAAaABMAAAABAAMAAAAaABQAAAABAAMAAAAaABUAAAABAAMAAAAaABYAAAABAAMAAAAaABcAAAABAAMAAAAaABgAAAABAAMAAAAaABkAAAABAAMAAAAaABoAAAABAAMAAAAaABsAAAABAAMAAAAaABwAAAABAAMAAAAaAB0AAAABAAMAAAAaAB4AAAABAAMAAAAaAB8AAAABAAMAAAAaACAAAAABAAMAAAAaACEAAAABAAMAAAAaACIAAAABAAMAAAAaACMAAAABAAMAAAAaACQAAAABAAMAAAAaACUAAAABAAMAAAAaACYAAAABAAMAAAAaACcAAAABAAMAAAAaACgAAAABAAMAAAAaACkAAAABAAMAAAAaACoAAAABAAMAAAAaACsAAAABAAMAAAAaACwAAAABAAMAAAAaAC0AAAABAAMAAAAaAC4AAAABAAMAAAAaAC8AAAABAAMAAAAaADAAAAABAAMAAAAaADEAAAABAAMAAAAaADIAAAABAAMAAAAaADMAAAABAAMAAAAaADQAAAABAAMAAAAaADUAAAABAAMAAAAbAAAAAAABAAMAAAAbAAEAAAABAAMAAAAbAAIAAAABAAMAAAAbAAMAAAABAAMAAAAbAAQAAAABAAMAAAAbAAUAAAABAAMAAAAbAAYAAAABAAMAAAAbAAcAAAABAAMAAAAbAAgAAAABAAMAAAAbAAkAAAABAAMAAAAbAAoAAAABAAMAAAAbAAsAAAABAAMAAAAbAAwAAAABAAMAAAAbAA0AAAABAAMAAAAbAA4AAAABAAMAAAAbAA8AAAABAAMAAAAbABAAAAABAAMAAAAbABEAAAABAAMAAAAbABIAAAABAAMAAAAbABMAAAABAAMAAAAbABQAAAABAAMAAAAbABUAAAABAAMAAAAbABYAAAABAAMAAAAbABcAAAABAAMAAAAbABgAAAABAAMAAAAbABkAAAABAAMAAAAbABoAAAABAAMAAAAbABsAAAABAAMAAAAbABwAAAABAAMAAAAbAB0AAAABAAMAAAAbAB4AAAABAAMAAAAbAB8AAAABAAMAAAAbACAAAAABAAMAAAAbACEAAAABAAMAAAAbACIAAAABAAMAAAAbACMAAAABAAMAAAAbACQAAAABAAMAAAAbACUAAAABAAMAAAAbACYAAAABAAMAAAAbACcAAAABAAMAAAAbACgAAAABAAMAAAAbACkAAAABAAMAAAAbACoAAAABAAMAAAAbACsAAAABAAMAAAAbACwAAAABAAMAAAAbAC0AAAABAAMAAAAbAC4AAAABAAMAAAAbAC8AAAABAAMAAAAbADAAAAABAAMAAAAbADEAAAABAAMAAAAbADIAAAABAAMAAAAbADMAAAABAAMAAAAbADQAAAABAAMAAAAbADUAAAABAAMAAAAcAAAAAAABAAMAAAAcAAEAAAABAAMAAAAcAAIAAAABAAMAAAAcAAMAAAABAAMAAAAcAAQAAAABAAMAAAAcAAUAAAABAAMAAAAcAAYAAAABAAMAAAAcAAcAAAABAAMAAAAcAAgAAAABAAMAAAAcAAkAAAABAAMAAAAcAAoAAAABAAMAAAAcAAsAAAABAAMAAAAcAAwAAAABAAMAAAAcAA0AAAABAAMAAAAcAA4AAAABAAMAAAAcAA8AAAABAAMAAAAcABAAAAABAAMAAAAcABEAAAABAAMAAAAcABIAAAABAAMAAAAcABMAAAABAAMAAAAcABQAAAABAAMAAAAcABUAAAABAAMAAAAcABYAAAABAAMAAAAcABcAAAABAAMAAAAcABgAAAABAAMAAAAcABkAAAABAAMAAAAcABoAAAABAAMAAAAcABsAAAABAAMAAAAcABwAAAABAAMAAAAcAB0AAAABAAMAAAAcAB4AAAABAAMAAAAcAB8AAAABAAMAAAAcACAAAAABAAMAAAAcACEAAAABAAMAAAAcACIAAAABAAMAAAAcACMAAAABAAMAAAAcACQAAAABAAMAAAAcACUAAAABAAMAAAAcACYAAAABAAMAAAAcACcAAAABAAMAAAAcACgAAAABAAMAAAAcACkAAAABAAMAAAAcACoAAAABAAMAAAAcACsAAAABAAMAAAAcACwAAAABAAMAAAAcAC0AAAABAAMAAAAcAC4AAAABAAMAAAAcAC8AAAABAAMAAAAcADAAAAABAAMAAAAcADEAAAABAAMAAAAcADIAAAABAAMAAAAcADMAAAABAAMAAAAcADQAAAABAAMAAAAcADUAAAABAAMAAAAdAAAAAAABAAMAAAAdAAEAAAABAAMAAAAdAAIAAAABAAMAAAAdAAMAAAABAAMAAAAdAAQAAAABAAMAAAAdAAUAAAABAAMAAAAdAAYAAAABAAMAAAAdAAcAAAABAAMAAAAdAAgAAAABAAMAAAAdAAkAAAABAAMAAAAdAAoAAAABAAMAAAAdAAsAAAABAAMAAAAdAAwAAAABAAMAAAAdAA0AAAABAAMAAAAdAA4AAAABAAMAAAAdAA8AAAABAAMAAAAdABAAAAABAAMAAAAdABEAAAABAAMAAAAdABIAAAABAAMAAAAdABMAAAABAAMAAAAdABQAAAABAAMAAAAdABUAAAABAAMAAAAdABYAAAABAAMAAAAdABcAAAABAAMAAAAdABgAAAABAAMAAAAdABkAAAABAAMAAAAdABoAAAABAAMAAAAdABsAAAABAAMAAAAdABwAAAABAAMAAAAdAB0AAAABAAMAAAAdAB4AAAABAAMAAAAdAB8AAAABAAMAAAAdACAAAAABAAMAAAAdACEAAAABAAMAAAAdACIAAAABAAMAAAAdACMAAAABAAMAAAAdACQAAAABAAMAAAAdACUAAAABAAMAAAAdACYAAAABAAMAAAAdACcAAAABAAMAAAAdACgAAAABAAMAAAAdACkAAAABAAMAAAAdACoAAAABAAMAAAAdACsAAAABAAMAAAAdACwAAAABAAMAAAAdAC0AAAABAAMAAAAdAC4AAAABAAMAAAAdAC8AAAABAAMAAAAdADAAAAABAAMAAAAdADEAAAABAAMAAAAdADIAAAABAAMAAAAdADMAAAABAAMAAAAdADQAAAABAAMAAAAdADUAAAABAAMAAAAeAAAAAAABAAMAAAAeAAEAAAABAAMAAAAeAAIAAAABAAMAAAAeAAMAAAABAAMAAAAeAAQAAAABAAMAAAAeAAUAAAABAAMAAAAeAAYAAAABAAMAAAAeAAcAAAABAAMAAAAeAAgAAAABAAMAAAAeAAkAAAABAAMAAAAeAAoAAAABAAMAAAAeAAsAAAABAAMAAAAeAAwAAAABAAMAAAAeAA0AAAABAAMAAAAeAA4AAAABAAMAAAAeAA8AAAABAAMAAAAeABAAAAABAAMAAAAeABEAAAABAAMAAAAeABIAAAABAAMAAAAeABMAAAABAAMAAAAeABQAAAABAAMAAAAeABUAAAABAAMAAAAeABYAAAABAAMAAAAeABcAAAABAAMAAAAeABgAAAABAAMAAAAeABkAAAABAAMAAAAeABoAAAABAAMAAAAeABsAAAABAAMAAAAeABwAAAABAAMAAAAeAB0AAAABAAMAAAAeAB4AAAABAAMAAAAeAB8AAAABAAMAAAAeACAAAAABAAMAAAAeACEAAAABAAMAAAAeACIAAAABAAMAAAAeACMAAAABAAMAAAAeACQAAAABAAMAAAAeACUAAAABAAMAAAAeACYAAAABAAMAAAAeACcAAAABAAMAAAAeACgAAAABAAMAAAAeACkAAAABAAMAAAAeACoAAAABAAMAAAAeACsAAAABAAMAAAAeACwAAAABAAMAAAAeAC0AAAABAAMAAAAeAC4AAAABAAMAAAAeAC8AAAABAAMAAAAeADAAAAABAAMAAAAeADEAAAABAAMAAAAeADIAAAABAAMAAAAeADMAAAABAAMAAAAeADQAAAABAAMAAAAeADUAAAABAAMAAAAfAAAAAAABAAMAAAAfAAEAAAABAAMAAAAfAAIAAAABAAMAAAAfAAMAAAABAAMAAAAfAAQAAAABAAMAAAAfAAUAAAABAAMAAAAfAAYAAAABAAMAAAAfAAcAAAABAAMAAAAfAAgAAAABAAMAAAAfAAkAAAABAAMAAAAfAAoAAAABAAMAAAAfAAsAAAABAAMAAAAfAAwAAAABAAMAAAAfAA0AAAABAAMAAAAfAA4AAAABAAMAAAAfAA8AAAABAAMAAAAfABAAAAABAAMAAAAfABEAAAABAAMAAAAfABIAAAABAAMAAAAfABMAAAABAAMAAAAfABQAAAABAAMAAAAfABUAAAABAAMAAAAfABYAAAABAAMAAAAfABcAAAABAAMAAAAfABgAAAABAAMAAAAfABkAAAABAAMAAAAfABoAAAABAAMAAAAfABsAAAABAAMAAAAfABwAAAABAAMAAAAfAB0AAAABAAMAAAAfAB4AAAABAAMAAAAfAB8AAAABAAMAAAAfACAAAAABAAMAAAAfACEAAAABAAMAAAAfACIAAAABAAMAAAAfACMAAAABAAMAAAAfACQAAAABAAMAAAAfACUAAAABAAMAAAAfACYAAAABAAMAAAAfACcAAAABAAMAAAAfACgAAAABAAMAAAAfACkAAAABAAMAAAAfACoAAAABAAMAAAAfACsAAAABAAMAAAAfACwAAAABAAMAAAAfAC0AAAABAAMAAAAfAC4AAAABAAMAAAAfAC8AAAABAAMAAAAfADAAAAABAAMAAAAfADEAAAABAAMAAAAfADIAAAABAAMAAAAfADMAAAABAAMAAAAfADQAAAABAAMAAAAfADUAAAABAAMAAAAgAAAAAAABAAMAAAAgAAEAAAABAAMAAAAgAAIAAAABAAMAAAAgAAMAAAABAAMAAAAgAAQAAAABAAMAAAAgAAUAAAABAAMAAAAgAAYAAAABAAMAAAAgAAcAAAABAAMAAAAgAAgAAAABAAMAAAAgAAkAAAABAAMAAAAgAAoAAAABAAMAAAAgAAsAAAABAAMAAAAgAAwAAAABAAMAAAAgAA0AAAABAAMAAAAgAA4AAAABAAMAAAAgAA8AAAABAAMAAAAgABAAAAABAAMAAAAgABEAAAABAAMAAAAgABIAAAABAAMAAAAgABMAAAABAAMAAAAgABQAAAABAAMAAAAgABUAAAABAAMAAAAgABYAAAABAAMAAAAgABcAAAABAAMAAAAgABgAAAABAAMAAAAgABkAAAABAAMAAAAgABoAAAABAAMAAAAgABsAAAABAAMAAAAgABwAAAABAAMAAAAgAB0AAAABAAMAAAAgAB4AAAABAAMAAAAgAB8AAAABAAMAAAAgACAAAAABAAMAAAAgACEAAAABAAMAAAAgACIAAAABAAMAAAAgACMAAAABAAMAAAAgACQAAAABAAMAAAAgACUAAAABAAMAAAAgACYAAAABAAMAAAAgACcAAAABAAMAAAAgACgAAAABAAMAAAAgACkAAAABAAMAAAAgACoAAAABAAMAAAAgACsAAAABAAMAAAAgACwAAAABAAMAAAAgAC0AAAABAAMAAAAgAC4AAAABAAMAAAAgAC8AAAABAAMAAAAgADAAAAABAAMAAAAgADEAAAABAAMAAAAgADIAAAABAAMAAAAgADMAAAABAAMAAAAgADQAAAABAAMAAAAgADUAAAABAAMAAAAhAAAAAAABAAMAAAAhAAEAAAABAAMAAAAhAAIAAAABAAMAAAAhAAMAAAABAAMAAAAhAAQAAAABAAMAAAAhAAUAAAABAAMAAAAhAAYAAAABAAMAAAAhAAcAAAABAAMAAAAhAAgAAAABAAMAAAAhAAkAAAABAAMAAAAhAAoAAAABAAMAAAAhAAsAAAABAAMAAAAhAAwAAAABAAMAAAAhAA0AAAABAAMAAAAhAA4AAAABAAMAAAAhAA8AAAABAAMAAAAhABAAAAABAAMAAAAhABEAAAABAAMAAAAhABIAAAABAAMAAAAhABMAAAABAAMAAAAhABQAAAABAAMAAAAhABUAAAABAAMAAAAhABYAAAABAAMAAAAhABcAAAABAAMAAAAhABgAAAABAAMAAAAhABkAAAABAAMAAAAhABoAAAABAAMAAAAhABsAAAABAAMAAAAhABwAAAABAAMAAAAhAB0AAAABAAMAAAAhAB4AAAABAAMAAAAhAB8AAAABAAMAAAAhACAAAAABAAMAAAAhACEAAAABAAMAAAAhACIAAAABAAMAAAAhACMAAAABAAMAAAAhACQAAAABAAMAAAAhACUAAAABAAMAAAAhACYAAAABAAMAAAAhACcAAAABAAMAAAAhACgAAAABAAMAAAAhACkAAAABAAMAAAAhACoAAAABAAMAAAAhACsAAAABAAMAAAAhACwAAAABAAMAAAAhAC0AAAABAAMAAAAhAC4AAAABAAMAAAAhAC8AAAABAAMAAAAhADAAAAABAAMAAAAhADEAAAABAAMAAAAhADIAAAABAAMAAAAhADMAAAABAAMAAAAhADQAAAABAAMAAAAhADUAAAABAAMAAAAiAAAAAAABAAMAAAAiAAEAAAABAAMAAAAiAAIAAAABAAMAAAAiAAMAAAABAAMAAAAiAAQAAAABAAMAAAAiAAUAAAABAAMAAAAiAAYAAAABAAMAAAAiAAcAAAABAAMAAAAiAAgAAAABAAMAAAAiAAkAAAABAAMAAAAiAAoAAAABAAMAAAAiAAsAAAABAAMAAAAiAAwAAAABAAMAAAAiAA0AAAABAAMAAAAiAA4AAAABAAMAAAAiAA8AAAABAAMAAAAiABAAAAABAAMAAAAiABEAAAABAAMAAAAiABIAAAABAAMAAAAiABMAAAABAAMAAAAiABQAAAABAAMAAAAiABUAAAABAAMAAAAiABYAAAABAAMAAAAiABcAAAABAAMAAAAiABgAAAABAAMAAAAiABkAAAABAAMAAAAiABoAAAABAAMAAAAiABsAAAABAAMAAAAiABwAAAABAAMAAAAiAB0AAAABAAMAAAAiAB4AAAABAAMAAAAiAB8AAAABAAMAAAAiACAAAAABAAMAAAAiACEAAAABAAMAAAAiACIAAAABAAMAAAAiACMAAAABAAMAAAAiACQAAAABAAMAAAAiACUAAAABAAMAAAAiACYAAAABAAMAAAAiACcAAAABAAMAAAAiACgAAAABAAMAAAAiACkAAAABAAMAAAAiACoAAAABAAMAAAAiACsAAAABAAMAAAAiACwAAAABAAMAAAAiAC0AAAABAAMAAAAiAC4AAAABAAMAAAAiAC8AAAABAAMAAAAiADAAAAABAAMAAAAiADEAAAABAAMAAAAiADIAAAABAAMAAAAiADMAAAABAAMAAAAiADQAAAABAAMAAAAiADUAAAABAAMAAAAjAAAAAAABAAMAAAAjAAEAAAABAAMAAAAjAAIAAAABAAMAAAAjAAMAAAABAAMAAAAjAAQAAAABAAMAAAAjAAUAAAABAAMAAAAjAAYAAAABAAMAAAAjAAcAAAABAAMAAAAjAAgAAAABAAMAAAAjAAkAAAABAAMAAAAjAAoAAAABAAMAAAAjAAsAAAABAAMAAAAjAAwAAAABAAMAAAAjAA0AAAABAAMAAAAjAA4AAAABAAMAAAAjAA8AAAABAAMAAAAjABAAAAABAAMAAAAjABEAAAABAAMAAAAjABIAAAABAAMAAAAjABMAAAABAAMAAAAjABQAAAABAAMAAAAjABUAAAABAAMAAAAjABYAAAABAAMAAAAjABcAAAABAAMAAAAjABgAAAABAAMAAAAjABkAAAABAAMAAAAjABoAAAABAAMAAAAjABsAAAABAAMAAAAjABwAAAABAAMAAAAjAB0AAAABAAMAAAAjAB4AAAABAAMAAAAjAB8AAAABAAMAAAAjACAAAAABAAMAAAAjACEAAAABAAMAAAAjACIAAAABAAMAAAAjACMAAAABAAMAAAAjACQAAAABAAMAAAAjACUAAAABAAMAAAAjACYAAAABAAMAAAAjACcAAAABAAMAAAAjACgAAAABAAMAAAAjACkAAAABAAMAAAAjACoAAAABAAMAAAAjACsAAAABAAMAAAAjACwAAAABAAMAAAAjAC0AAAABAAMAAAAjAC4AAAABAAMAAAAjAC8AAAABAAMAAAAjADAAAAABAAMAAAAjADEAAAABAAMAAAAjADIAAAABAAMAAAAjADMAAAABAAMAAAAjADQAAAABAAMAAAAjADUAAAABAAMAAAAkAAAAAAABAAMAAAAkAAEAAAABAAMAAAAkAAIAAAABAAMAAAAkAAMAAAABAAMAAAAkAAQAAAABAAMAAAAkAAUAAAABAAMAAAAkAAYAAAABAAMAAAAkAAcAAAABAAMAAAAkAAgAAAABAAMAAAAkAAkAAAABAAMAAAAkAAoAAAABAAMAAAAkAAsAAAABAAMAAAAkAAwAAAABAAMAAAAkAA0AAAABAAMAAAAkAA4AAAABAAMAAAAkAA8AAAABAAMAAAAkABAAAAABAAMAAAAkABEAAAABAAMAAAAkABIAAAABAAMAAAAkABMAAAABAAMAAAAkABQAAAABAAMAAAAkABUAAAABAAMAAAAkABYAAAABAAMAAAAkABcAAAABAAMAAAAkABgAAAABAAMAAAAkABkAAAABAAMAAAAkABoAAAABAAMAAAAkABsAAAABAAMAAAAkABwAAAABAAMAAAAkAB0AAAABAAMAAAAkAB4AAAABAAMAAAAkAB8AAAABAAMAAAAkACAAAAABAAMAAAAkACEAAAABAAMAAAAkACIAAAABAAMAAAAkACMAAAABAAMAAAAkACQAAAABAAMAAAAkACUAAAABAAMAAAAkACYAAAABAAMAAAAkACcAAAABAAMAAAAkACgAAAABAAMAAAAkACkAAAABAAMAAAAkACoAAAABAAMAAAAkACsAAAABAAMAAAAkACwAAAABAAMAAAAkAC0AAAABAAMAAAAkAC4AAAABAAMAAAAkAC8AAAABAAMAAAAkADAAAAABAAMAAAAkADEAAAABAAMAAAAkADIAAAABAAMAAAAkADMAAAABAAMAAAAkADQAAAABAAMAAAAkADUAAAABAAMAAAAlAAAAAAABAAMAAAAlAAEAAAABAAMAAAAlAAIAAAABAAMAAAAlAAMAAAABAAMAAAAlAAQAAAABAAMAAAAlAAUAAAABAAMAAAAlAAYAAAABAAMAAAAlAAcAAAABAAMAAAAlAAgAAAABAAMAAAAlAAkAAAABAAMAAAAlAAoAAAABAAMAAAAlAAsAAAABAAMAAAAlAAwAAAABAAMAAAAlAA0AAAABAAMAAAAlAA4AAAABAAMAAAAlAA8AAAABAAMAAAAlABAAAAABAAMAAAAlABEAAAABAAMAAAAlABIAAAABAAMAAAAlABMAAAABAAMAAAAlABQAAAABAAMAAAAlABUAAAABAAMAAAAlABYAAAABAAMAAAAlABcAAAABAAMAAAAlABgAAAABAAMAAAAlABkAAAABAAMAAAAlABoAAAABAAMAAAAlABsAAAABAAMAAAAlABwAAAABAAMAAAAlAB0AAAABAAMAAAAlAB4AAAABAAMAAAAlAB8AAAABAAMAAAAlACAAAAABAAMAAAAlACEAAAABAAMAAAAlACIAAAABAAMAAAAlACMAAAABAAMAAAAlACQAAAABAAMAAAAlACUAAAABAAMAAAAlACYAAAABAAMAAAAlACcAAAABAAMAAAAlACgAAAABAAMAAAAlACkAAAABAAMAAAAlACoAAAABAAMAAAAlACsAAAABAAMAAAAlACwAAAABAAMAAAAlAC0AAAABAAMAAAAlAC4AAAABAAMAAAAlAC8AAAABAAMAAAAlADAAAAABAAMAAAAlADEAAAABAAMAAAAlADIAAAABAAMAAAAlADMAAAABAAMAAAAlADQAAAABAAMAAAAlADUAAAABAAMAAAAmAAAAAAABAAMAAAAmAAEAAAABAAMAAAAmAAIAAAABAAMAAAAmAAMAAAABAAMAAAAmAAQAAAABAAMAAAAmAAUAAAABAAMAAAAmAAYAAAABAAMAAAAmAAcAAAABAAMAAAAmAAgAAAABAAMAAAAmAAkAAAABAAMAAAAmAAoAAAABAAMAAAAmAAsAAAABAAMAAAAmAAwAAAABAAMAAAAmAA0AAAABAAMAAAAmAA4AAAABAAMAAAAmAA8AAAABAAMAAAAmABAAAAABAAMAAAAmABEAAAABAAMAAAAmABIAAAABAAMAAAAmABMAAAABAAMAAAAmABQAAAABAAMAAAAmABUAAAABAAMAAAAmABYAAAABAAMAAAAmABcAAAABAAMAAAAmABgAAAABAAMAAAAmABkAAAABAAMAAAAmABoAAAABAAMAAAAmABsAAAABAAMAAAAmABwAAAABAAMAAAAmAB0AAAABAAMAAAAmAB4AAAABAAMAAAAmAB8AAAABAAMAAAAmACAAAAABAAMAAAAmACEAAAABAAMAAAAmACIAAAABAAMAAAAmACMAAAABAAMAAAAmACQAAAABAAMAAAAmACUAAAABAAMAAAAmACYAAAABAAMAAAAmACcAAAABAAMAAAAmACgAAAABAAMAAAAmACkAAAABAAMAAAAmACoAAAABAAMAAAAmACsAAAABAAMAAAAmACwAAAABAAMAAAAmAC0AAAABAAMAAAAmAC4AAAABAAMAAAAmAC8AAAABAAMAAAAmADAAAAABAAMAAAAmADEAAAABAAMAAAAmADIAAAABAAMAAAAmADMAAAABAAMAAAAmADQAAAABAAMAAAAmADUAAAABAAMAAAAnAAAAAAABAAMAAAAnAAEAAAABAAMAAAAnAAIAAAABAAMAAAAnAAMAAAABAAMAAAAnAAQAAAABAAMAAAAnAAUAAAABAAMAAAAnAAYAAAABAAMAAAAnAAcAAAABAAMAAAAnAAgAAAABAAMAAAAnAAkAAAABAAMAAAAnAAoAAAABAAMAAAAnAAsAAAABAAMAAAAnAAwAAAABAAMAAAAnAA0AAAABAAMAAAAnAA4AAAABAAMAAAAnAA8AAAABAAMAAAAnABAAAAABAAMAAAAnABEAAAABAAMAAAAnABIAAAABAAMAAAAnABMAAAABAAMAAAAnABQAAAABAAMAAAAnABUAAAABAAMAAAAnABYAAAABAAMAAAAnABcAAAABAAMAAAAnABgAAAABAAMAAAAnABkAAAABAAMAAAAnABoAAAABAAMAAAAnABsAAAABAAMAAAAnABwAAAABAAMAAAAnAB0AAAABAAMAAAAnAB4AAAABAAMAAAAnAB8AAAABAAMAAAAnACAAAAABAAMAAAAnACEAAAABAAMAAAAnACIAAAABAAMAAAAnACMAAAABAAMAAAAnACQAAAABAAMAAAAnACUAAAABAAMAAAAnACYAAAABAAMAAAAnACcAAAABAAMAAAAnACgAAAABAAMAAAAnACkAAAABAAMAAAAnACoAAAABAAMAAAAnACsAAAABAAMAAAAnACwAAAABAAMAAAAnAC0AAAABAAMAAAAnAC4AAAABAAMAAAAnAC8AAAABAAMAAAAnADAAAAABAAMAAAAnADEAAAABAAMAAAAnADIAAAABAAMAAAAnADMAAAABAAMAAAAnADQAAAABAAMAAAAnADUAAAABAAMAAAAoAAAAAAABAAMAAAAoAAEAAAABAAMAAAAoAAIAAAABAAMAAAAoAAMAAAABAAMAAAAoAAQAAAABAAMAAAAoAAUAAAABAAMAAAAoAAYAAAABAAMAAAAoAAcAAAABAAMAAAAoAAgAAAABAAMAAAAoAAkAAAABAAMAAAAoAAoAAAABAAMAAAAoAAsAAAABAAMAAAAoAAwAAAABAAMAAAAoAA0AAAABAAMAAAAoAA4AAAABAAMAAAAoAA8AAAABAAMAAAAoABAAAAABAAMAAAAoABEAAAABAAMAAAAoABIAAAABAAMAAAAoABMAAAABAAMAAAAoABQAAAABAAMAAAAoABUAAAABAAMAAAAoABYAAAABAAMAAAAoABcAAAABAAMAAAAoABgAAAABAAMAAAAoABkAAAABAAMAAAAoABoAAAABAAMAAAAoABsAAAABAAMAAAAoABwAAAABAAMAAAAoAB0AAAABAAMAAAAoAB4AAAABAAMAAAAoAB8AAAABAAMAAAAoACAAAAABAAMAAAAoACEAAAABAAMAAAAoACIAAAABAAMAAAAoACMAAAABAAMAAAAoACQAAAABAAMAAAAoACUAAAABAAMAAAAoACYAAAABAAMAAAAoACcAAAABAAMAAAAoACgAAAABAAMAAAAoACkAAAABAAMAAAAoACoAAAABAAMAAAAoACsAAAABAAMAAAAoACwAAAABAAMAAAAoAC0AAAABAAMAAAAoAC4AAAABAAMAAAAoAC8AAAABAAMAAAAoADAAAAABAAMAAAAoADEAAAABAAMAAAAoADIAAAABAAMAAAAoADMAAAABAAMAAAAoADQAAAABAAMAAAAoADUAAAABAAMAAAApAAAAAAABAAMAAAApAAEAAAABAAMAAAApAAIAAAABAAMAAAApAAMAAAABAAMAAAApAAQAAAABAAMAAAApAAUAAAABAAMAAAApAAYAAAABAAMAAAApAAcAAAABAAMAAAApAAgAAAABAAMAAAApAAkAAAABAAMAAAApAAoAAAABAAMAAAApAAsAAAABAAMAAAApAAwAAAABAAMAAAApAA0AAAABAAMAAAApAA4AAAABAAMAAAApAA8AAAABAAMAAAApABAAAAABAAMAAAApABEAAAABAAMAAAApABIAAAABAAMAAAApABMAAAABAAMAAAApABQAAAABAAMAAAApABUAAAABAAMAAAApABYAAAABAAMAAAApABcAAAABAAMAAAApABgAAAABAAMAAAApABkAAAABAAMAAAApABoAAAABAAMAAAApABsAAAABAAMAAAApABwAAAABAAMAAAApAB0AAAABAAMAAAApAB4AAAABAAMAAAApAB8AAAABAAMAAAApACAAAAABAAMAAAApACEAAAABAAMAAAApACIAAAABAAMAAAApACMAAAABAAMAAAApACQAAAABAAMAAAApACUAAAABAAMAAAApACYAAAABAAMAAAApACcAAAABAAMAAAApACgAAAABAAMAAAApACkAAAABAAMAAAApACoAAAABAAMAAAApACsAAAABAAMAAAApACwAAAABAAMAAAApAC0AAAABAAMAAAApAC4AAAABAAMAAAApAC8AAAABAAMAAAApADAAAAABAAMAAAApADEAAAABAAMAAAApADIAAAABAAMAAAApADMAAAABAAMAAAApADQAAAABAAMAAAApADUAAAABAAMAAAAqAAAAAAABAAMAAAAqAAEAAAABAAMAAAAqAAIAAAABAAMAAAAqAAMAAAABAAMAAAAqAAQAAAABAAMAAAAqAAUAAAABAAMAAAAqAAYAAAABAAMAAAAqAAcAAAABAAMAAAAqAAgAAAABAAMAAAAqAAkAAAABAAMAAAAqAAoAAAABAAMAAAAqAAsAAAABAAMAAAAqAAwAAAABAAMAAAAqAA0AAAABAAMAAAAqAA4AAAABAAMAAAAqAA8AAAABAAMAAAAqABAAAAABAAMAAAAqABEAAAABAAMAAAAqABIAAAABAAMAAAAqABMAAAABAAMAAAAqABQAAAABAAMAAAAqABUAAAABAAMAAAAqABYAAAABAAMAAAAqABcAAAABAAMAAAAqABgAAAABAAMAAAAqABkAAAABAAMAAAAqABoAAAABAAMAAAAqABsAAAABAAMAAAAqABwAAAABAAMAAAAqAB0AAAABAAMAAAAqAB4AAAABAAMAAAAqAB8AAAABAAMAAAAqACAAAAABAAMAAAAqACEAAAABAAMAAAAqACIAAAABAAMAAAAqACMAAAABAAMAAAAqACQAAAABAAMAAAAqACUAAAABAAMAAAAqACYAAAABAAMAAAAqACcAAAABAAMAAAAqACgAAAABAAMAAAAqACkAAAABAAMAAAAqACoAAAABAAMAAAAqACsAAAABAAMAAAAqACwAAAABAAMAAAAqAC0AAAABAAMAAAAqAC4AAAABAAMAAAAqAC8AAAABAAMAAAAqADAAAAABAAMAAAAqADEAAAABAAMAAAAqADIAAAABAAMAAAAqADMAAAABAAMAAAAqADQAAAABAAMAAAAqADUAAAABAAMAAAArAAAAAAABAAMAAAArAAEAAAABAAMAAAArAAIAAAABAAMAAAArAAMAAAABAAMAAAArAAQAAAABAAMAAAArAAUAAAABAAMAAAArAAYAAAABAAMAAAArAAcAAAABAAMAAAArAAgAAAABAAMAAAArAAkAAAABAAMAAAArAAoAAAABAAMAAAArAAsAAAABAAMAAAArAAwAAAABAAMAAAArAA0AAAABAAMAAAArAA4AAAABAAMAAAArAA8AAAABAAMAAAArABAAAAABAAMAAAArABEAAAABAAMAAAArABIAAAABAAMAAAArABMAAAABAAMAAAArABQAAAABAAMAAAArABUAAAABAAMAAAArABYAAAABAAMAAAArABcAAAABAAMAAAArABgAAAABAAMAAAArABkAAAABAAMAAAArABoAAAABAAMAAAArABsAAAABAAMAAAArABwAAAABAAMAAAArAB0AAAABAAMAAAArAB4AAAABAAMAAAArAB8AAAABAAMAAAArACAAAAABAAMAAAArACEAAAABAAMAAAArACIAAAABAAMAAAArACMAAAABAAMAAAArACQAAAABAAMAAAArACUAAAABAAMAAAArACYAAAABAAMAAAArACcAAAABAAMAAAArACgAAAABAAMAAAArACkAAAABAAMAAAArACoAAAABAAMAAAArACsAAAABAAMAAAArACwAAAABAAMAAAArAC0AAAABAAMAAAArAC4AAAABAAMAAAArAC8AAAABAAMAAAArADAAAAABAAMAAAArADEAAAABAAMAAAArADIAAAABAAMAAAArADMAAAABAAMAAAArADQAAAABAAMAAAArADUAAAABAAMAAAAsAAAAAAABAAMAAAAsAAEAAAABAAMAAAAsAAIAAAABAAMAAAAsAAMAAAABAAMAAAAsAAQAAAABAAMAAAAsAAUAAAABAAMAAAAsAAYAAAABAAMAAAAsAAcAAAABAAMAAAAsAAgAAAABAAMAAAAsAAkAAAABAAMAAAAsAAoAAAABAAMAAAAsAAsAAAABAAMAAAAsAAwAAAABAAMAAAAsAA0AAAABAAMAAAAsAA4AAAABAAMAAAAsAA8AAAABAAMAAAAsABAAAAABAAMAAAAsABEAAAABAAMAAAAsABIAAAABAAMAAAAsABMAAAABAAMAAAAsABQAAAABAAMAAAAsABUAAAABAAMAAAAsABYAAAABAAMAAAAsABcAAAABAAMAAAAsABgAAAABAAMAAAAsABkAAAABAAMAAAAsABoAAAABAAMAAAAsABsAAAABAAMAAAAsABwAAAABAAMAAAAsAB0AAAABAAMAAAAsAB4AAAABAAMAAAAsAB8AAAABAAMAAAAsACAAAAABAAMAAAAsACEAAAABAAMAAAAsACIAAAABAAMAAAAsACMAAAABAAMAAAAsACQAAAABAAMAAAAsACUAAAABAAMAAAAsACYAAAABAAMAAAAsACcAAAABAAMAAAAsACgAAAABAAMAAAAsACkAAAABAAMAAAAsACoAAAABAAMAAAAsACsAAAABAAMAAAAsACwAAAABAAMAAAAsAC0AAAABAAMAAAAsAC4AAAABAAMAAAAsAC8AAAABAAMAAAAsADAAAAABAAMAAAAsADEAAAABAAMAAAAsADIAAAABAAMAAAAsADMAAAABAAMAAAAsADQAAAABAAMAAAAsADUAAAABAAMAAAAtAAAAAAABAAMAAAAtAAEAAAABAAMAAAAtAAIAAAABAAMAAAAtAAMAAAABAAMAAAAtAAQAAAABAAMAAAAtAAUAAAABAAMAAAAtAAYAAAABAAMAAAAtAAcAAAABAAMAAAAtAAgAAAABAAMAAAAtAAkAAAABAAMAAAAtAAoAAAABAAMAAAAtAAsAAAABAAMAAAAtAAwAAAABAAMAAAAtAA0AAAABAAMAAAAtAA4AAAABAAMAAAAtAA8AAAABAAMAAAAtABAAAAABAAMAAAAtABEAAAABAAMAAAAtABIAAAABAAMAAAAtABMAAAABAAMAAAAtABQAAAABAAMAAAAtABUAAAABAAMAAAAtABYAAAABAAMAAAAtABcAAAABAAMAAAAtABgAAAABAAMAAAAtABkAAAABAAMAAAAtABoAAAABAAMAAAAtABsAAAABAAMAAAAtABwAAAABAAMAAAAtAB0AAAABAAMAAAAtAB4AAAABAAMAAAAtAB8AAAABAAMAAAAtACAAAAABAAMAAAAtACEAAAABAAMAAAAtACIAAAABAAMAAAAtACMAAAABAAMAAAAtACQAAAABAAMAAAAtACUAAAABAAMAAAAtACYAAAABAAMAAAAtACcAAAABAAMAAAAtACgAAAABAAMAAAAtACkAAAABAAMAAAAtACoAAAABAAMAAAAtACsAAAABAAMAAAAtACwAAAABAAMAAAAtAC0AAAABAAMAAAAtAC4AAAABAAMAAAAtAC8AAAABAAMAAAAtADAAAAABAAMAAAAtADEAAAABAAMAAAAtADIAAAABAAMAAAAtADMAAAABAAMAAAAtADQAAAABAAMAAAAtADUAAAABAAMAAAAuAAAAAAABAAMAAAAuAAEAAAABAAMAAAAuAAIAAAABAAMAAAAuAAMAAAABAAMAAAAuAAQAAAABAAMAAAAuAAUAAAABAAMAAAAuAAYAAAABAAMAAAAuAAcAAAABAAMAAAAuAAgAAAABAAMAAAAuAAkAAAABAAMAAAAuAAoAAAABAAMAAAAuAAsAAAABAAMAAAAuAAwAAAABAAMAAAAuAA0AAAABAAMAAAAuAA4AAAABAAMAAAAuAA8AAAABAAMAAAAuABAAAAABAAMAAAAuABEAAAABAAMAAAAuABIAAAABAAMAAAAuABMAAAABAAMAAAAuABQAAAABAAMAAAAuABUAAAABAAMAAAAuABYAAAABAAMAAAAuABcAAAABAAMAAAAuABgAAAABAAMAAAAuABkAAAABAAMAAAAuABoAAAABAAMAAAAuABsAAAABAAMAAAAuABwAAAABAAMAAAAuAB0AAAABAAMAAAAuAB4AAAABAAMAAAAuAB8AAAABAAMAAAAuACAAAAABAAMAAAAuACEAAAABAAMAAAAuACIAAAABAAMAAAAuACMAAAABAAMAAAAuACQAAAABAAMAAAAuACUAAAABAAMAAAAuACYAAAABAAMAAAAuACcAAAABAAMAAAAuACgAAAABAAMAAAAuACkAAAABAAMAAAAuACoAAAABAAMAAAAuACsAAAABAAMAAAAuACwAAAABAAMAAAAuAC0AAAABAAMAAAAuAC4AAAABAAMAAAAuAC8AAAABAAMAAAAuADAAAAABAAMAAAAuADEAAAABAAMAAAAuADIAAAABAAMAAAAuADMAAAABAAMAAAAuADQAAAABAAMAAAAuADUAAAABAAMAAAAvAAAAAAABAAMAAAAvAAEAAAABAAMAAAAvAAIAAAABAAMAAAAvAAMAAAABAAMAAAAvAAQAAAABAAMAAAAvAAUAAAABAAMAAAAvAAYAAAABAAMAAAAvAAcAAAABAAMAAAAvAAgAAAABAAMAAAAvAAkAAAABAAMAAAAvAAoAAAABAAMAAAAvAAsAAAABAAMAAAAvAAwAAAABAAMAAAAvAA0AAAABAAMAAAAvAA4AAAABAAMAAAAvAA8AAAABAAMAAAAvABAAAAABAAMAAAAvABEAAAABAAMAAAAvABIAAAABAAMAAAAvABMAAAABAAMAAAAvABQAAAABAAMAAAAvABUAAAABAAMAAAAvABYAAAABAAMAAAAvABcAAAABAAMAAAAvABgAAAABAAMAAAAvABkAAAABAAMAAAAvABoAAAABAAMAAAAvABsAAAABAAMAAAAvABwAAAABAAMAAAAvAB0AAAABAAMAAAAvAB4AAAABAAMAAAAvAB8AAAABAAMAAAAvACAAAAABAAMAAAAvACEAAAABAAMAAAAvACIAAAABAAMAAAAvACMAAAABAAMAAAAvACQAAAABAAMAAAAvACUAAAABAAMAAAAvACYAAAABAAMAAAAvACcAAAABAAMAAAAvACgAAAABAAMAAAAvACkAAAABAAMAAAAvACoAAAABAAMAAAAvACsAAAABAAMAAAAvACwAAAABAAMAAAAvAC0AAAABAAMAAAAvAC4AAAABAAMAAAAvAC8AAAABAAMAAAAvADAAAAABAAMAAAAvADEAAAABAAMAAAAvADIAAAABAAMAAAAvADMAAAABAAMAAAAvADQAAAABAAMAAAAvADUAAAABAAMAAAAwAAAAAAABAAMAAAAwAAEAAAABAAMAAAAwAAIAAAABAAMAAAAwAAMAAAABAAMAAAAwAAQAAAABAAMAAAAwAAUAAAABAAMAAAAwAAYAAAABAAMAAAAwAAcAAAABAAMAAAAwAAgAAAABAAMAAAAwAAkAAAABAAMAAAAwAAoAAAABAAMAAAAwAAsAAAABAAMAAAAwAAwAAAABAAMAAAAwAA0AAAABAAMAAAAwAA4AAAABAAMAAAAwAA8AAAABAAMAAAAwABAAAAABAAMAAAAwABEAAAABAAMAAAAwABIAAAABAAMAAAAwABMAAAABAAMAAAAwABQAAAABAAMAAAAwABUAAAABAAMAAAAwABYAAAABAAMAAAAwABcAAAABAAMAAAAwABgAAAABAAMAAAAwABkAAAABAAMAAAAwABoAAAABAAMAAAAwABsAAAABAAMAAAAwABwAAAABAAMAAAAwAB0AAAABAAMAAAAwAB4AAAABAAMAAAAwAB8AAAABAAMAAAAwACAAAAABAAMAAAAwACEAAAABAAMAAAAwACIAAAABAAMAAAAwACMAAAABAAMAAAAwACQAAAABAAMAAAAwACUAAAABAAMAAAAwACYAAAABAAMAAAAwACcAAAABAAMAAAAwACgAAAABAAMAAAAwACkAAAABAAMAAAAwACoAAAABAAMAAAAwACsAAAABAAMAAAAwACwAAAABAAMAAAAwAC0AAAABAAMAAAAwAC4AAAABAAMAAAAwAC8AAAABAAMAAAAwADAAAAABAAMAAAAwADEAAAABAAMAAAAwADIAAAABAAMAAAAwADMAAAABAAMAAAAwADQAAAABAAMAAAAwADUAAAABAAMAAAAxAAAAAAABAAMAAAAxAAEAAAABAAMAAAAxAAIAAAABAAMAAAAxAAMAAAABAAMAAAAxAAQAAAABAAMAAAAxAAUAAAABAAMAAAAxAAYAAAABAAMAAAAxAAcAAAABAAMAAAAxAAgAAAABAAMAAAAxAAkAAAABAAMAAAAxAAoAAAABAAMAAAAxAAsAAAABAAMAAAAxAAwAAAABAAMAAAAxAA0AAAABAAMAAAAxAA4AAAABAAMAAAAxAA8AAAABAAMAAAAxABAAAAABAAMAAAAxABEAAAABAAMAAAAxABIAAAABAAMAAAAxABMAAAABAAMAAAAxABQAAAABAAMAAAAxABUAAAABAAMAAAAxABYAAAABAAMAAAAxABcAAAABAAMAAAAxABgAAAABAAMAAAAxABkAAAABAAMAAAAxABoAAAABAAMAAAAxABsAAAABAAMAAAAxABwAAAABAAMAAAAxAB0AAAABAAMAAAAxAB4AAAABAAMAAAAxAB8AAAABAAMAAAAxACAAAAABAAMAAAAxACEAAAABAAMAAAAxACIAAAABAAMAAAAxACMAAAABAAMAAAAxACQAAAABAAMAAAAxACUAAAABAAMAAAAxACYAAAABAAMAAAAxACcAAAABAAMAAAAxACgAAAABAAMAAAAxACkAAAABAAMAAAAxACoAAAABAAMAAAAxACsAAAABAAMAAAAxACwAAAABAAMAAAAxAC0AAAABAAMAAAAxAC4AAAABAAMAAAAxAC8AAAABAAMAAAAxADAAAAABAAMAAAAxADEAAAABAAMAAAAxADIAAAABAAMAAAAxADMAAAABAAMAAAAxADQAAAABAAMAAAAxADUAAAABAAMAAAAyAAAAAAABAAMAAAAyAAEAAAABAAMAAAAyAAIAAAABAAMAAAAyAAMAAAABAAMAAAAyAAQAAAABAAMAAAAyAAUAAAABAAMAAAAyAAYAAAABAAMAAAAyAAcAAAABAAMAAAAyAAgAAAABAAMAAAAyAAkAAAABAAMAAAAyAAoAAAABAAMAAAAyAAsAAAABAAMAAAAyAAwAAAABAAMAAAAyAA0AAAABAAMAAAAyAA4AAAABAAMAAAAyAA8AAAABAAMAAAAyABAAAAABAAMAAAAyABEAAAABAAMAAAAyABIAAAABAAMAAAAyABMAAAABAAMAAAAyABQAAAABAAMAAAAyABUAAAABAAMAAAAyABYAAAABAAMAAAAyABcAAAABAAMAAAAyABgAAAABAAMAAAAyABkAAAABAAMAAAAyABoAAAABAAMAAAAyABsAAAABAAMAAAAyABwAAAABAAMAAAAyAB0AAAABAAMAAAAyAB4AAAABAAMAAAAyAB8AAAABAAMAAAAyACAAAAABAAMAAAAyACEAAAABAAMAAAAyACIAAAABAAMAAAAyACMAAAABAAMAAAAyACQAAAABAAMAAAAyACUAAAABAAMAAAAyACYAAAABAAMAAAAyACcAAAABAAMAAAAyACgAAAABAAMAAAAyACkAAAABAAMAAAAyACoAAAABAAMAAAAyACsAAAABAAMAAAAyACwAAAABAAMAAAAyAC0AAAABAAMAAAAyAC4AAAABAAMAAAAyAC8AAAABAAMAAAAyADAAAAABAAMAAAAyADEAAAABAAMAAAAyADIAAAABAAMAAAAyADMAAAABAAMAAAAyADQAAAABAAMAAAAyADUAAAABAAMAAAAzAAAAAAABAAMAAAAzAAEAAAABAAMAAAAzAAIAAAABAAMAAAAzAAMAAAABAAMAAAAzAAQAAAABAAMAAAAzAAUAAAABAAMAAAAzAAYAAAABAAMAAAAzAAcAAAABAAMAAAAzAAgAAAABAAMAAAAzAAkAAAABAAMAAAAzAAoAAAABAAMAAAAzAAsAAAABAAMAAAAzAAwAAAABAAMAAAAzAA0AAAABAAMAAAAzAA4AAAABAAMAAAAzAA8AAAABAAMAAAAzABAAAAABAAMAAAAzABEAAAABAAMAAAAzABIAAAABAAMAAAAzABMAAAABAAMAAAAzABQAAAABAAMAAAAzABUAAAABAAMAAAAzABYAAAABAAMAAAAzABcAAAABAAMAAAAzABgAAAABAAMAAAAzABkAAAABAAMAAAAzABoAAAABAAMAAAAzABsAAAABAAMAAAAzABwAAAABAAMAAAAzAB0AAAABAAMAAAAzAB4AAAABAAMAAAAzAB8AAAABAAMAAAAzACAAAAABAAMAAAAzACEAAAABAAMAAAAzACIAAAABAAMAAAAzACMAAAABAAMAAAAzACQAAAABAAMAAAAzACUAAAABAAMAAAAzACYAAAABAAMAAAAzACcAAAABAAMAAAAzACgAAAABAAMAAAAzACkAAAABAAMAAAAzACoAAAABAAMAAAAzACsAAAABAAMAAAAzACwAAAABAAMAAAAzAC0AAAABAAMAAAAzAC4AAAABAAMAAAAzAC8AAAABAAMAAAAzADAAAAABAAMAAAAzADEAAAABAAMAAAAzADIAAAABAAMAAAAzADMAAAABAAMAAAAzADQAAAABAAMAAAAzADUAAAABAAMAAAA0AAAAAAABAAMAAAA0AAEAAAABAAMAAAA0AAIAAAABAAMAAAA0AAMAAAABAAMAAAA0AAQAAAABAAMAAAA0AAUAAAABAAMAAAA0AAYAAAABAAMAAAA0AAcAAAABAAMAAAA0AAgAAAABAAMAAAA0AAkAAAABAAMAAAA0AAoAAAABAAMAAAA0AAsAAAABAAMAAAA0AAwAAAABAAMAAAA0AA0AAAABAAMAAAA0AA4AAAABAAMAAAA0AA8AAAABAAMAAAA0ABAAAAABAAMAAAA0ABEAAAABAAMAAAA0ABIAAAABAAMAAAA0ABMAAAABAAMAAAA0ABQAAAABAAMAAAA0ABUAAAABAAMAAAA0ABYAAAABAAMAAAA0ABcAAAABAAMAAAA0ABgAAAABAAMAAAA0ABkAAAABAAMAAAA0ABoAAAABAAMAAAA0ABsAAAABAAMAAAA0ABwAAAABAAMAAAA0AB0AAAABAAMAAAA0AB4AAAABAAMAAAA0AB8AAAABAAMAAAA0ACAAAAABAAMAAAA0ACEAAAABAAMAAAA0ACIAAAABAAMAAAA0ACMAAAABAAMAAAA0ACQAAAABAAMAAAA0ACUAAAABAAMAAAA0ACYAAAABAAMAAAA0ACcAAAABAAMAAAA0ACgAAAABAAMAAAA0ACkAAAABAAMAAAA0ACoAAAABAAMAAAA0ACsAAAABAAMAAAA0ACwAAAABAAMAAAA0AC0AAAABAAMAAAA0AC4AAAABAAMAAAA0AC8AAAABAAMAAAA0ADAAAAABAAMAAAA0ADEAAAABAAMAAAA0ADIAAAABAAMAAAA0ADMAAAABAAMAAAA0ADQAAAABAAMAAAA0ADUAAAABAAMAAAA1AAAAAAABAAMAAAA1AAEAAAABAAMAAAA1AAIAAAABAAMAAAA1AAMAAAABAAMAAAA1AAQAAAABAAMAAAA1AAUAAAABAAMAAAA1AAYAAAABAAMAAAA1AAcAAAABAAMAAAA1AAgAAAABAAMAAAA1AAkAAAABAAMAAAA1AAoAAAABAAMAAAA1AAsAAAABAAMAAAA1AAwAAAABAAMAAAA1AA0AAAABAAMAAAA1AA4AAAABAAMAAAA1AA8AAAABAAMAAAA1ABAAAAABAAMAAAA1ABEAAAABAAMAAAA1ABIAAAABAAMAAAA1ABMAAAABAAMAAAA1ABQAAAABAAMAAAA1ABUAAAABAAMAAAA1ABYAAAABAAMAAAA1ABcAAAABAAMAAAA1ABgAAAABAAMAAAA1ABkAAAABAAMAAAA1ABoAAAABAAMAAAA1ABsAAAABAAMAAAA1ABwAAAABAAMAAAA1AB0AAAABAAMAAAA1AB4AAAABAAMAAAA1AB8AAAABAAMAAAA1ACAAAAABAAMAAAA1ACEAAAABAAMAAAA1ACIAAAABAAMAAAA1ACMAAAABAAMAAAA1ACQAAAABAAMAAAA1ACUAAAABAAMAAAA1ACYAAAABAAMAAAA1ACcAAAABAAMAAAA1ACgAAAABAAMAAAA1ACkAAAABAAMAAAA1ACoAAAABAAMAAAA1ACsAAAABAAMAAAA1ACwAAAABAAMAAAA1AC0AAAABAAMAAAA1AC4AAAABAAMAAAA1AC8AAAABAAMAAAA1ADAAAAABAAMAAAA1ADEAAAABAAMAAAA1ADIAAAABAAMAAAA1ADMAAAABAAMAAAA1ADQAAAABAAMAAAA1ADUAAAABAAMAAAA2AAAAAAABAAMAAAA2AAEAAAABAAMAAAA2AAIAAAABAAMAAAA2AAMAAAABAAMAAAA2AAQAAAABAAMAAAA2AAUAAAABAAMAAAA2AAYAAAABAAMAAAA2AAcAAAABAAMAAAA2AAgAAAABAAMAAAA2AAkAAAABAAMAAAA2AAoAAAABAAMAAAA2AAsAAAABAAMAAAA2AAwAAAABAAMAAAA2AA0AAAABAAMAAAA2AA4AAAABAAMAAAA2AA8AAAABAAMAAAA2ABAAAAABAAMAAAA2ABEAAAABAAMAAAA2ABIAAAABAAMAAAA2ABMAAAABAAMAAAA2ABQAAAABAAMAAAA2ABUAAAABAAMAAAA2ABYAAAABAAMAAAA2ABcAAAABAAMAAAA2ABgAAAABAAMAAAA2ABkAAAABAAMAAAA2ABoAAAABAAMAAAA2ABsAAAABAAMAAAA2ABwAAAABAAMAAAA2AB0AAAABAAMAAAA2AB4AAAABAAMAAAA2AB8AAAABAAMAAAA2ACAAAAABAAMAAAA2ACEAAAABAAMAAAA2ACIAAAABAAMAAAA2ACMAAAABAAMAAAA2ACQAAAABAAMAAAA2ACUAAAABAAMAAAA2ACYAAAABAAMAAAA2ACcAAAABAAMAAAA2ACgAAAABAAMAAAA2ACkAAAABAAMAAAA2ACoAAAABAAMAAAA2ACsAAAABAAMAAAA2ACwAAAABAAMAAAA2AC0AAAABAAMAAAA2AC4AAAABAAMAAAA2AC8AAAABAAMAAAA2ADAAAAABAAMAAAA2ADEAAAABAAMAAAA2ADIAAAABAAMAAAA2ADMAAAABAAMAAAA2ADQAAAABAAMAAAA2ADUAAAABAAMAAAA3AAAAAAABAAMAAAA3AAEAAAABAAMAAAA3AAIAAAABAAMAAAA3AAMAAAABAAMAAAA3AAQAAAABAAMAAAA3AAUAAAABAAMAAAA3AAYAAAABAAMAAAA3AAcAAAABAAMAAAA3AAgAAAABAAMAAAA3AAkAAAABAAMAAAA3AAoAAAABAAMAAAA3AAsAAAABAAMAAAA3AAwAAAABAAMAAAA3AA0AAAABAAMAAAA3AA4AAAABAAMAAAA3AA8AAAABAAMAAAA3ABAAAAABAAMAAAA3ABEAAAABAAMAAAA3ABIAAAABAAMAAAA3ABMAAAABAAMAAAA3ABQAAAABAAMAAAA3ABUAAAABAAMAAAA3ABYAAAABAAMAAAA3ABcAAAABAAMAAAA3ABgAAAABAAMAAAA3ABkAAAABAAMAAAA3ABoAAAABAAMAAAA3ABsAAAABAAMAAAA3ABwAAAABAAMAAAA3AB0AAAABAAMAAAA3AB4AAAABAAMAAAA3AB8AAAABAAMAAAA3ACAAAAABAAMAAAA3ACEAAAABAAMAAAA3ACIAAAABAAMAAAA3ACMAAAABAAMAAAA3ACQAAAABAAMAAAA3ACUAAAABAAMAAAA3ACYAAAABAAMAAAA3ACcAAAABAAMAAAA3ACgAAAABAAMAAAA3ACkAAAABAAMAAAA3ACoAAAABAAMAAAA3ACsAAAABAAMAAAA3ACwAAAABAAMAAAA3AC0AAAABAAMAAAA3AC4AAAABAAMAAAA3AC8AAAABAAMAAAA3ADAAAAABAAMAAAA3ADEAAAABAAMAAAA3ADIAAAABAAMAAAA3ADMAAAABAAMAAAA3ADQAAAABAAMAAAA3ADUAAAABAAMAAAA4AAAAAAABAAMAAAA4AAEAAAABAAMAAAA4AAIAAAABAAMAAAA4AAMAAAABAAMAAAA4AAQAAAABAAMAAAA4AAUAAAABAAMAAAA4AAYAAAABAAMAAAA4AAcAAAABAAMAAAA4AAgAAAABAAMAAAA4AAkAAAABAAMAAAA4AAoAAAABAAMAAAA4AAsAAAABAAMAAAA4AAwAAAABAAMAAAA4AA0AAAABAAMAAAA4AA4AAAABAAMAAAA4AA8AAAABAAMAAAA4ABAAAAABAAMAAAA4ABEAAAABAAMAAAA4ABIAAAABAAMAAAA4ABMAAAABAAMAAAA4ABQAAAABAAMAAAA4ABUAAAABAAMAAAA4ABYAAAABAAMAAAA4ABcAAAABAAMAAAA4ABgAAAABAAMAAAA4ABkAAAABAAMAAAA4ABoAAAABAAMAAAA4ABsAAAABAAMAAAA4ABwAAAABAAMAAAA4AB0AAAABAAMAAAA4AB4AAAABAAMAAAA4AB8AAAABAAMAAAA4ACAAAAABAAMAAAA4ACEAAAABAAMAAAA4ACIAAAABAAMAAAA4ACMAAAABAAMAAAA4ACQAAAABAAMAAAA4ACUAAAABAAMAAAA4ACYAAAABAAMAAAA4ACcAAAABAAMAAAA4ACgAAAABAAMAAAA4ACkAAAABAAMAAAA4ACoAAAABAAMAAAA4ACsAAAABAAMAAAA4ACwAAAABAAMAAAA4AC0AAAABAAMAAAA4AC4AAAABAAMAAAA4AC8AAAABAAMAAAA4ADAAAAABAAMAAAA4ADEAAAABAAMAAAA4ADIAAAABAAMAAAA4ADMAAAABAAMAAAA4ADQAAAABAAMAAAA4ADUAAAABAAMAAAA5AAAAAAABAAMAAAA5AAEAAAABAAMAAAA5AAIAAAABAAMAAAA5AAMAAAABAAMAAAA5AAQAAAABAAMAAAA5AAUAAAABAAMAAAA5AAYAAAABAAMAAAA5AAcAAAABAAMAAAA5AAgAAAABAAMAAAA5AAkAAAABAAMAAAA5AAoAAAABAAMAAAA5AAsAAAABAAMAAAA5AAwAAAABAAMAAAA5AA0AAAABAAMAAAA5AA4AAAABAAMAAAA5AA8AAAABAAMAAAA5ABAAAAABAAMAAAA5ABEAAAABAAMAAAA5ABIAAAABAAMAAAA5ABMAAAABAAMAAAA5ABQAAAABAAMAAAA5ABUAAAABAAMAAAA5ABYAAAABAAMAAAA5ABcAAAABAAMAAAA5ABgAAAABAAMAAAA5ABkAAAABAAMAAAA5ABoAAAABAAMAAAA5ABsAAAABAAMAAAA5ABwAAAABAAMAAAA5AB0AAAABAAMAAAA5AB4AAAABAAMAAAA5AB8AAAABAAMAAAA5ACAAAAABAAMAAAA5ACEAAAABAAMAAAA5ACIAAAABAAMAAAA5ACMAAAABAAMAAAA5ACQAAAABAAMAAAA5ACUAAAABAAMAAAA5ACYAAAABAAMAAAA5ACcAAAABAAMAAAA5ACgAAAABAAMAAAA5ACkAAAABAAMAAAA5ACoAAAABAAMAAAA5ACsAAAABAAMAAAA5ACwAAAABAAMAAAA5AC0AAAABAAMAAAA5AC4AAAABAAMAAAA5AC8AAAABAAMAAAA5ADAAAAABAAMAAAA5ADEAAAABAAMAAAA5ADIAAAABAAMAAAA5ADMAAAABAAMAAAA5ADQAAAABAAMAAAA5ADUAAAABAAMAAAA6AAAAAAABAAMAAAA6AAEAAAABAAMAAAA6AAIAAAABAAMAAAA6AAMAAAABAAMAAAA6AAQAAAABAAMAAAA6AAUAAAABAAMAAAA6AAYAAAABAAMAAAA6AAcAAAABAAMAAAA6AAgAAAABAAMAAAA6AAkAAAABAAMAAAA6AAoAAAABAAMAAAA6AAsAAAABAAMAAAA6AAwAAAABAAMAAAA6AA0AAAABAAMAAAA6AA4AAAABAAMAAAA6AA8AAAABAAMAAAA6ABAAAAABAAMAAAA6ABEAAAABAAMAAAA6ABIAAAABAAMAAAA6ABMAAAABAAMAAAA6ABQAAAABAAMAAAA6ABUAAAABAAMAAAA6ABYAAAABAAMAAAA6ABcAAAABAAMAAAA6ABgAAAABAAMAAAA6ABkAAAABAAMAAAA6ABoAAAABAAMAAAA6ABsAAAABAAMAAAA6ABwAAAABAAMAAAA6AB0AAAABAAMAAAA6AB4AAAABAAMAAAA6AB8AAAABAAMAAAA6ACAAAAABAAMAAAA6ACEAAAABAAMAAAA6ACIAAAABAAMAAAA6ACMAAAABAAMAAAA6ACQAAAABAAMAAAA6ACUAAAABAAMAAAA6ACYAAAABAAMAAAA6ACcAAAABAAMAAAA6ACgAAAABAAMAAAA6ACkAAAABAAMAAAA6ACoAAAABAAMAAAA6ACsAAAABAAMAAAA6ACwAAAABAAMAAAA6AC0AAAABAAMAAAA6AC4AAAABAAMAAAA6AC8AAAABAAMAAAA6ADAAAAABAAMAAAA6ADEAAAABAAMAAAA6ADIAAAABAAMAAAA6ADMAAAABAAMAAAA6ADQAAAABAAMAAAA6ADUAAAABAAMAAAA7AAAAAAABAAMAAAA7AAEAAAABAAMAAAA7AAIAAAABAAMAAAA7AAMAAAABAAMAAAA7AAQAAAABAAMAAAA7AAUAAAABAAMAAAA7AAYAAAABAAMAAAA7AAcAAAABAAMAAAA7AAgAAAABAAMAAAA7AAkAAAABAAMAAAA7AAoAAAABAAMAAAA7AAsAAAABAAMAAAA7AAwAAAABAAMAAAA7AA0AAAABAAMAAAA7AA4AAAABAAMAAAA7AA8AAAABAAMAAAA7ABAAAAABAAMAAAA7ABEAAAABAAMAAAA7ABIAAAABAAMAAAA7ABMAAAABAAMAAAA7ABQAAAABAAMAAAA7ABUAAAABAAMAAAA7ABYAAAABAAMAAAA7ABcAAAABAAMAAAA7ABgAAAABAAMAAAA7ABkAAAABAAMAAAA7ABoAAAABAAMAAAA7ABsAAAABAAMAAAA7ABwAAAABAAMAAAA7AB0AAAABAAMAAAA7AB4AAAABAAMAAAA7AB8AAAABAAMAAAA7ACAAAAABAAMAAAA7ACEAAAABAAMAAAA7ACIAAAABAAMAAAA7ACMAAAABAAMAAAA7ACQAAAABAAMAAAA7ACUAAAABAAMAAAA7ACYAAAABAAMAAAA7ACcAAAABAAMAAAA7ACgAAAABAAMAAAA7ACkAAAABAAMAAAA7ACoAAAABAAMAAAA7ACsAAAABAAMAAAA7ACwAAAABAAMAAAA7AC0AAAABAAMAAAA7AC4AAAABAAMAAAA7AC8AAAABAAMAAAA7ADAAAAABAAMAAAA7ADEAAAABAAMAAAA7ADIAAAABAAMAAAA7ADMAAAABAAMAAAA7ADQAAAABAAMAAAA7ADUAAAABAAMAAAA8AAAAAAABAAMAAAA8AAEAAAABAAMAAAA8AAIAAAABAAMAAAA8AAMAAAABAAMAAAA8AAQAAAABAAMAAAA8AAUAAAABAAMAAAA8AAYAAAABAAMAAAA8AAcAAAABAAMAAAA8AAgAAAABAAMAAAA8AAkAAAABAAMAAAA8AAoAAAABAAMAAAA8AAsAAAABAAMAAAA8AAwAAAABAAMAAAA8AA0AAAABAAMAAAA8AA4AAAABAAMAAAA8AA8AAAABAAMAAAA8ABAAAAABAAMAAAA8ABEAAAABAAMAAAA8ABIAAAABAAMAAAA8ABMAAAABAAMAAAA8ABQAAAABAAMAAAA8ABUAAAABAAMAAAA8ABYAAAABAAMAAAA8ABcAAAABAAMAAAA8ABgAAAABAAMAAAA8ABkAAAABAAMAAAA8ABoAAAABAAMAAAA8ABsAAAABAAMAAAA8ABwAAAABAAMAAAA8AB0AAAABAAMAAAA8AB4AAAABAAMAAAA8AB8AAAABAAMAAAA8ACAAAAABAAMAAAA8ACEAAAABAAMAAAA8ACIAAAABAAMAAAA8ACMAAAABAAMAAAA8ACQAAAABAAMAAAA8ACUAAAABAAMAAAA8ACYAAAABAAMAAAA8ACcAAAABAAMAAAA8ACgAAAABAAMAAAA8ACkAAAABAAMAAAA8ACoAAAABAAMAAAA8ACsAAAABAAMAAAA8ACwAAAABAAMAAAA8AC0AAAABAAMAAAA8AC4AAAABAAMAAAA8AC8AAAABAAMAAAA8ADAAAAABAAMAAAA8ADEAAAABAAMAAAA8ADIAAAABAAMAAAA8ADMAAAABAAMAAAA8ADQAAAABAAMAAAA8ADUAAAABAAMAAAA9AAAAAAABAAMAAAA9AAEAAAABAAMAAAA9AAIAAAABAAMAAAA9AAMAAAABAAMAAAA9AAQAAAABAAMAAAA9AAUAAAABAAMAAAA9AAYAAAABAAMAAAA9AAcAAAABAAMAAAA9AAgAAAABAAMAAAA9AAkAAAABAAMAAAA9AAoAAAABAAMAAAA9AAsAAAABAAMAAAA9AAwAAAABAAMAAAA9AA0AAAABAAMAAAA9AA4AAAABAAMAAAA9AA8AAAABAAMAAAA9ABAAAAABAAMAAAA9ABEAAAABAAMAAAA9ABIAAAABAAMAAAA9ABMAAAABAAMAAAA9ABQAAAABAAMAAAA9ABUAAAABAAMAAAA9ABYAAAABAAMAAAA9ABcAAAABAAMAAAA9ABgAAAABAAMAAAA9ABkAAAABAAMAAAA9ABoAAAABAAMAAAA9ABsAAAABAAMAAAA9ABwAAAABAAMAAAA9AB0AAAABAAMAAAA9AB4AAAABAAMAAAA9AB8AAAABAAMAAAA9ACAAAAABAAMAAAA9ACEAAAABAAMAAAA9ACIAAAABAAMAAAA9ACMAAAABAAMAAAA9ACQAAAABAAMAAAA9ACUAAAABAAMAAAA9ACYAAAABAAMAAAA9ACcAAAABAAMAAAA9ACgAAAABAAMAAAA9ACkAAAABAAMAAAA9ACoAAAABAAMAAAA9ACsAAAABAAMAAAA9ACwAAAABAAMAAAA9AC0AAAABAAMAAAA9AC4AAAABAAMAAAA9AC8AAAABAAMAAAA9ADAAAAABAAMAAAA9ADEAAAABAAMAAAA9ADIAAAABAAMAAAA9ADMAAAABAAMAAAA9ADQAAAABAAMAAAA9ADUAAAABAAMAAAA+AAAAAAABAAMAAAA+AAEAAAABAAMAAAA+AAIAAAABAAMAAAA+AAMAAAABAAMAAAA+AAQAAAABAAMAAAA+AAUAAAABAAMAAAA+AAYAAAABAAMAAAA+AAcAAAABAAMAAAA+AAgAAAABAAMAAAA+AAkAAAABAAMAAAA+AAoAAAABAAMAAAA+AAsAAAABAAMAAAA+AAwAAAABAAMAAAA+AA0AAAABAAMAAAA+AA4AAAABAAMAAAA+AA8AAAABAAMAAAA+ABAAAAABAAMAAAA+ABEAAAABAAMAAAA+ABIAAAABAAMAAAA+ABMAAAABAAMAAAA+ABQAAAABAAMAAAA+ABUAAAABAAMAAAA+ABYAAAABAAMAAAA+ABcAAAABAAMAAAA+ABgAAAABAAMAAAA+ABkAAAABAAMAAAA+ABoAAAABAAMAAAA+ABsAAAABAAMAAAA+ABwAAAABAAMAAAA+AB0AAAABAAMAAAA+AB4AAAABAAMAAAA+AB8AAAABAAMAAAA+ACAAAAABAAMAAAA+ACEAAAABAAMAAAA+ACIAAAABAAMAAAA+ACMAAAABAAMAAAA+ACQAAAABAAMAAAA+ACUAAAABAAMAAAA+ACYAAAABAAMAAAA+ACcAAAABAAMAAAA+ACgAAAABAAMAAAA+ACkAAAABAAMAAAA+ACoAAAABAAMAAAA+ACsAAAABAAMAAAA+ACwAAAABAAMAAAA+AC0AAAABAAMAAAA+AC4AAAABAAMAAAA+AC8AAAABAAMAAAA+ADAAAAABAAMAAAA+ADEAAAABAAMAAAA+ADIAAAABAAMAAAA+ADMAAAABAAMAAAA+ADQAAAABAAMAAAA+ADUAAAABAAMAAAA/AAAAAAABAAMAAAA/AAEAAAABAAMAAAA/AAIAAAABAAMAAAA/AAMAAAABAAMAAAA/AAQAAAABAAMAAAA/AAUAAAABAAMAAAA/AAYAAAABAAMAAAA/AAcAAAABAAMAAAA/AAgAAAABAAMAAAA/AAkAAAABAAMAAAA/AAoAAAABAAMAAAA/AAsAAAABAAMAAAA/AAwAAAABAAMAAAA/AA0AAAABAAMAAAA/AA4AAAABAAMAAAA/AA8AAAABAAMAAAA/ABAAAAABAAMAAAA/ABEAAAABAAMAAAA/ABIAAAABAAMAAAA/ABMAAAABAAMAAAA/ABQAAAABAAMAAAA/ABUAAAABAAMAAAA/ABYAAAABAAMAAAA/ABcAAAABAAMAAAA/ABgAAAABAAMAAAA/ABkAAAABAAMAAAA/ABoAAAABAAMAAAA/ABsAAAABAAMAAAA/ABwAAAABAAMAAAA/AB0AAAABAAMAAAA/AB4AAAABAAMAAAA/AB8AAAABAAMAAAA/ACAAAAABAAMAAAA/ACEAAAABAAMAAAA/ACIAAAABAAMAAAA/ACMAAAABAAMAAAA/ACQAAAABAAMAAAA/ACUAAAABAAMAAAA/ACYAAAABAAMAAAA/ACcAAAABAAMAAAA/ACgAAAABAAMAAAA/ACkAAAABAAMAAAA/ACoAAAABAAMAAAA/ACsAAAABAAMAAAA/ACwAAAABAAMAAAA/AC0AAAABAAMAAAA/AC4AAAABAAMAAAA/AC8AAAABAAMAAAA/ADAAAAABAAMAAAA/ADEAAAABAAMAAAA/ADIAAAABAAMAAAA/ADMAAAABAAMAAAA/ADQAAAABAAMAAAA/ADUAAAABAAMAAABAAAAAAAABAAMAAABAAAEAAAABAAMAAABAAAIAAAABAAMAAABAAAMAAAABAAMAAABAAAQAAAABAAMAAABAAAUAAAABAAMAAABAAAYAAAABAAMAAABAAAcAAAABAAMAAABAAAgAAAABAAMAAABAAAkAAAABAAMAAABAAAoAAAABAAMAAABAAAsAAAABAAMAAABAAAwAAAABAAMAAABAAA0AAAABAAMAAABAAA4AAAABAAMAAABAAA8AAAABAAMAAABAABAAAAABAAMAAABAABEAAAABAAMAAABAABIAAAABAAMAAABAABMAAAABAAMAAABAABQAAAABAAMAAABAABUAAAABAAMAAABAABYAAAABAAMAAABAABcAAAABAAMAAABAABgAAAABAAMAAABAABkAAAABAAMAAABAABoAAAABAAMAAABAABsAAAABAAMAAABAABwAAAABAAMAAABAAB0AAAABAAMAAABAAB4AAAABAAMAAABAAB8AAAABAAMAAABAACAAAAABAAMAAABAACEAAAABAAMAAABAACIAAAABAAMAAABAACMAAAABAAMAAABAACQAAAABAAMAAABAACUAAAABAAMAAABAACYAAAABAAMAAABAACcAAAABAAMAAABAACgAAAABAAMAAABAACkAAAABAAMAAABAACoAAAABAAMAAABAACsAAAABAAMAAABAACwAAAABAAMAAABAAC0AAAABAAMAAABAAC4AAAABAAMAAABAAC8AAAABAAMAAABAADAAAAABAAMAAABAADEAAAABAAMAAABAADIAAAABAAMAAABAADMAAAABAAMAAABAADQAAAABAAMAAABAADUAAAABAAMAAABBAAAAAAABAAMAAABBAAEAAAABAAMAAABBAAIAAAABAAMAAABBAAMAAAABAAMAAABBAAQAAAABAAMAAABBAAUAAAABAAMAAABBAAYAAAABAAMAAABBAAcAAAABAAMAAABBAAgAAAABAAMAAABBAAkAAAABAAMAAABBAAoAAAABAAMAAABBAAsAAAABAAMAAABBAAwAAAABAAMAAABBAA0AAAABAAMAAABBAA4AAAABAAMAAABBAA8AAAABAAMAAABBABAAAAABAAMAAABBABEAAAABAAMAAABBABIAAAABAAMAAABBABMAAAABAAMAAABBABQAAAABAAMAAABBABUAAAABAAMAAABBABYAAAABAAMAAABBABcAAAABAAMAAABBABgAAAABAAMAAABBABkAAAABAAMAAABBABoAAAABAAMAAABBABsAAAABAAMAAABBABwAAAABAAMAAABBAB0AAAABAAMAAABBAB4AAAABAAMAAABBAB8AAAABAAMAAABBACAAAAABAAMAAABBACEAAAABAAMAAABBACIAAAABAAMAAABBACMAAAABAAMAAABBACQAAAABAAMAAABBACUAAAABAAMAAABBACYAAAABAAMAAABBACcAAAABAAMAAABBACgAAAABAAMAAABBACkAAAABAAMAAABBACoAAAABAAMAAABBACsAAAABAAMAAABBACwAAAABAAMAAABBAC0AAAABAAMAAABBAC4AAAABAAMAAABBAC8AAAABAAMAAABBADAAAAABAAMAAABBADEAAAABAAMAAABBADIAAAABAAMAAABBADMAAAABAAMAAABBADQAAAABAAMAAABBADUAAAABAAMAAABCAAAAAAABAAMAAABCAAEAAAABAAMAAABCAAIAAAABAAMAAABCAAMAAAABAAMAAABCAAQAAAABAAMAAABCAAUAAAABAAMAAABCAAYAAAABAAMAAABCAAcAAAABAAMAAABCAAgAAAABAAMAAABCAAkAAAABAAMAAABCAAoAAAABAAMAAABCAAsAAAABAAMAAABCAAwAAAABAAMAAABCAA0AAAABAAMAAABCAA4AAAABAAMAAABCAA8AAAABAAMAAABCABAAAAABAAMAAABCABEAAAABAAMAAABCABIAAAABAAMAAABCABMAAAABAAMAAABCABQAAAABAAMAAABCABUAAAABAAMAAABCABYAAAABAAMAAABCABcAAAABAAMAAABCABgAAAABAAMAAABCABkAAAABAAMAAABCABoAAAABAAMAAABCABsAAAABAAMAAABCABwAAAABAAMAAABCAB0AAAABAAMAAABCAB4AAAABAAMAAABCAB8AAAABAAMAAABCACAAAAABAAMAAABCACEAAAABAAMAAABCACIAAAABAAMAAABCACMAAAABAAMAAABCACQAAAABAAMAAABCACUAAAABAAMAAABCACYAAAABAAMAAABCACcAAAABAAMAAABCACgAAAABAAMAAABCACkAAAABAAMAAABCACoAAAABAAMAAABCACsAAAABAAMAAABCACwAAAABAAMAAABCAC0AAAABAAMAAABCAC4AAAABAAMAAABCAC8AAAABAAMAAABCADAAAAABAAMAAABCADEAAAABAAMAAABCADIAAAABAAMAAABCADMAAAABAAMAAABCADQAAAABAAMAAABCADUAAAABAAMAAABDAAAAAAABAAMAAABDAAEAAAABAAMAAABDAAIAAAABAAMAAABDAAMAAAABAAMAAABDAAQAAAABAAMAAABDAAUAAAABAAMAAABDAAYAAAABAAMAAABDAAcAAAABAAMAAABDAAgAAAABAAMAAABDAAkAAAABAAMAAABDAAoAAAABAAMAAABDAAsAAAABAAMAAABDAAwAAAABAAMAAABDAA0AAAABAAMAAABDAA4AAAABAAMAAABDAA8AAAABAAMAAABDABAAAAABAAMAAABDABEAAAABAAMAAABDABIAAAABAAMAAABDABMAAAABAAMAAABDABQAAAABAAMAAABDABUAAAABAAMAAABDABYAAAABAAMAAABDABcAAAABAAMAAABDABgAAAABAAMAAABDABkAAAABAAMAAABDABoAAAABAAMAAABDABsAAAABAAMAAABDABwAAAABAAMAAABDAB0AAAABAAMAAABDAB4AAAABAAMAAABDAB8AAAABAAMAAABDACAAAAABAAMAAABDACEAAAABAAMAAABDACIAAAABAAMAAABDACMAAAABAAMAAABDACQAAAABAAMAAABDACUAAAABAAMAAABDACYAAAABAAMAAABDACcAAAABAAMAAABDACgAAAABAAMAAABDACkAAAABAAMAAABDACoAAAABAAMAAABDACsAAAABAAMAAABDACwAAAABAAMAAABDAC0AAAABAAMAAABDAC4AAAABAAMAAABDAC8AAAABAAMAAABDADAAAAABAAMAAABDADEAAAABAAMAAABDADIAAAABAAMAAABDADMAAAABAAMAAABDADQAAAABAAMAAABDADUAAAABAAMAAABEAAAAAAABAAMAAABEAAEAAAABAAMAAABEAAIAAAABAAMAAABEAAMAAAABAAMAAABEAAQAAAABAAMAAABEAAUAAAABAAMAAABEAAYAAAABAAMAAABEAAcAAAABAAMAAABEAAgAAAABAAMAAABEAAkAAAABAAMAAABEAAoAAAABAAMAAABEAAsAAAABAAMAAABEAAwAAAABAAMAAABEAA0AAAABAAMAAABEAA4AAAABAAMAAABEAA8AAAABAAMAAABEABAAAAABAAMAAABEABEAAAABAAMAAABEABIAAAABAAMAAABEABMAAAABAAMAAABEABQAAAABAAMAAABEABUAAAABAAMAAABEABYAAAABAAMAAABEABcAAAABAAMAAABEABgAAAABAAMAAABEABkAAAABAAMAAABEABoAAAABAAMAAABEABsAAAABAAMAAABEABwAAAABAAMAAABEAB0AAAABAAMAAABEAB4AAAABAAMAAABEAB8AAAABAAMAAABEACAAAAABAAMAAABEACEAAAABAAMAAABEACIAAAABAAMAAABEACMAAAABAAMAAABEACQAAAABAAMAAABEACUAAAABAAMAAABEACYAAAABAAMAAABEACcAAAABAAMAAABEACgAAAABAAMAAABEACkAAAABAAMAAABEACoAAAABAAMAAABEACsAAAABAAMAAABEACwAAAABAAMAAABEAC0AAAABAAMAAABEAC4AAAABAAMAAABEAC8AAAABAAMAAABEADAAAAABAAMAAABEADEAAAABAAMAAABEADIAAAABAAMAAABEADMAAAABAAMAAABEADQAAAABAAMAAABEADUAAAABAAMAAABFAAAAAAABAAMAAABFAAEAAAABAAMAAABFAAIAAAABAAMAAABFAAMAAAABAAMAAABFAAQAAAABAAMAAABFAAUAAAABAAMAAABFAAYAAAABAAMAAABFAAcAAAABAAMAAABFAAgAAAABAAMAAABFAAkAAAABAAMAAABFAAoAAAABAAMAAABFAAsAAAABAAMAAABFAAwAAAABAAMAAABFAA0AAAABAAMAAABFAA4AAAABAAMAAABFAA8AAAABAAMAAABFABAAAAABAAMAAABFABEAAAABAAMAAABFABIAAAABAAMAAABFABMAAAABAAMAAABFABQAAAABAAMAAABFABUAAAABAAMAAABFABYAAAABAAMAAABFABcAAAABAAMAAABFABgAAAABAAMAAABFABkAAAABAAMAAABFABoAAAABAAMAAABFABsAAAABAAMAAABFABwAAAABAAMAAABFAB0AAAABAAMAAABFAB4AAAABAAMAAABFAB8AAAABAAMAAABFACAAAAABAAMAAABFACEAAAABAAMAAABFACIAAAABAAMAAABFACMAAAABAAMAAABFACQAAAABAAMAAABFACUAAAABAAMAAABFACYAAAABAAMAAABFACcAAAABAAMAAABFACgAAAABAAMAAABFACkAAAABAAMAAABFACoAAAABAAMAAABFACsAAAABAAMAAABFACwAAAABAAMAAABFAC0AAAABAAMAAABFAC4AAAABAAMAAABFAC8AAAABAAMAAABFADAAAAABAAMAAABFADEAAAABAAMAAABFADIAAAABAAMAAABFADMAAAABAAMAAABFADQAAAABAAMAAABFADUAAAABAAMAAABGAAAAAAABAAMAAABGAAEAAAABAAMAAABGAAIAAAABAAMAAABGAAMAAAABAAMAAABGAAQAAAABAAMAAABGAAUAAAABAAMAAABGAAYAAAABAAMAAABGAAcAAAABAAMAAABGAAgAAAABAAMAAABGAAkAAAABAAMAAABGAAoAAAABAAMAAABGAAsAAAABAAMAAABGAAwAAAABAAMAAABGAA0AAAABAAMAAABGAA4AAAABAAMAAABGAA8AAAABAAMAAABGABAAAAABAAMAAABGABEAAAABAAMAAABGABIAAAABAAMAAABGABMAAAABAAMAAABGABQAAAABAAMAAABGABUAAAABAAMAAABGABYAAAABAAMAAABGABcAAAABAAMAAABGABgAAAABAAMAAABGABkAAAABAAMAAABGABoAAAABAAMAAABGABsAAAABAAMAAABGABwAAAABAAMAAABGAB0AAAABAAMAAABGAB4AAAABAAMAAABGAB8AAAABAAMAAABGACAAAAABAAMAAABGACEAAAABAAMAAABGACIAAAABAAMAAABGACMAAAABAAMAAABGACQAAAABAAMAAABGACUAAAABAAMAAABGACYAAAABAAMAAABGACcAAAABAAMAAABGACgAAAABAAMAAABGACkAAAABAAMAAABGACoAAAABAAMAAABGACsAAAABAAMAAABGACwAAAABAAMAAABGAC0AAAABAAMAAABGAC4AAAABAAMAAABGAC8AAAABAAMAAABGADAAAAABAAMAAABGADEAAAABAAMAAABGADIAAAABAAMAAABGADMAAAABAAMAAABGADQAAAABAAMAAABGADUAAAABAAMAAAA=")
tile_set = SubResource("TileSet_lwiie")
[node name="BuildGrid" type="Node2D" parent="."]
-position = Vector2(8, 8)
script = ExtResource("5_28i18")
[node name="Spawn" parent="." node_paths=PackedStringArray("next_node") instance=ExtResource("3_f2sda")]
-position = Vector2(592, 656)
+position = Vector2(608, 656)
next_node = NodePath("../PathNode")
[node name="PathNode" parent="." node_paths=PackedStringArray("next_node") instance=ExtResource("6_lh0f6")]
-position = Vector2(192, 656)
+position = Vector2(208, 656)
next_node = NodePath("../PathNode2")
[node name="PathNode2" parent="." node_paths=PackedStringArray("next_node") instance=ExtResource("6_lh0f6")]
-position = Vector2(192, 256)
+position = Vector2(208, 272)
next_node = NodePath("../PathNode3")
[node name="PathNode3" parent="." node_paths=PackedStringArray("next_node") instance=ExtResource("6_lh0f6")]
-position = Vector2(576, 256)
+position = Vector2(592, 272)
next_node = NodePath("../PathNode4")
[node name="PathNode4" parent="." node_paths=PackedStringArray("next_node") instance=ExtResource("6_lh0f6")]
-position = Vector2(800, 416)
+position = Vector2(816, 432)
next_node = NodePath("../PathNode5")
[node name="PathNode5" parent="." node_paths=PackedStringArray("next_node") instance=ExtResource("6_lh0f6")]
-position = Vector2(912, 160)
+position = Vector2(928, 176)
next_node = NodePath("../Goal")
[node name="Goal" parent="." instance=ExtResource("5_dp16q")]
-position = Vector2(592, 64)
+position = Vector2(608, 48)
[node name="Camera" parent="." instance=ExtResource("6_yijl8")]
+zoom = Vector2(1.5, 1.5)
drag_horizontal_enabled = true
drag_vertical_enabled = true
@@ -2019,96 +2215,73 @@ drag_vertical_enabled = true
position = Vector2(176, 256)
[node name="Tower2" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(208, 656)
-
-[node name="Tower3" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(560, 656)
-
-[node name="Tower4" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(560, 640)
+position = Vector2(224, 640)
[node name="Tower5" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(560, 672)
-
-[node name="Tower6" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(576, 688)
+position = Vector2(592, 672)
[node name="Tower7" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(576, 624)
+position = Vector2(576, 640)
[node name="Tower8" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(192, 672)
-
-[node name="Tower9" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(592, 688)
-
-[node name="Tower13" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(608, 688)
-
-[node name="Tower10" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(608, 624)
+position = Vector2(208, 672)
[node name="Tower11" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(592, 624)
+position = Vector2(608, 624)
[node name="Tower12" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(192, 240)
-
-[node name="Tower14" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(624, 656)
+position = Vector2(208, 240)
[node name="Tower15" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(624, 640)
+position = Vector2(624, 656)
[node name="Tower19" parent="Towers" instance=ExtResource("7_5o3d3")]
position = Vector2(176, 656)
[node name="Tower23" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(192, 640)
-
-[node name="Tower28" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(624, 672)
+position = Vector2(192, 624)
[node name="Tower29" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(576, 272)
+position = Vector2(576, 288)
[node name="Tower30" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(592, 256)
+position = Vector2(608, 272)
[node name="Tower31" parent="Towers" instance=ExtResource("7_5o3d3")]
position = Vector2(560, 256)
[node name="Tower32" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(576, 240)
+position = Vector2(592, 240)
[node name="Tower33" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(816, 416)
+position = Vector2(832, 432)
[node name="Tower34" parent="Towers" instance=ExtResource("7_5o3d3")]
position = Vector2(784, 416)
[node name="Tower35" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(800, 400)
+position = Vector2(816, 400)
[node name="Tower41" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(912, 176)
+position = Vector2(928, 192)
[node name="Tower37" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(928, 160)
+position = Vector2(944, 160)
[node name="Tower38" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(896, 160)
+position = Vector2(896, 176)
[node name="Tower40" parent="Towers" instance=ExtResource("7_5o3d3")]
position = Vector2(912, 144)
[node name="Tower36" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(800, 432)
+position = Vector2(800, 448)
[node name="Tower39" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(192, 272)
+position = Vector2(192, 288)
[node name="Tower43" parent="Towers" instance=ExtResource("7_5o3d3")]
-position = Vector2(208, 256)
+position = Vector2(224, 272)
-[connection signal="gui_input" from="CanvasLayer/GridContainer/TextureRect" to="." method="_on_texture_rect_gui_input"]
+[connection signal="gui_input" from="CanvasLayer/Panel/VBoxContainer/Container/GridContainer/MarginContainer/HBoxContainer/BuildModeButton" to="." method="_on_build_mode_button_gui_input"]
+[connection signal="gui_input" from="CanvasLayer/Panel/VBoxContainer/Container/GridContainer/MarginContainer2/HBoxContainer2/SpawnerBoxButton" to="." method="_on_spawner_box_button_gui_input"]