diff --git a/BoundingBoxes/CameraBounds.cs b/BoundingBoxes/CameraBounds.cs deleted file mode 100644 index 75d679c..0000000 --- a/BoundingBoxes/CameraBounds.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Godot; - -namespace SupaLidlGame.BoundingBoxes; - -public partial class CameraBounds : Node2D -{ - [Export] - public Area2D Trigger { get; set; } - - //[Export] - //public Rect2I Bounds { get; set; } - - [Export] - public Marker2D TopLeft { get; set; } - - [Export] - public Marker2D BottomRight { get; set; } - - public override void _Ready() - { - Trigger.BodyEntered += OnBodyEntered; - Trigger.BodyExited += OnBodyExited; - } - - private void OnBodyEntered(Node2D body) - { - if (body is Characters.Player player) - { - var camera = player.Camera; - var rect = new Rect2I(); - rect.Position = (Vector2I)TopLeft.GlobalPosition; - rect.End = (Vector2I)BottomRight.GlobalPosition; - camera.SetCameraBounds(rect); - } - } - - private void OnBodyExited(Node2D body) - { - if (body is Characters.Player player) - { - var camera = player.Camera; - camera.LimitLeft = int.MinValue; - camera.LimitTop = int.MinValue; - camera.LimitRight = int.MaxValue; - camera.LimitBottom = int.MaxValue; - } - } -} diff --git a/BoundingBoxes/CameraBounds.tscn b/BoundingBoxes/CameraBounds.tscn deleted file mode 100644 index 4f4158e..0000000 --- a/BoundingBoxes/CameraBounds.tscn +++ /dev/null @@ -1,25 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://malbos18dh7l"] - -[ext_resource type="Script" path="res://BoundingBoxes/CameraBounds.cs" id="1_vaknk"] - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_b2lli"] -size = Vector2(256, 272) - -[node name="CameraBounds" type="Node2D" node_paths=PackedStringArray("Trigger", "TopLeft", "BottomRight")] -script = ExtResource("1_vaknk") -Trigger = NodePath("Area2D") -TopLeft = NodePath("TopLeft") -BottomRight = NodePath("BottomRight") - -[node name="Area2D" type="Area2D" parent="."] -collision_layer = 0 -collision_mask = 4 -monitorable = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] -shape = SubResource("RectangleShape2D_b2lli") -debug_color = Color(0.631373, 0.345098, 1, 0.419608) - -[node name="TopLeft" type="Marker2D" parent="."] - -[node name="BottomRight" type="Marker2D" parent="."] diff --git a/BoundingBoxes/CameraTrigger.cs b/BoundingBoxes/CameraTrigger.cs new file mode 100644 index 0000000..eb26cdf --- /dev/null +++ b/BoundingBoxes/CameraTrigger.cs @@ -0,0 +1,47 @@ +using Godot; + +namespace SupaLidlGame.BoundingBoxes; + +public partial class CameraTrigger : Area2D +{ + [Export] + public Node Camera { get; set; } + + [Export] + public int EnablePriority { get; set; } = 2; + + [Export] + public int DisablePriority { get; set; } = 0; + + public override void _Ready() + { + Connect(SignalName.BodyEntered, new Callable(this, nameof(OnBodyEntered))); + Connect(SignalName.BodyExited, new Callable(this, nameof(OnBodyExited))); + } + + public override void _EnterTree() + { + if (!Camera.Get("tween_on_load").AsBool()) + { + var tween = Camera.Get("tween_resource").AsGodotObject(); + double duration = tween.Get("duration").AsDouble(); + + // HACK: manually set this field to interrupt tween when the + // trigger enters the scene, which happens when the scene is loaded + // from the cache + Camera.SetDeferred("_has_tweened", true); + GD.Print("set tween"); + } + } + + private void OnBodyEntered(Node2D node) + { + Camera.Set("priority", EnablePriority); + Camera.Set("follow_target", node); + } + + private void OnBodyExited(Node2D node) + { + Camera.Set("priority", DisablePriority); + } +} diff --git a/Characters/DocCenturion.tscn b/Characters/DocCenturion.tscn index 33fed77..7edd3f8 100644 --- a/Characters/DocCenturion.tscn +++ b/Characters/DocCenturion.tscn @@ -152,6 +152,7 @@ Sprite = NodePath("Sprites/Node2D/Character") Inventory = NodePath("Inventory") StateMachine = NodePath("StateMachine") Hurtbox = NodePath("Hurtbox") +Faction = 2 [node name="Stats" type="Node" parent="."] script = ExtResource("9_bxrs2") diff --git a/Characters/DocCultist.tscn b/Characters/DocCultist.tscn index 7f9e868..144a582 100644 --- a/Characters/DocCultist.tscn +++ b/Characters/DocCultist.tscn @@ -364,13 +364,11 @@ curve = SubResource("Curve_30p4b") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_qdhau"] particle_flag_disable_z = true spread = 180.0 -gravity = Vector3(0, 0, 0) initial_velocity_min = 32.0 initial_velocity_max = 32.0 angular_velocity_min = 90.0 angular_velocity_max = 90.0 -orbit_velocity_min = 0.0 -orbit_velocity_max = 0.0 +gravity = Vector3(0, 0, 0) linear_accel_min = -64.0 linear_accel_max = -32.0 tangential_accel_min = 8.0 @@ -405,6 +403,7 @@ Sprite = NodePath("Sprites/Node2D/Character") Inventory = NodePath("Inventory") StateMachine = NodePath("StateMachine") Hurtbox = NodePath("Hurtbox") +Faction = 2 [node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("InitialState", "Character")] script = ExtResource("3_lj2a2") @@ -441,7 +440,6 @@ MaxDistanceToTarget = 128.0 UseItemDistance = 128.0 PassiveState = NodePath("../Pursue") PursueState = NodePath("../Pursue") -PursueOnLineOfSight = false NPC = NodePath("../..") [node name="Idle" type="Node" parent="ThinkerStateMachine" node_paths=PackedStringArray("PursueState", "NavigationAgent", "NPC")] @@ -450,7 +448,6 @@ PursueState = NodePath("../Pursue") MinTargetDistance = 32.0 PursueOnLineOfSight = true MinLineOfSightDistance = 128.0 -ShouldReturnToOriginalPosition = true NavigationAgent = NodePath("../../NavigationAgent2D") NPC = NodePath("../..") @@ -530,15 +527,17 @@ hframes = 6 position = Vector2(0, -4) shape = SubResource("RectangleShape2D_bfqew") -[node name="Inventory" type="Node2D" parent="."] +[node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Hotbar")] position = Vector2(0, -4) script = ExtResource("17_sjq8t") +Hotbar = [] -[node name="ProjectileSpawner" parent="Inventory" instance=ExtResource("17_dmlbb")] +[node name="ProjectileSpawner" parent="Inventory" node_paths=PackedStringArray("StateMachine") instance=ExtResource("17_dmlbb")] Projectile = ExtResource("18_lwg36") ShouldOverrideProjectileDamage = false ShouldOverrideVelocity = false ShouldRotate = false +StateMachine = NodePath("StateMachine") UseTime = 2.0 [node name="Hurtbox" parent="." instance=ExtResource("18_ajs2x")] diff --git a/Characters/DocLegionary.tscn b/Characters/DocLegionary.tscn index 46e3ab8..aad266f 100644 --- a/Characters/DocLegionary.tscn +++ b/Characters/DocLegionary.tscn @@ -290,6 +290,7 @@ Sprite = NodePath("Sprites/Node2D/Character") Inventory = NodePath("Inventory") StateMachine = NodePath("StateMachine") Hurtbox = NodePath("Hurtbox") +Faction = 2 metadata/_edit_vertical_guides_ = [] [node name="Stats" type="Node" parent="."] @@ -416,7 +417,7 @@ stream = ExtResource("15_w7mkq") unique_name_in_owner = true y_sort_enabled = true use_parent_material = true -position = Vector2(-0.5, 4) +position = Vector2(0, 4) rotation = 6.28319 [node name="Node2D" type="Node2D" parent="Sprites"] diff --git a/Characters/NPC.cs b/Characters/NPC.cs index a5806a3..a92c8fe 100644 --- a/Characters/NPC.cs +++ b/Characters/NPC.cs @@ -104,27 +104,25 @@ public partial class NPC : Character { float bestScore = float.MaxValue; Character bestChar = null; - // NOTE: this relies on all Characters being under the Entities node - foreach (Node node in GetParent().GetChildren()) + + foreach (var character in World.Instance.CurrentMap.GetCharacters()) { - if (node is Character character) + bool isFriendly = ((IFaction)character).AlignsWith(this); + if (isFriendly || !character.IsAlive) { - bool isFriendly = character.Faction == Faction; - if (isFriendly || character.Health <= 0) - { - continue; - } + continue; + } - float score = 0; - score -= Position.DistanceTo(character.Position); + float score = 0; + score += GlobalPosition.DistanceSquaredTo(character.GlobalPosition); - if (score < bestScore) - { - bestScore = score; - bestChar = character; - } + if (score < bestScore) + { + bestScore = score; + bestChar = character; } } + return bestChar; } diff --git a/Characters/Player.cs b/Characters/Player.cs index cc1d21e..012b293 100644 --- a/Characters/Player.cs +++ b/Characters/Player.cs @@ -36,6 +36,9 @@ public sealed partial class Player : Character [Export] public PlayerCamera Camera { get; set; } + [Export] + public GodotObject PCamera { get; set; } + [Export] public Marker2D DirectionMarker { get; private set; } @@ -75,6 +78,17 @@ public sealed partial class Player : Character Inventory.SelectedIndex = 0; } + public override void _EnterTree() + { + // HACK: instantly move camera to player when switching to a scene + // with another PhantomCamera2D + var tween = GetNode("PCamera") + .Get("tween_resource") + .AsGodotObject(); + tween.Set("duration", 0); + tween.SetDeferred("duration", 1); + } + public override void _Process(double delta) { base._Process(delta); @@ -238,7 +252,6 @@ public sealed partial class Player : Character switch (inputMethod) { case State.Global.InputMethod.Joystick: - GD.Print(joystick); if (joystick.IsZeroApprox()) { return Direction; diff --git a/Characters/Player.tscn b/Characters/Player.tscn index eb4cfdc..6eef8bd 100644 --- a/Characters/Player.tscn +++ b/Characters/Player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=74 format=3 uid="uid://b2254pup8k161"] +[gd_scene load_steps=77 format=3 uid="uid://b2254pup8k161"] [ext_resource type="Script" path="res://Characters/Player.cs" id="1_flygr"] [ext_resource type="Shader" path="res://Shaders/Flash.gdshader" id="2_ngsgt"] @@ -33,6 +33,8 @@ [ext_resource type="PackedScene" uid="uid://ce0ph4wk0ylra" path="res://UI/TargetTracer.tscn" id="22_hxi53"] [ext_resource type="Texture2D" uid="uid://bd8l8kafb42dt" path="res://Assets/Sprites/Particles/circle.png" id="22_uefct"] [ext_resource type="Texture2D" uid="uid://bcgm3r168qjn3" path="res://Assets/Sprites/Particles/cast-effect.png" id="24_njn4h"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="27_mndpv"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="28_6gq8l"] [ext_resource type="Script" path="res://Items/PlayerInventory.cs" id="30_y2wmw"] [ext_resource type="PackedScene" uid="uid://cgg0sfm2qeiwn" path="res://Items/Weapons/Bow.tscn" id="31_mofvy"] [ext_resource type="PackedScene" uid="uid://dvqap2uhcah63" path="res://Items/Weapons/Sword.tscn" id="31_ql4as"] @@ -44,6 +46,12 @@ shader_parameter/color = Vector4(1, 1, 1, 1) shader_parameter/intensity = 0.0 shader_parameter/alpha_modulate = 1.0 +[sub_resource type="Resource" id="Resource_535hq"] +script = ExtResource("28_6gq8l") +duration = 1.0 +transition = 0 +ease = 2 + [sub_resource type="Animation" id="Animation_imqdv"] length = 0.001 tracks/0/type = "value" @@ -594,6 +602,14 @@ StateMachine = NodePath("StateMachine") Hurtbox = NodePath("Hurtbox") Faction = 1 +[node name="PCamera" type="Node2D" parent="."] +script = ExtResource("27_mndpv") +priority = 1 +follow_mode = 2 +zoom = Vector2(4, 4) +tween_resource = SubResource("Resource_535hq") +draw_limits = true + [node name="Stats" type="Node" parent="."] script = ExtResource("4_06oya") @@ -765,6 +781,7 @@ stream = ExtResource("12_vvem5") unique_name_in_owner = true [node name="Camera2D" parent="." instance=ExtResource("4_ym125")] +enabled = false zoom = Vector2(4, 4) position_smoothing_speed = 8.0 diff --git a/Debug/Transpiler/Parser.cs b/Debug/Transpiler/Parser.cs index f28cf16..bb443ac 100644 --- a/Debug/Transpiler/Parser.cs +++ b/Debug/Transpiler/Parser.cs @@ -91,11 +91,6 @@ public class Parser } else if (token.Type == TokenType.Grouping) { - if (token.Value == ")") - { - throw new InterpreterException("Unexpected )", - token.Line, token.Column); - } if (prev is LiteralExpression l) { // this is a function call diff --git a/Entities/DynamicDoor.cs b/Entities/DynamicDoor.cs index 38661e7..b4825d4 100644 --- a/Entities/DynamicDoor.cs +++ b/Entities/DynamicDoor.cs @@ -59,7 +59,10 @@ public partial class DynamicDoor : StaticBody2D { // rebake navmesh so NPCs can correctly travel conditionally GD.Print("Dynamic door updated; rebaking navmeshes..."); - navmesh.BakeNavigationPolygon(); + if (!navmesh.IsBaking()) + { + navmesh.BakeNavigationPolygon(); + } } } } diff --git a/Items/Inventory.cs b/Items/Inventory.cs index 80f286c..548618a 100644 --- a/Items/Inventory.cs +++ b/Items/Inventory.cs @@ -111,8 +111,6 @@ public partial class Inventory : Node2D, IItemCollection EmitSignal(SignalName.EquippedItem, prevItem, _selectedItem); - GD.Print($"Inventory: {index} is new selected index."); - return true; } diff --git a/Props/Bookshelf.tscn b/Props/Bookshelf.tscn index dbaa95f..4b95921 100644 --- a/Props/Bookshelf.tscn +++ b/Props/Bookshelf.tscn @@ -1,13 +1,10 @@ -[gd_scene load_steps=4 format=3 uid="uid://hm3ek8vqt1d4"] +[gd_scene load_steps=3 format=3 uid="uid://hm3ek8vqt1d4"] [ext_resource type="Texture2D" uid="uid://dwbrymm3ud5xu" path="res://Assets/Sprites/Props/bookshelf.png" id="1_cnrpk"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_wc4oe"] size = Vector2(28, 8) -[sub_resource type="NavigationPolygon" id="NavigationPolygon_tsfmt"] -source_geometry_group_name = &"navigation_polygon_source_group" - [node name="Bookshelf" type="StaticBody2D"] y_sort_enabled = true @@ -48,6 +45,3 @@ frame = 1 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(0, -4) shape = SubResource("RectangleShape2D_wc4oe") - -[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."] -navigation_polygon = SubResource("NavigationPolygon_tsfmt") diff --git a/README.md b/README.md index d30d8df..bd13beb 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,8 @@ Forsen-related game ## Building > [!IMPORTANT] -> This is currently being developed with Godot 4.3 dev 3 snapshot, which -> includes a fix for C# generics causing problems and resetting properties to -> null. +> This is currently being developed with Godot 4.3 beta 1, which > includes +a fix for C# generics causing problems and resetting properties to > null. Requires .NET version >=7.0. diff --git a/Scenes/BaseMap.tscn b/Scenes/BaseMap.tscn index b1891b3..9a3bc17 100644 --- a/Scenes/BaseMap.tscn +++ b/Scenes/BaseMap.tscn @@ -12,43 +12,60 @@ background_mode = 3 glow_enabled = true glow_hdr_threshold = 1.4 -[node name="TileMap" type="TileMap" node_paths=PackedStringArray("Entities", "Areas", "Spawners", "Markers")] +[node name="TileMap" type="Node2D" node_paths=PackedStringArray("Entities", "Areas", "Spawners", "Markers")] process_mode = 1 y_sort_enabled = true texture_filter = 3 -tile_set = SubResource("TileSet_18c7j") -format = 2 -layer_0/name = "z-index 0" -layer_0/y_sort_enabled = true -layer_1/name = "z-index -1" -layer_1/y_sort_enabled = true -layer_1/z_index = -1 -layer_1/tile_data = PackedInt32Array() -layer_2/name = "z-index -1 (under)" -layer_2/y_sort_enabled = true -layer_2/z_index = -1 -layer_2/tile_data = PackedInt32Array() -layer_3/name = "z-index -2" -layer_3/y_sort_enabled = true -layer_3/z_index = -2 -layer_3/tile_data = PackedInt32Array() -layer_4/name = "z-index -3" -layer_4/y_sort_enabled = true -layer_4/z_index = -3 -layer_4/tile_data = PackedInt32Array() -layer_5/name = "Lower 1" -layer_5/z_index = -4 -layer_5/tile_data = PackedInt32Array() -layer_6/name = "z-index 0 (walls)" -layer_6/y_sort_enabled = true -layer_6/y_sort_origin = -8 -layer_6/tile_data = PackedInt32Array() script = ExtResource("2_4m0a1") Entities = NodePath("Entities") Areas = NodePath("Areas") Spawners = NodePath("Spawners") Markers = NodePath("Markers") +[node name="Layers" type="Node2D" parent="."] +y_sort_enabled = true + +[node name="z-index 0" type="TileMapLayer" parent="Layers"] +y_sort_enabled = true +texture_filter = 3 +use_parent_material = true +tile_set = SubResource("TileSet_18c7j") + +[node name="z-index -1" type="TileMapLayer" parent="Layers"] +z_index = -1 +y_sort_enabled = true +use_parent_material = true +tile_set = SubResource("TileSet_18c7j") + +[node name="z-index -1 (under)" type="TileMapLayer" parent="Layers"] +z_index = -1 +y_sort_enabled = true +use_parent_material = true +tile_set = SubResource("TileSet_18c7j") + +[node name="z-index -2" type="TileMapLayer" parent="Layers"] +z_index = -2 +y_sort_enabled = true +use_parent_material = true +tile_set = SubResource("TileSet_18c7j") + +[node name="z-index -3" type="TileMapLayer" parent="Layers"] +z_index = -3 +y_sort_enabled = true +use_parent_material = true +tile_set = SubResource("TileSet_18c7j") + +[node name="z-index -4" type="TileMapLayer" parent="Layers"] +z_index = -4 +use_parent_material = true +tile_set = SubResource("TileSet_18c7j") + +[node name="z-index 0 (walls)" type="TileMapLayer" parent="Layers"] +y_sort_enabled = true +use_parent_material = true +tile_set = SubResource("TileSet_18c7j") +y_sort_origin = -8 + [node name="CanvasModulate" type="CanvasModulate" parent="."] [node name="Props" type="Node2D" parent="."] diff --git a/Scenes/Level.tscn b/Scenes/Level.tscn index 72cdf09..8fddea8 100644 --- a/Scenes/Level.tscn +++ b/Scenes/Level.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=3 uid="uid://1pb3mpmrl7lc"] +[gd_scene load_steps=4 format=3 uid="uid://1pb3mpmrl7lc"] [ext_resource type="Script" path="res://Utils/World.cs" id="1_1k6ew"] [ext_resource type="PackedScene" uid="uid://c271rdjhd1gfo" path="res://UI/Base.tscn" id="2_mm0qt"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="3_ge4f0"] [node name="World" type="Node2D" node_paths=PackedStringArray("MusicPlayer")] process_mode = 3 @@ -24,3 +25,8 @@ mouse_filter = 2 [node name="MusicPlayer" type="AudioStreamPlayer" parent="."] bus = &"Music" + +[node name="Camera2D" type="Camera2D" parent="."] + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("3_ge4f0") diff --git a/Scenes/Map.cs b/Scenes/Map.cs index 8f6916e..9c1b88b 100644 --- a/Scenes/Map.cs +++ b/Scenes/Map.cs @@ -1,9 +1,10 @@ using Godot; using SupaLidlGame.Extensions; +using System.Collections.Generic; namespace SupaLidlGame.Scenes; -public partial class Map : TileMap +public partial class Map : Node2D { [Export] public Node2D Entities { get; set; } @@ -71,6 +72,17 @@ public partial class Map : TileMap GetNode("/root/AudioManager").PlayBackground(Music); } + public IEnumerable GetCharacters() + { + foreach (var child in Entities.GetChildren()) + { + if (child is Characters.Character c) + { + yield return c; + } + } + } + public Node SpawnEntity(PackedScene scene) { var instance = scene.Instantiate(); diff --git a/Scenes/Maps/Arena.tscn b/Scenes/Maps/Arena.tscn index 38f7266..3b68afe 100644 --- a/Scenes/Maps/Arena.tscn +++ b/Scenes/Maps/Arena.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=20 format=3 uid="uid://b2x17su05ou5w"] +[gd_scene load_steps=28 format=4 uid="uid://b2x17su05ou5w"] [ext_resource type="PackedScene" uid="uid://clwv2owvk6abe" path="res://Scenes/BaseMap.tscn" id="1_ifiic"] [ext_resource type="TileSet" uid="uid://l61kbx31ug4p" path="res://Scenes/Maps/ArenaTileset.tres" id="2_x0mh7"] @@ -9,8 +9,10 @@ [ext_resource type="Texture2D" uid="uid://d1ukste16yq6v" path="res://Assets/Sprites/Particles/player-light.png" id="7_y7j0e"] [ext_resource type="AudioStream" uid="uid://dy4qjflo1k28b" path="res://Assets/Sounds/calm-storm-ambient.mp3" id="8_wox7d"] [ext_resource type="Script" path="res://BoundingBoxes/ConnectorBox.cs" id="9_fg062"] -[ext_resource type="PackedScene" uid="uid://malbos18dh7l" path="res://BoundingBoxes/CameraBounds.tscn" id="11_j2620"] +[ext_resource type="Script" path="res://BoundingBoxes/CameraTrigger.cs" id="11_0u80h"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="11_q01ik"] [ext_resource type="Texture2D" uid="uid://c1a7lvb4uuwfy" path="res://Assets/Sprites/Particles/circle-16.png" id="11_yjp7m"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="12_ca3oh"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_i5p65"] resource_local_to_scene = true @@ -52,15 +54,36 @@ turbulence_enabled = true size = Vector2(40, 20) [sub_resource type="RectangleShape2D" id="RectangleShape2D_iw8cv"] -size = Vector2(64, 360) +size = Vector2(32, 254) + +[sub_resource type="Resource" id="Resource_22hgm"] +script = ExtResource("12_ca3oh") +duration = 1.0 +transition = 0 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_28nvi"] +size = Vector2(1024, 512) + +[sub_resource type="Curve2D" id="Curve2D_0qfqo"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256) +} +point_count = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_8id2f"] +size = Vector2(256, 256) + +[sub_resource type="Resource" id="Resource_bv7so"] +script = ExtResource("12_ca3oh") +duration = 1.0 +transition = 0 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_idjmj"] +size = Vector2(512, 384) [node name="Arena" node_paths=PackedStringArray("Entities", "Areas", "Spawners", "Markers") instance=ExtResource("1_ifiic")] -tile_set = ExtResource("2_x0mh7") -layer_0/tile_data = PackedInt32Array(-524281, 458752, 0, -524284, 458752, 0, -262152, 458752, 0, -327673, 458752, 0, -131065, 458752, 0, -65544, 458752, 0, 131064, 458752, 0, 65543, 458752, 0, 262151, 458752, 0, 327672, 458752, 0, 524280, 458752, 0, 524283, 458752, 0, 524286, 458752, 0, 458753, 458752, 0, 458756, 458752, 0, 458759, 458752, 0, -458760, 458752, 0, -458757, 458752, 0, -524287, 458752, 0, -458754, 458752, 0, -524292, 458752, 3, -589821, 458752, 2, -589822, 393216, 3, -524291, 393216, 2, -589817, 393216, 0) -layer_2/tile_data = PackedInt32Array(655358, 196608, 3, 720894, 196608, 3, 786430, 196608, 3, 851966, 196608, 3, 917502, 196608, 3, 983038, 196608, 3, 1048574, 196608, 3, 1114110, 196608, 3, 1179646, 196608, 3, 1245182, 196608, 3, 1310718, 196608, 3, 1376254, 196608, 3, 1441790, 196608, 3, 1507326, 196608, 3, 589822, 65536, 4, 524289, 0, 4, 589825, 131072, 3, 655361, 131072, 3, 720897, 131072, 3, 786433, 131072, 3, 851969, 131072, 3, 917505, 131072, 3, 983041, 131072, 3, 1048577, 131072, 3, 1114113, 131072, 3, 1179649, 131072, 3, 1245185, 131072, 3, 1310721, 131072, 3, 1376257, 131072, 3, 1441793, 131072, 3, 1507329, 131072, 3, 1572862, 196608, 3) -layer_3/tile_data = PackedInt32Array(-196612, 65536, 1, -131076, 65536, 1, -65540, 196608, 0, -4, 131072, 0, -196611, 65536, 1, -131075, 65536, 0, -65539, 131072, 0, -3, 196608, 0, -196610, 65536, 0, -131074, 65536, 1, -65538, 0, 0, -2, 65536, 0, -196609, 65536, 1, -131073, 65536, 1, -65537, 65536, 0, -1, 65536, 1, -458760, 0, 0, -393224, 196608, 0, -327688, 196608, 0, -262152, 0, 0, -196616, 65536, 0, -131080, 131072, 0, -65544, 196608, 0, -8, 131072, 0, 65528, 131072, 0, 131064, 196608, 0, 196600, 131072, 0, 262136, 65536, 0, 327672, 65536, 0, 393208, 65536, 0, 458744, 0, 0, 524280, 65536, 0, -458759, 0, 1, -393223, 131072, 0, -327687, 131072, 0, -262151, 65536, 0, -196615, 65536, 1, -131079, 131072, 0, -65543, 131072, 0, -7, 196608, 0, 65529, 196608, 0, 131065, 196608, 0, 196601, 131072, 0, 262137, 65536, 1, 327673, 0, 0, 393209, 65536, 1, 458745, 65536, 0, 524281, 65536, 1, -458758, 0, 0, -393222, 65536, 0, -327686, 0, 0, -262150, 65536, 0, -196614, 0, 0, -131078, 0, 1, -65542, 196608, 0, -6, 196608, 0, 65530, 65536, 1, 131066, 65536, 1, 196602, 65536, 1, 262138, 0, 0, 327674, 65536, 1, 393210, 65536, 0, 458746, 131072, 0, 524282, 131072, 0, -458757, 65536, 0, -393221, 65536, 1, -327685, 65536, 0, -262149, 65536, 0, -196613, 0, 1, -131077, 0, 1, -65541, 131072, 0, -5, 131072, 0, 65531, 65536, 0, 131067, 0, 1, 196603, 0, 0, 262139, 0, 1, 327675, 0, 0, 393211, 65536, 0, 458747, 131072, 0, 524283, 196608, 0, -458756, 0, 0, -393220, 0, 1, -327684, 0, 0, -262148, 0, 0, 65532, 65536, 0, 131068, 65536, 0, 196604, 65536, 1, 262140, 0, 1, 327676, 131072, 0, 393212, 196608, 0, 458748, 196608, 0, 524284, 196608, 0, -458755, 0, 1, -393219, 0, 1, -327683, 0, 1, -262147, 0, 0, 65533, 65536, 0, 131069, 65536, 1, 196605, 65536, 1, 262141, 0, 1, 327677, 196608, 0, 393213, 131072, 0, 458749, 196608, 0, 524285, 131072, 0, -458754, 65536, 1, -393218, 65536, 1, -327682, 131072, 0, -262146, 196608, 0, 65534, 0, 1, 131070, 65536, 0, 196606, 196608, 0, 262142, 131072, 0, 327678, 196608, 0, 393214, 131072, 0, 458750, 65536, 0, 524286, 0, 0, -458753, 0, 1, -393217, 0, 1, -327681, 196608, 0, -262145, 131072, 0, 65535, 0, 1, 131071, 65536, 1, 196607, 131072, 0, 262143, 196608, 0, 327679, 131072, 0, 393215, 131072, 0, 458751, 65536, 1, 524287, 0, 0, -524288, 65536, 1, -458752, 65536, 1, -393216, 196608, 0, -327680, 196608, 0, -262144, 65536, 0, -196608, 0, 1, -131072, 65536, 0, -65536, 65536, 0, 0, 65536, 0, 65536, 65536, 1, 131072, 65536, 0, 196608, 65536, 1, 262144, 65536, 0, 327680, 0, 1, 393216, 0, 0, 458752, 0, 1, -524287, 65536, 1, -458751, 0, 0, -393215, 196608, 0, -327679, 196608, 0, -262143, 0, 0, -196607, 65536, 1, -131071, 0, 1, -65535, 65536, 1, 1, 0, 0, 65537, 65536, 1, 131073, 65536, 0, 196609, 65536, 0, 262145, 65536, 1, 327681, 65536, 1, 393217, 0, 1, 458753, 65536, 1, -524286, 65536, 0, -458750, 65536, 0, -393214, 131072, 0, -327678, 196608, 0, -262142, 0, 0, -196606, 65536, 0, -131070, 196608, 0, -65534, 131072, 0, 2, 131072, 0, 65538, 196608, 0, 131074, 65536, 0, 196610, 0, 0, 262146, 0, 1, 327682, 65536, 0, 393218, 131072, 0, 458754, 131072, 0, -524285, 65536, 0, -458749, 65536, 0, -393213, 131072, 0, -327677, 196608, 0, -262141, 0, 0, -196605, 65536, 0, -131069, 131072, 0, -65533, 131072, 0, 3, 196608, 0, 65539, 196608, 0, 131075, 0, 0, 196611, 0, 1, 262147, 65536, 1, 327683, 65536, 1, 393219, 196608, 0, 458755, 196608, 0, -524284, 0, 1, -458748, 65536, 0, -393212, 65536, 0, -327676, 0, 0, -262140, 65536, 1, -196604, 0, 1, -131068, 0, 1, -65532, 0, 1, 4, 0, 0, 65540, 65536, 1, 131076, 0, 0, 196612, 65536, 0, 262148, 131072, 0, 327684, 196608, 0, 393220, 196608, 0, 458756, 196608, 0, -524283, 65536, 1, -458747, 65536, 0, -393211, 65536, 1, -327675, 0, 0, -262139, 0, 1, -196603, 0, 1, -131067, 0, 1, -65531, 65536, 1, 5, 65536, 0, 65541, 65536, 0, 131077, 65536, 0, 196613, 0, 0, 262149, 196608, 0, 327685, 196608, 0, 393221, 131072, 0, 458757, 131072, 0, -524282, 0, 1, -458746, 0, 1, -393210, 0, 0, -327674, 65536, 0, -262138, 0, 0, -196602, 0, 1, -131066, 131072, 0, -65530, 196608, 0, 6, 65536, 0, 65542, 65536, 0, 131078, 0, 0, 196614, 0, 1, 262150, 65536, 0, 327686, 65536, 1, 393222, 0, 1, 458758, 0, 1, -524281, 65536, 0, -458745, 65536, 0, -393209, 196608, 0, -327673, 196608, 0, -262137, 196608, 0, -196601, 131072, 0, -131065, 196608, 0, -65529, 131072, 0, 7, 0, 1, 65543, 65536, 1, 131079, 0, 1, 196615, 0, 0, 262151, 0, 0, 327687, 0, 1, 393223, 65536, 0, 458759, 0, 1, 655359, 65536, 0, 720895, 0, 1, 589824, 0, 0, 655360, 196608, 0, 786431, 0, 0, 851967, 0, 0, 917503, 0, 1, 983039, 196608, 0, 720896, 196608, 0, 786432, 196608, 0, 851968, 0, 1, 917504, 65536, 1, 1048575, 131072, 0, 1114111, 131072, 0, 1179647, 196608, 0, 1245183, 0, 0, 983040, 0, 0, 1048576, 65536, 0, 1114112, 131072, 0, 1179648, 65536, 0, 1310719, 65536, 1, 1376255, 0, 1, 1441791, 131072, 0, 1507327, 131072, 0, 1245184, 131072, 0, 1310720, 131072, 0, 1376256, 196608, 0, 1441792, 131072, 0, 1572863, 65536, 1, 1507328, 0, 0, 589823, 0, 0, 524288, 0, 0) -layer_4/tile_data = PackedInt32Array(-524296, 327680, 0, -589818, 262144, 0, -589817, 262144, 1, -589819, 327680, 0, -589820, 196608, 1, -589821, 327680, 1, -589822, 131072, 1, -589823, 262144, 1, -589824, 327680, 0, -524289, 131072, 1, -524290, 327680, 0, -524291, 327680, 1, -524292, 327680, 1, -524293, 327680, 0, -524294, 131072, 1, -524295, 262144, 1, -589832, 131072, 2, -589831, 131072, 2, -589830, 131072, 2, -589829, 131072, 2, -589828, 131072, 2, -589827, 131072, 2, -589826, 131072, 2, -589825, 131072, 2, -655360, 131072, 2, -655359, 131072, 2, -655358, 131072, 2, -655357, 131072, 2, -655356, 131072, 2, -655355, 131072, 2, -655354, 131072, 2, -655353, 131072, 2, -655352, 327680, 2, -589833, 262144, 2, -524297, 196608, 3, -458761, 196608, 3, -393225, 196608, 3, -327689, 196608, 3, -262153, 196608, 3, -196617, 196608, 3, -131081, 196608, 3, -65545, 196608, 3, -9, 196608, 3, 65527, 196608, 3, 131063, 196608, 3, 196599, 196608, 3, 262135, 196608, 3, 327671, 196608, 3, 393207, 196608, 3, 458743, 196608, 3, 524279, 196608, 3, 262152, 131072, 3, 327688, 131072, 3, 393224, 131072, 3, 458760, 131072, 3, 196616, 131072, 3, 131080, 131072, 3, 65544, 131072, 3, 8, 131072, 3, -65528, 131072, 3, -131064, 131072, 3, -196600, 131072, 3, -262136, 131072, 3, -589816, 131072, 3, -524280, 131072, 3, -458744, 131072, 3, -393208, 131072, 3, -327672, 131072, 3, 589816, 196608, 2, 589817, 196608, 2, 589818, 196608, 2, 589819, 196608, 2, 589820, 196608, 2, 589821, 196608, 2, 589822, 196608, 2, 524289, 196608, 2, 524290, 196608, 2, 524291, 196608, 2, 524292, 196608, 2, 524293, 196608, 2, 524294, 196608, 2, 524295, 196608, 2, 524296, 327680, 3, 589815, 262144, 3, -786433, 65538, 1, -851968, 65538, 1, -851967, 65538, 1, -786434, 65538, 1, -786435, 65538, 1, -786436, 65538, 1, -851966, 65538, 1, -851965, 65538, 1, -851964, 65538, 1, -786437, 65538, 1, -917504, 65538, 0, -851969, 65538, 0, -851970, 65538, 0, -851971, 65538, 0, -917503, 65538, 0, -917502, 65538, 0, -983040, 65538, 1, -917505, 65538, 1, -917506, 65538, 1, -983039, 65538, 1, -851963, 65538, 1, -786438, 65538, 1, -786439, 2, 1, -851962, 131074, 1, -851974, 65538, 0, -851973, 65538, 0, -851972, 65538, 0, -917501, 65538, 0, -917500, 65538, 0, -917499, 65538, 0, -917498, 131074, 0, -851975, 2, 0, -917507, 65538, 1, -917508, 65538, 1, -917509, 65538, 1, -917510, 65538, 1, -917511, 65538, 1, -983038, 65538, 1, -983037, 65538, 1, -983036, 65538, 1, -983035, 65538, 1, -983034, 65538, 1, -983033, 131074, 1, -917512, 2, 1) -layer_5/name = "Layer -1" Entities = NodePath("Entities") Areas = NodePath("Areas") Spawners = NodePath("Spawners") @@ -69,7 +92,32 @@ ClearColor = Color(0.105882, 0.0470588, 0.117647, 1) AreaName = "The True Arena" MapName = "The True Arena" -[node name="CanvasModulate" parent="." index="7"] +[node name="z-index 0" parent="Layers" index="0"] +tile_map_data = PackedByteArray("AAAHAPj/AAAHAAAAAAAEAPj/AAAHAAAAAAD4//v/AAAHAAAAAAAHAPv/AAAHAAAAAAAHAP7/AAAHAAAAAAD4//7/AAAHAAAAAAD4/wEAAAAHAAAAAAAHAAEAAAAHAAAAAAAHAAQAAAAHAAAAAAD4/wQAAAAHAAAAAAD4/wcAAAAHAAAAAAD7/wcAAAAHAAAAAAD+/wcAAAAHAAAAAAABAAcAAAAHAAAAAAAEAAcAAAAHAAAAAAAHAAcAAAAHAAAAAAD4//j/AAAHAAAAAAD7//j/AAAHAAAAAAABAPj/AAAHAAAAAAD+//j/AAAHAAAAAAD8//f/AAAHAAMAAAADAPf/AAAHAAIAAAACAPf/AAAGAAMAAAD9//f/AAAGAAIAAAAHAPf/AAAGAAAAAAA=") +tile_set = ExtResource("2_x0mh7") + +[node name="z-index -1" parent="Layers" index="1"] +tile_set = ExtResource("2_x0mh7") + +[node name="z-index -1 (under)" parent="Layers" index="2"] +tile_map_data = PackedByteArray("AAD+/wkAAAADAAMAAAD+/woAAAADAAMAAAD+/wsAAAADAAMAAAD+/wwAAAADAAMAAAD+/w0AAAADAAMAAAD+/w4AAAADAAMAAAD+/w8AAAADAAMAAAD+/xAAAAADAAMAAAD+/xEAAAADAAMAAAD+/xIAAAADAAMAAAD+/xMAAAADAAMAAAD+/xQAAAADAAMAAAD+/xUAAAADAAMAAAD+/xYAAAADAAMAAAD+/wgAAAABAAQAAAABAAgAAAAAAAQAAAABAAkAAAACAAMAAAABAAoAAAACAAMAAAABAAsAAAACAAMAAAABAAwAAAACAAMAAAABAA0AAAACAAMAAAABAA4AAAACAAMAAAABAA8AAAACAAMAAAABABAAAAACAAMAAAABABEAAAACAAMAAAABABIAAAACAAMAAAABABMAAAACAAMAAAABABQAAAACAAMAAAABABUAAAACAAMAAAABABYAAAACAAMAAAABABcAAAACAAMAAAD+/xcAAAADAAMAAAA=") +tile_set = ExtResource("2_x0mh7") + +[node name="z-index -2" parent="Layers" index="3"] +tile_map_data = PackedByteArray("AAD8//z/AAABAAEAAAD8//3/AAABAAEAAAD8//7/AAADAAAAAAD8////AAACAAAAAAD9//z/AAABAAEAAAD9//3/AAABAAAAAAD9//7/AAACAAAAAAD9////AAADAAAAAAD+//z/AAABAAAAAAD+//3/AAABAAEAAAD+//7/AAAAAAAAAAD+////AAABAAAAAAD///z/AAABAAEAAAD///3/AAABAAEAAAD///7/AAABAAAAAAD/////AAABAAEAAAD4//j/AAAAAAAAAAD4//n/AAADAAAAAAD4//r/AAADAAAAAAD4//v/AAAAAAAAAAD4//z/AAABAAAAAAD4//3/AAACAAAAAAD4//7/AAADAAAAAAD4////AAACAAAAAAD4/wAAAAACAAAAAAD4/wEAAAADAAAAAAD4/wIAAAACAAAAAAD4/wMAAAABAAAAAAD4/wQAAAABAAAAAAD4/wUAAAABAAAAAAD4/wYAAAAAAAAAAAD4/wcAAAABAAAAAAD5//j/AAAAAAEAAAD5//n/AAACAAAAAAD5//r/AAACAAAAAAD5//v/AAABAAAAAAD5//z/AAABAAEAAAD5//3/AAACAAAAAAD5//7/AAACAAAAAAD5////AAADAAAAAAD5/wAAAAADAAAAAAD5/wEAAAADAAAAAAD5/wIAAAACAAAAAAD5/wMAAAABAAEAAAD5/wQAAAAAAAAAAAD5/wUAAAABAAEAAAD5/wYAAAABAAAAAAD5/wcAAAABAAEAAAD6//j/AAAAAAAAAAD6//n/AAABAAAAAAD6//r/AAAAAAAAAAD6//v/AAABAAAAAAD6//z/AAAAAAAAAAD6//3/AAAAAAEAAAD6//7/AAADAAAAAAD6////AAADAAAAAAD6/wAAAAABAAEAAAD6/wEAAAABAAEAAAD6/wIAAAABAAEAAAD6/wMAAAAAAAAAAAD6/wQAAAABAAEAAAD6/wUAAAABAAAAAAD6/wYAAAACAAAAAAD6/wcAAAACAAAAAAD7//j/AAABAAAAAAD7//n/AAABAAEAAAD7//r/AAABAAAAAAD7//v/AAABAAAAAAD7//z/AAAAAAEAAAD7//3/AAAAAAEAAAD7//7/AAACAAAAAAD7////AAACAAAAAAD7/wAAAAABAAAAAAD7/wEAAAAAAAEAAAD7/wIAAAAAAAAAAAD7/wMAAAAAAAEAAAD7/wQAAAAAAAAAAAD7/wUAAAABAAAAAAD7/wYAAAACAAAAAAD7/wcAAAADAAAAAAD8//j/AAAAAAAAAAD8//n/AAAAAAEAAAD8//r/AAAAAAAAAAD8//v/AAAAAAAAAAD8/wAAAAABAAAAAAD8/wEAAAABAAAAAAD8/wIAAAABAAEAAAD8/wMAAAAAAAEAAAD8/wQAAAACAAAAAAD8/wUAAAADAAAAAAD8/wYAAAADAAAAAAD8/wcAAAADAAAAAAD9//j/AAAAAAEAAAD9//n/AAAAAAEAAAD9//r/AAAAAAEAAAD9//v/AAAAAAAAAAD9/wAAAAABAAAAAAD9/wEAAAABAAEAAAD9/wIAAAABAAEAAAD9/wMAAAAAAAEAAAD9/wQAAAADAAAAAAD9/wUAAAACAAAAAAD9/wYAAAADAAAAAAD9/wcAAAACAAAAAAD+//j/AAABAAEAAAD+//n/AAABAAEAAAD+//r/AAACAAAAAAD+//v/AAADAAAAAAD+/wAAAAAAAAEAAAD+/wEAAAABAAAAAAD+/wIAAAADAAAAAAD+/wMAAAACAAAAAAD+/wQAAAADAAAAAAD+/wUAAAACAAAAAAD+/wYAAAABAAAAAAD+/wcAAAAAAAAAAAD///j/AAAAAAEAAAD///n/AAAAAAEAAAD///r/AAADAAAAAAD///v/AAACAAAAAAD//wAAAAAAAAEAAAD//wEAAAABAAEAAAD//wIAAAACAAAAAAD//wMAAAADAAAAAAD//wQAAAACAAAAAAD//wUAAAACAAAAAAD//wYAAAABAAEAAAD//wcAAAAAAAAAAAAAAPj/AAABAAEAAAAAAPn/AAABAAEAAAAAAPr/AAADAAAAAAAAAPv/AAADAAAAAAAAAPz/AAABAAAAAAAAAP3/AAAAAAEAAAAAAP7/AAABAAAAAAAAAP//AAABAAAAAAAAAAAAAAABAAAAAAAAAAEAAAABAAEAAAAAAAIAAAABAAAAAAAAAAMAAAABAAEAAAAAAAQAAAABAAAAAAAAAAUAAAAAAAEAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAEAAAABAPj/AAABAAEAAAABAPn/AAAAAAAAAAABAPr/AAADAAAAAAABAPv/AAADAAAAAAABAPz/AAAAAAAAAAABAP3/AAABAAEAAAABAP7/AAAAAAEAAAABAP//AAABAAEAAAABAAAAAAAAAAAAAAABAAEAAAABAAEAAAABAAIAAAABAAAAAAABAAMAAAABAAAAAAABAAQAAAABAAEAAAABAAUAAAABAAEAAAABAAYAAAAAAAEAAAABAAcAAAABAAEAAAACAPj/AAABAAAAAAACAPn/AAABAAAAAAACAPr/AAACAAAAAAACAPv/AAADAAAAAAACAPz/AAAAAAAAAAACAP3/AAABAAAAAAACAP7/AAADAAAAAAACAP//AAACAAAAAAACAAAAAAACAAAAAAACAAEAAAADAAAAAAACAAIAAAABAAAAAAACAAMAAAAAAAAAAAACAAQAAAAAAAEAAAACAAUAAAABAAAAAAACAAYAAAACAAAAAAACAAcAAAACAAAAAAADAPj/AAABAAAAAAADAPn/AAABAAAAAAADAPr/AAACAAAAAAADAPv/AAADAAAAAAADAPz/AAAAAAAAAAADAP3/AAABAAAAAAADAP7/AAACAAAAAAADAP//AAACAAAAAAADAAAAAAADAAAAAAADAAEAAAADAAAAAAADAAIAAAAAAAAAAAADAAMAAAAAAAEAAAADAAQAAAABAAEAAAADAAUAAAABAAEAAAADAAYAAAADAAAAAAADAAcAAAADAAAAAAAEAPj/AAAAAAEAAAAEAPn/AAABAAAAAAAEAPr/AAABAAAAAAAEAPv/AAAAAAAAAAAEAPz/AAABAAEAAAAEAP3/AAAAAAEAAAAEAP7/AAAAAAEAAAAEAP//AAAAAAEAAAAEAAAAAAAAAAAAAAAEAAEAAAABAAEAAAAEAAIAAAAAAAAAAAAEAAMAAAABAAAAAAAEAAQAAAACAAAAAAAEAAUAAAADAAAAAAAEAAYAAAADAAAAAAAEAAcAAAADAAAAAAAFAPj/AAABAAEAAAAFAPn/AAABAAAAAAAFAPr/AAABAAEAAAAFAPv/AAAAAAAAAAAFAPz/AAAAAAEAAAAFAP3/AAAAAAEAAAAFAP7/AAAAAAEAAAAFAP//AAABAAEAAAAFAAAAAAABAAAAAAAFAAEAAAABAAAAAAAFAAIAAAABAAAAAAAFAAMAAAAAAAAAAAAFAAQAAAADAAAAAAAFAAUAAAADAAAAAAAFAAYAAAACAAAAAAAFAAcAAAACAAAAAAAGAPj/AAAAAAEAAAAGAPn/AAAAAAEAAAAGAPr/AAAAAAAAAAAGAPv/AAABAAAAAAAGAPz/AAAAAAAAAAAGAP3/AAAAAAEAAAAGAP7/AAACAAAAAAAGAP//AAADAAAAAAAGAAAAAAABAAAAAAAGAAEAAAABAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAEAAAAGAAQAAAABAAAAAAAGAAUAAAABAAEAAAAGAAYAAAAAAAEAAAAGAAcAAAAAAAEAAAAHAPj/AAABAAAAAAAHAPn/AAABAAAAAAAHAPr/AAADAAAAAAAHAPv/AAADAAAAAAAHAPz/AAADAAAAAAAHAP3/AAACAAAAAAAHAP7/AAADAAAAAAAHAP//AAACAAAAAAAHAAAAAAAAAAEAAAAHAAEAAAABAAEAAAAHAAIAAAAAAAEAAAAHAAMAAAAAAAAAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAEAAAAHAAYAAAABAAAAAAAHAAcAAAAAAAEAAAD//wkAAAABAAAAAAD//woAAAAAAAEAAAAAAAkAAAAAAAAAAAAAAAoAAAADAAAAAAD//wsAAAAAAAAAAAD//wwAAAAAAAAAAAD//w0AAAAAAAEAAAD//w4AAAADAAAAAAAAAAsAAAADAAAAAAAAAAwAAAADAAAAAAAAAA0AAAAAAAEAAAAAAA4AAAABAAEAAAD//w8AAAACAAAAAAD//xAAAAACAAAAAAD//xEAAAADAAAAAAD//xIAAAAAAAAAAAAAAA8AAAAAAAAAAAAAABAAAAABAAAAAAAAABEAAAACAAAAAAAAABIAAAABAAAAAAD//xMAAAABAAEAAAD//xQAAAAAAAEAAAD//xUAAAACAAAAAAD//xYAAAACAAAAAAAAABMAAAACAAAAAAAAABQAAAACAAAAAAAAABUAAAADAAAAAAAAABYAAAACAAAAAAD//xcAAAABAAEAAAAAABcAAAAAAAAAAAD//wgAAAAAAAAAAAAAAAgAAAAAAAAAAAA=") +tile_set = ExtResource("2_x0mh7") + +[node name="z-index -3" parent="Layers" index="4"] +tile_map_data = PackedByteArray("AAD4//f/AAAFAAAAAAAGAPf/AAAEAAAAAAAHAPf/AAAEAAEAAAAFAPf/AAAFAAAAAAAEAPf/AAADAAEAAAADAPf/AAAFAAEAAAACAPf/AAACAAEAAAABAPf/AAAEAAEAAAAAAPf/AAAFAAAAAAD///f/AAACAAEAAAD+//f/AAAFAAAAAAD9//f/AAAFAAEAAAD8//f/AAAFAAEAAAD7//f/AAAFAAAAAAD6//f/AAACAAEAAAD5//f/AAAEAAEAAAD4//b/AAACAAIAAAD5//b/AAACAAIAAAD6//b/AAACAAIAAAD7//b/AAACAAIAAAD8//b/AAACAAIAAAD9//b/AAACAAIAAAD+//b/AAACAAIAAAD///b/AAACAAIAAAAAAPb/AAACAAIAAAABAPb/AAACAAIAAAACAPb/AAACAAIAAAADAPb/AAACAAIAAAAEAPb/AAACAAIAAAAFAPb/AAACAAIAAAAGAPb/AAACAAIAAAAHAPb/AAACAAIAAAAIAPb/AAAFAAIAAAD3//b/AAAEAAIAAAD3//f/AAADAAMAAAD3//j/AAADAAMAAAD3//n/AAADAAMAAAD3//r/AAADAAMAAAD3//v/AAADAAMAAAD3//z/AAADAAMAAAD3//3/AAADAAMAAAD3//7/AAADAAMAAAD3////AAADAAMAAAD3/wAAAAADAAMAAAD3/wEAAAADAAMAAAD3/wIAAAADAAMAAAD3/wMAAAADAAMAAAD3/wQAAAADAAMAAAD3/wUAAAADAAMAAAD3/wYAAAADAAMAAAD3/wcAAAADAAMAAAAIAAQAAAACAAMAAAAIAAUAAAACAAMAAAAIAAYAAAACAAMAAAAIAAcAAAACAAMAAAAIAAMAAAACAAMAAAAIAAIAAAACAAMAAAAIAAEAAAACAAMAAAAIAAAAAAACAAMAAAAIAP//AAACAAMAAAAIAP7/AAACAAMAAAAIAP3/AAACAAMAAAAIAPz/AAACAAMAAAAIAPf/AAACAAMAAAAIAPj/AAACAAMAAAAIAPn/AAACAAMAAAAIAPr/AAACAAMAAAAIAPv/AAACAAMAAAD4/wgAAAADAAIAAAD5/wgAAAADAAIAAAD6/wgAAAADAAIAAAD7/wgAAAADAAIAAAD8/wgAAAADAAIAAAD9/wgAAAADAAIAAAD+/wgAAAADAAIAAAABAAgAAAADAAIAAAACAAgAAAADAAIAAAADAAgAAAADAAIAAAAEAAgAAAADAAIAAAAFAAgAAAADAAIAAAAGAAgAAAADAAIAAAAHAAgAAAADAAIAAAAIAAgAAAAFAAMAAAD3/wgAAAAEAAMAAAD///P/AgABAAEAAAAAAPP/AgABAAEAAAABAPP/AgABAAEAAAD+//P/AgABAAEAAAD9//P/AgABAAEAAAD8//P/AgABAAEAAAACAPP/AgABAAEAAAADAPP/AgABAAEAAAAEAPP/AgABAAEAAAD7//P/AgABAAEAAAAAAPL/AgABAAAAAAD///L/AgABAAAAAAD+//L/AgABAAAAAAD9//L/AgABAAAAAAABAPL/AgABAAAAAAACAPL/AgABAAAAAAAAAPH/AgABAAEAAAD///H/AgABAAEAAAD+//H/AgABAAEAAAABAPH/AgABAAEAAAAFAPP/AgABAAEAAAD6//P/AgABAAEAAAD5//P/AgAAAAEAAAAGAPP/AgACAAEAAAD6//L/AgABAAAAAAD7//L/AgABAAAAAAD8//L/AgABAAAAAAADAPL/AgABAAAAAAAEAPL/AgABAAAAAAAFAPL/AgABAAAAAAAGAPL/AgACAAAAAAD5//L/AgAAAAAAAAD9//H/AgABAAEAAAD8//H/AgABAAEAAAD7//H/AgABAAEAAAD6//H/AgABAAEAAAD5//H/AgABAAEAAAACAPH/AgABAAEAAAADAPH/AgABAAEAAAAEAPH/AgABAAEAAAAFAPH/AgABAAEAAAAGAPH/AgABAAEAAAAHAPH/AgACAAEAAAD4//H/AgAAAAEAAAA=") +tile_set = ExtResource("2_x0mh7") + +[node name="z-index -4" parent="Layers" index="5"] +tile_set = ExtResource("2_x0mh7") + +[node name="z-index 0 (walls)" parent="Layers" index="6"] +tile_set = ExtResource("2_x0mh7") + +[node name="CanvasModulate" parent="." index="1"] color = Color(0.317647, 0.184314, 0.345098, 1) [node name="Static@TorchLamp" parent="Props" index="0" instance=ExtResource("6_jy3pc")] @@ -188,24 +236,66 @@ ToConnector = "ArenaEntrance" [node name="CollisionShape2D" type="CollisionShape2D" parent="Areas/Entrance" index="0"] shape = SubResource("RectangleShape2D_2xagi") -[node name="EntranceCameraBounds" parent="Areas" index="1" node_paths=PackedStringArray("Trigger", "TopLeft", "BottomRight") instance=ExtResource("11_j2620")] -Trigger = NodePath("Area2D") -TopLeft = NodePath("TopLeft") -BottomRight = NodePath("BottomRight") +[node name="EntranceCamera" type="Area2D" parent="Areas" index="1" node_paths=PackedStringArray("Camera")] +position = Vector2(0, 384) +collision_layer = 0 +collision_mask = 4 +monitorable = false +script = ExtResource("11_0u80h") +Camera = NodePath("Node/PhantomCamera2D") -[node name="Area2D" parent="Areas/EntranceCameraBounds" index="0"] -position = Vector2(0, 377) - -[node name="CollisionShape2D" parent="Areas/EntranceCameraBounds/Area2D" index="0"] +[node name="CollisionShape2D" type="CollisionShape2D" parent="Areas/EntranceCamera" index="0"] +position = Vector2(0, -129) shape = SubResource("RectangleShape2D_iw8cv") +debug_color = Color(0.631373, 0.345098, 1, 0.419608) -[node name="TopLeft" parent="Areas/EntranceCameraBounds" index="1"] -position = Vector2(-256, 0) +[node name="Node" type="Node" parent="Areas/EntranceCamera" index="1"] -[node name="BottomRight" parent="Areas/EntranceCameraBounds" index="2"] -position = Vector2(256, 384) +[node name="PhantomCamera2D" type="Node2D" parent="Areas/EntranceCamera/Node" index="0" node_paths=PackedStringArray("follow_path")] +position = Vector2(0, 248) +script = ExtResource("11_q01ik") +follow_mode = 4 +follow_path = NodePath("../../Path2D") +zoom = Vector2(4, 4) +tween_resource = SubResource("Resource_22hgm") +tween_on_load = false +draw_limits = true +limit_left = -384 +limit_top = -400 +limit_right = 384 +limit_bottom = 400 +limit_target = NodePath("../CollisionShape2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Areas/EntranceCamera/Node" index="1"] +position = Vector2(0, 128) +shape = SubResource("RectangleShape2D_28nvi") + +[node name="Path2D" type="Path2D" parent="Areas/EntranceCamera" index="2"] +curve = SubResource("Curve2D_0qfqo") + +[node name="MiddleCamera" type="Area2D" parent="Areas" index="2" node_paths=PackedStringArray("Camera")] +position = Vector2(0, -3) +collision_layer = 0 +collision_mask = 4 +monitorable = false +script = ExtResource("11_0u80h") +Camera = NodePath("Node/PhantomCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Areas/MiddleCamera" index="0"] +shape = SubResource("RectangleShape2D_8id2f") +debug_color = Color(0.631373, 0.345098, 1, 0.419608) + +[node name="Node" type="Node" parent="Areas/MiddleCamera" index="1"] + +[node name="PhantomCamera2D" type="Node2D" parent="Areas/MiddleCamera/Node" index="0"] +script = ExtResource("11_q01ik") +zoom = Vector2(3, 3) +tween_resource = SubResource("Resource_bv7so") +tween_on_load = false +draw_limits = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Areas/MiddleCamera/Node" index="1"] +shape = SubResource("RectangleShape2D_idjmj") [node name="Entrance" type="Marker2D" parent="Markers" index="0"] position = Vector2(0, 352) - -[editable path="Areas/EntranceCameraBounds"] diff --git a/Scenes/Maps/ArenaExterior.tscn b/Scenes/Maps/ArenaExterior.tscn index 7e95f2d..c71a4cb 100644 --- a/Scenes/Maps/ArenaExterior.tscn +++ b/Scenes/Maps/ArenaExterior.tscn @@ -36,8 +36,10 @@ [ext_resource type="Shader" path="res://Shaders/Flash.gdshader" id="28_b3suq"] [ext_resource type="PackedScene" uid="uid://dhamcei7tfta8" path="res://Characters/DocCenturion.tscn" id="30_qfl2k"] [ext_resource type="PackedScene" uid="uid://3bcudbixirkj" path="res://Characters/DocCultist.tscn" id="30_xj4yo"] -[ext_resource type="PackedScene" uid="uid://malbos18dh7l" path="res://BoundingBoxes/CameraBounds.tscn" id="33_e4gty"] [ext_resource type="PackedScene" uid="uid://glh1bi8fq0y3" path="res://Characters/Weeb.tscn" id="36_w0bf2"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="39_48cwk"] +[ext_resource type="Script" path="res://BoundingBoxes/CameraTrigger.cs" id="39_50gr5"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="40_h1ykh"] [sub_resource type="Gradient" id="Gradient_jupxw"] offsets = PackedFloat32Array(0.00740741, 0.2, 1) @@ -294,6 +296,21 @@ shader_parameter/color = Vector4(1, 1, 1, 1) shader_parameter/intensity = 0.0 shader_parameter/alpha_modulate = 1.0 +[sub_resource type="Resource" id="Resource_jfjid"] +script = ExtResource("40_h1ykh") +duration = 1.0 +transition = 0 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_htwu3"] +size = Vector2(256, 512) + +[sub_resource type="Curve2D" id="Curve2D_y7u3v"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, -64) +} +point_count = 2 + [sub_resource type="NavigationPolygon" id="NavigationPolygon_je8i8"] vertices = PackedVector2Array(504, 424, 527, 424, 527, 430, 488, 450, 552, 430, 552, 472, 536, 450, 536, 472, 488, 408, 504, 408, 664, 472, 600, 472, 600, 430, 625, 430, 625, 424, 648, 424, 664, 408, 648, 408, 8, 200, -8, 200, -8, 169, 8, 169, 104, -16.6875, 104, -37, 120, -120, 120, 120, 40, 63.3125, 80.6875, 40, 95.3125, 40, 40, 75, 31.3125, 72, 40, -80.6875, 40, -101, 104, 31.3125, 40, 95.3125, 8, 75, 16.6875, 72, 40, 43, 63.3125, 40, -120, -120, 8, -101, -8, 63.3125, 8, 63.3125, -8, 75, -16.6875, 72, 8, 11, 8, 31.3125, -8, 31.3125, -8, 11, -80.6875, 40, -72, 31.3125, -63.3125, 40, -120, 120, -48.6875, 40, -40, 31.3125, -31.3125, 40, -40, 43, 31.3125, 40, 40, 31.3125, 48.6875, 40, 72, 31.3125, 8, 43, 16.6875, 40, -8, 43, -16.6875, 40, 8, 95.3125, -8, 95.3125, -40, 75, -31.3125, 72, -40, 63.3125, 8, 120, 8, 128, -8, 128, -8, 120, 8, -80.6875, -8, -80.6875, -8, -101, -40, -101, 8, -69, 8, -48.6875, -8, -48.6875, -8, -69, 8, -37, 8, -16.6875, -8, -16.6875, -8, -37, -80.6875, -8, -72, -16.6875, -63.3125, -8, -48.6875, -8, -40, -16.6875, -31.3125, -8, 31.3125, -8, 40, -16.6875, 48.6875, -8, 63.3125, -8, 72, -16.6875, 80.6875, -8, 40, -48.6875, 40, -69, 31.3125, -72, 16.6875, -72, -16.6875, -72, -40, -69, -31.3125, -72, -40, -80.6875, 31.3125, 104, 16.6875, 104, -16.6875, 104, -31.3125, 104, -40, 95.3125, -95.3125, 40, -104, 31.3125, -104, 11, -40, -48.6875, -104, -37, 31.3125, -40, 16.6875, -40, -16.6875, -40, -31.3125, -40, -16.6875, -8, 16.6875, -8, -104, -16.6875, -95.3125, -8, 104, 11, 95.3125, -8) polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(2, 4, 5, 6), PackedInt32Array(5, 7, 6), PackedInt32Array(2, 6, 3), PackedInt32Array(0, 3, 8, 9), PackedInt32Array(10, 11, 12, 13), PackedInt32Array(13, 14, 15, 10), PackedInt32Array(16, 10, 15, 17), PackedInt32Array(18, 19, 20, 21), PackedInt32Array(22, 23, 24, 25), PackedInt32Array(26, 27, 28, 29, 30), PackedInt32Array(24, 23, 31, 32), PackedInt32Array(28, 33, 25), PackedInt32Array(28, 25, 34, 29), PackedInt32Array(30, 29, 35, 36), PackedInt32Array(27, 26, 37, 38), PackedInt32Array(39, 24, 32, 40), PackedInt32Array(41, 42, 36, 35, 43, 44), PackedInt32Array(45, 46, 47, 48), PackedInt32Array(49, 50, 51, 52), PackedInt32Array(53, 54, 55, 56), PackedInt32Array(57, 58, 59, 37), PackedInt32Array(38, 60, 27), PackedInt32Array(59, 38, 37), PackedInt32Array(57, 37, 61, 62), PackedInt32Array(47, 46, 62, 61, 63, 64), PackedInt32Array(61, 42, 41, 63), PackedInt32Array(64, 63, 56, 55), PackedInt32Array(35, 65, 66, 43), PackedInt32Array(44, 43, 67, 68), PackedInt32Array(69, 68, 67), PackedInt32Array(70, 71, 72, 73), PackedInt32Array(40, 74, 75, 76), PackedInt32Array(39, 40, 76), PackedInt32Array(39, 76, 77), PackedInt32Array(78, 79, 80, 81), PackedInt32Array(82, 83, 84, 85), PackedInt32Array(86, 87, 88), PackedInt32Array(89, 90, 91), PackedInt32Array(92, 93, 94), PackedInt32Array(95, 96, 97), PackedInt32Array(23, 98, 99), PackedInt32Array(31, 23, 99), PackedInt32Array(100, 31, 99), PackedInt32Array(100, 99, 78, 101), PackedInt32Array(75, 74, 101, 78, 81, 102), PackedInt32Array(102, 81, 103, 104), PackedInt32Array(105, 104, 103, 39), PackedInt32Array(39, 77, 105), PackedInt32Array(51, 53, 56, 69, 52), PackedInt32Array(106, 34, 25), PackedInt32Array(106, 25, 70, 107), PackedInt32Array(66, 65, 107, 70, 73, 108), PackedInt32Array(108, 73, 52, 109), PackedInt32Array(110, 109, 52), PackedInt32Array(67, 110, 52), PackedInt32Array(69, 67, 52), PackedInt32Array(111, 49, 52), PackedInt32Array(112, 111, 52), PackedInt32Array(112, 52, 39, 113), PackedInt32Array(39, 103, 114, 115), PackedInt32Array(116, 98, 23), PackedInt32Array(116, 23, 82, 117), PackedInt32Array(80, 79, 117, 82, 85, 118), PackedInt32Array(118, 85, 115, 119), PackedInt32Array(114, 119, 115), PackedInt32Array(48, 120, 84, 83, 121, 45), PackedInt32Array(39, 115, 122), PackedInt32Array(113, 39, 122), PackedInt32Array(113, 122, 123), PackedInt32Array(48, 113, 123, 86), PackedInt32Array(48, 86, 88), PackedInt32Array(48, 88, 89), PackedInt32Array(48, 89, 91), PackedInt32Array(48, 91, 120), PackedInt32Array(124, 45, 121, 92), PackedInt32Array(124, 92, 94), PackedInt32Array(124, 94, 95), PackedInt32Array(124, 95, 97), PackedInt32Array(124, 97, 125), PackedInt32Array(124, 125, 22), PackedInt32Array(124, 22, 25), PackedInt32Array(124, 25, 33)]) @@ -309,6 +326,7 @@ polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Arr outlines = Array[PackedVector2Array]([PackedVector2Array(-16, 192, 16, 192, 16, 336, 144, 336, 144, 368, 112, 368, 112, 400, 48, 400, 48, 368, 16, 368, 16, 464, -16, 464)]) source_geometry_mode = 1 source_geometry_group_name = &"navigation" +cell_size = 16.0 agent_radius = 8.0 [sub_resource type="NavigationPolygon" id="NavigationPolygon_0dq8c"] @@ -317,6 +335,7 @@ polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Arr outlines = Array[PackedVector2Array]([PackedVector2Array(-112, -16, -112, 16, -208, 16, -208, 96, -240, 96, -240, -16), PackedVector2Array(-240, 112, -208, 112, -208, 208, -240, 208)]) source_geometry_mode = 1 source_geometry_group_name = &"navigation" +cell_size = 16.0 agent_radius = 8.0 [sub_resource type="NavigationPolygon" id="NavigationPolygon_ag23k"] @@ -325,14 +344,16 @@ polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Arr outlines = Array[PackedVector2Array]([PackedVector2Array(-192, 80, -192, 128, -400, 128, -400, 80, -560, 80, -560, 0, -336, 0, -336, 80), PackedVector2Array(-240, 192, -192, 192, -192, 256, -224, 256, -224, 464, -288, 464, -288, 528, -528, 528, -528, 464, -608, 464, -608, 384, -512, 384, -512, 320, -528, 320, -528, 192), PackedVector2Array(-256, 368, -256, 256, -368, 256, -368, 320, -480, 320, -480, 384, -464, 384, -464, 464, -352, 464, -352, 368)]) source_geometry_mode = 1 source_geometry_group_name = &"navigation" +cell_size = 16.0 agent_radius = 8.0 [sub_resource type="NavigationPolygon" id="NavigationPolygon_lh32d"] -vertices = PackedVector2Array(296, 680, 552, 680, 552, 696, 392, 696, 392, 712, 328, 712, 328, 696, 296, 696, 168, 680, 168, 660, 296, 456, 184, 680, 168, 648, 168, 628, 168, 616, 168, 596, 159, 625, 136, 628, 145, 625, 159, 657, 136, 660, 145, 657, -56, 660, -56, 584, -47, 593, 136, 824, 136, 680, 145, 689, 136, 616, -33, 593, 136, 648, 118, 521, 118, 497, 168, 564, -56, 456, 42, 497, 136, 596, -15, 593, 159, 689, 184, 840, 40, 840, 40, 872, -120, 872, -120, 840, -344, 840, -344, 520, -296, 520, -312, 628, -296, 628, -312, 648, -303, 657, -296, 657, -296, 660, -312, 660, -312, 680, -303, 689, -296, 689, -296, 692, -312, 692, -312, 712, -303, 721, -296, 721, -296, 724, -312, 724, -312, 744, -303, 753, -296, 753, -296, 756, -312, 756, -312, 776, -303, 785, -296, 824, -296, 785, -200, 824, -200, 728, -232, 728, -232, 520, -152, 568, 42, 521, 38, 521, 38, 497, -38, 497, -56, 520, -38, 521, -24, 584, -1, 593, 8, 584, 17, 593, 31, 593, 40, 584, 49, 593, 63, 593, 72, 584, 81, 593, 95, 593, 104, 584, 113, 593, 127, 593, 136, 584, 145, 593, 159, 593, 168, 584, -88, 564, -88, 568, -152, 728, -184, 728, -184, 824, -120, 824, -120, 792, 40, 792, 40, 824) -polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6), PackedInt32Array(0, 3, 6), PackedInt32Array(0, 6, 7), PackedInt32Array(8, 9, 10, 11), PackedInt32Array(12, 10, 9), PackedInt32Array(10, 12, 13), PackedInt32Array(14, 10, 13), PackedInt32Array(10, 14, 15), PackedInt32Array(16, 14, 13), PackedInt32Array(16, 13, 17, 18), PackedInt32Array(19, 12, 9), PackedInt32Array(19, 9, 20, 21), PackedInt32Array(22, 23, 24), PackedInt32Array(25, 26, 27), PackedInt32Array(28, 18, 17, 29), PackedInt32Array(24, 29, 30, 21, 20, 22), PackedInt32Array(31, 32, 10, 33), PackedInt32Array(34, 10, 32, 35), PackedInt32Array(17, 30, 29), PackedInt32Array(36, 28, 29, 37), PackedInt32Array(10, 0, 11), PackedInt32Array(38, 8, 11, 39, 25), PackedInt32Array(40, 41, 42, 43), PackedInt32Array(44, 45, 46, 47), PackedInt32Array(46, 48, 47), PackedInt32Array(44, 47, 49), PackedInt32Array(50, 51, 52, 53), PackedInt32Array(49, 50, 53), PackedInt32Array(44, 49, 53), PackedInt32Array(44, 53, 54), PackedInt32Array(55, 56, 57, 58), PackedInt32Array(54, 55, 58), PackedInt32Array(44, 54, 58), PackedInt32Array(44, 58, 59), PackedInt32Array(60, 61, 62, 63), PackedInt32Array(59, 60, 63), PackedInt32Array(44, 59, 63), PackedInt32Array(44, 63, 64), PackedInt32Array(65, 66, 67, 68), PackedInt32Array(64, 65, 68), PackedInt32Array(44, 64, 68), PackedInt32Array(44, 68, 69), PackedInt32Array(44, 69, 70, 71), PackedInt32Array(70, 72, 71), PackedInt32Array(43, 44, 71, 73), PackedInt32Array(74, 75, 76, 77), PackedInt32Array(35, 78, 79, 80), PackedInt32Array(34, 35, 80), PackedInt32Array(34, 80, 81), PackedInt32Array(82, 34, 81, 83), PackedInt32Array(29, 84, 37), PackedInt32Array(36, 37, 85), PackedInt32Array(85, 86, 87), PackedInt32Array(36, 85, 87), PackedInt32Array(36, 87, 88), PackedInt32Array(88, 89, 90), PackedInt32Array(36, 88, 90), PackedInt32Array(36, 90, 91), PackedInt32Array(91, 92, 93), PackedInt32Array(36, 91, 93), PackedInt32Array(36, 93, 94), PackedInt32Array(94, 95, 96), PackedInt32Array(36, 94, 96), PackedInt32Array(36, 96, 97), PackedInt32Array(36, 97, 98, 99), PackedInt32Array(15, 36, 99, 100), PackedInt32Array(15, 100, 101), PackedInt32Array(10, 15, 101), PackedInt32Array(10, 101, 33), PackedInt32Array(31, 33, 102, 78), PackedInt32Array(79, 78, 102), PackedInt32Array(83, 79, 102), PackedInt32Array(76, 82, 83, 102, 77), PackedInt32Array(102, 103, 77), PackedInt32Array(77, 104, 105), PackedInt32Array(74, 77, 105), PackedInt32Array(73, 74, 105, 106), PackedInt32Array(43, 73, 106), PackedInt32Array(43, 106, 107, 40), PackedInt32Array(107, 108, 109, 110), PackedInt32Array(40, 107, 110, 39), PackedInt32Array(39, 110, 25), PackedInt32Array(38, 25, 27)]) +vertices = PackedVector2Array(-152, 728, -161, 728, -152, 719, -223, 728, -232, 728, -232, 719, 296, 680, 552, 680, 552, 696, 392, 696, 392, 712, 328, 712, 328, 696, 296, 696, 136, 824, 184, 840, 40, 840, 40, 824, 248, 559, 248, 539, 296, 456, 248, 527, 248, 507, 239, 536, 216, 539, 225, 536, -161, 600, -152, 591, -152, 603, -184, 603, -175, 600, -161, 632, -152, 623, -152, 635, -184, 635, -175, 632, -161, 664, -152, 655, -152, 667, -184, 667, -175, 664, -161, 696, -152, 687, -152, 699, -184, 699, -175, 696, -184, 719, -175, 728, -184, 728, -200, 719, -200, 728, -209, 728, -232, 699, -232, 687, -223, 696, -200, 699, -209, 696, -232, 667, -232, 655, -223, 664, -200, 667, -209, 664, -232, 635, -232, 623, -223, 632, -200, 635, -209, 632, -232, 603, -232, 591, -223, 600, -200, 603, -209, 600, 198, 456, 198, 464, -8, 507, 122, 464, 216, 527, 207, 536, -200, 591, -184, 591, -200, 623, -184, 623, -200, 655, -184, 655, -200, 687, -184, 687, 175, 632, 184, 680, 136, 680, 161, 632, 239, 632, 248, 623, 225, 632, 118, 464, 118, 456, 122, 456, 42, 464, -56, 520, 15, 536, 24, 527, 33, 536, 47, 536, 56, 527, 65, 536, 79, 536, 88, 527, 97, 536, 111, 536, 120, 527, 129, 536, 143, 536, 152, 527, 161, 536, 175, 536, 184, 527, 193, 536, 15, 632, 24, 623, 33, 632, 47, 632, 56, 623, 65, 632, 79, 632, 88, 623, 97, 632, 111, 632, 120, 623, 129, 632, 143, 632, 152, 623, 184, 623, 193, 632, 207, 632, 216, 623, -56, 680, 1, 632, -8, 623, -56, 568, -8, 603, -152, 568, -152, 571, -184, 571, -120, 824, -120, 792, 40, 792, -120, 840, 40, 872, -120, 872, -184, 824, -344, 840, -344, 520, -296, 520, -296, 824, -200, 571, -232, 571, -232, 520, -8, 527, 1, 536, -56, 456, 42, 456, 216, 559, 248, 603, 248, 591, 239, 600, 225, 600, 216, 591, 216, 571, 225, 568, 248, 571, 239, 568, -200, 824) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2), PackedInt32Array(3, 4, 5), PackedInt32Array(6, 7, 8, 9), PackedInt32Array(9, 10, 11, 12), PackedInt32Array(6, 9, 12), PackedInt32Array(6, 12, 13), PackedInt32Array(14, 15, 16, 17), PackedInt32Array(18, 19, 20, 6), PackedInt32Array(21, 20, 19), PackedInt32Array(20, 21, 22), PackedInt32Array(23, 21, 19), PackedInt32Array(23, 19, 24, 25), PackedInt32Array(26, 27, 28), PackedInt32Array(26, 28, 29, 30), PackedInt32Array(31, 32, 33), PackedInt32Array(31, 33, 34, 35), PackedInt32Array(36, 37, 38), PackedInt32Array(36, 38, 39, 40), PackedInt32Array(41, 42, 43), PackedInt32Array(41, 43, 44, 45), PackedInt32Array(46, 47, 48, 49), PackedInt32Array(50, 51, 49), PackedInt32Array(52, 53, 54), PackedInt32Array(55, 52, 54, 56), PackedInt32Array(57, 58, 59), PackedInt32Array(60, 57, 59, 61), PackedInt32Array(62, 63, 64), PackedInt32Array(65, 62, 64, 66), PackedInt32Array(67, 68, 69), PackedInt32Array(70, 67, 69, 71), PackedInt32Array(72, 20, 22, 73), PackedInt32Array(73, 22, 74, 75), PackedInt32Array(76, 25, 24, 77), PackedInt32Array(78, 79, 30, 29, 70, 71), PackedInt32Array(80, 81, 35, 34, 65, 66), PackedInt32Array(82, 83, 40, 39, 60, 61), PackedInt32Array(84, 85, 45, 44, 55, 56), PackedInt32Array(86, 87, 15, 14, 88, 89), PackedInt32Array(90, 91, 6), PackedInt32Array(90, 6, 87, 92), PackedInt32Array(93, 94, 95, 75), PackedInt32Array(93, 75, 74), PackedInt32Array(96, 93, 74, 97), PackedInt32Array(98, 99, 100), PackedInt32Array(101, 102, 103), PackedInt32Array(104, 105, 106), PackedInt32Array(107, 108, 109), PackedInt32Array(110, 111, 112), PackedInt32Array(113, 114, 115), PackedInt32Array(116, 117, 118), PackedInt32Array(119, 120, 121), PackedInt32Array(122, 123, 124), PackedInt32Array(125, 126, 127), PackedInt32Array(128, 129, 89, 88), PackedInt32Array(86, 130, 131, 87), PackedInt32Array(132, 133, 92, 87), PackedInt32Array(131, 132, 87), PackedInt32Array(127, 128, 88, 134), PackedInt32Array(125, 127, 134), PackedInt32Array(124, 125, 134), PackedInt32Array(122, 124, 134), PackedInt32Array(121, 122, 134), PackedInt32Array(119, 121, 134), PackedInt32Array(118, 119, 134), PackedInt32Array(116, 118, 134), PackedInt32Array(135, 116, 134), PackedInt32Array(136, 135, 134), PackedInt32Array(136, 134, 137, 138), PackedInt32Array(139, 140, 141), PackedInt32Array(142, 143, 144, 17), PackedInt32Array(142, 17, 16, 145), PackedInt32Array(16, 146, 147, 145), PackedInt32Array(148, 142, 145, 149), PackedInt32Array(149, 150, 151, 152), PackedInt32Array(153, 154, 155, 97, 156, 157, 139), PackedInt32Array(97, 158, 159, 96), PackedInt32Array(97, 74, 156), PackedInt32Array(77, 24, 160, 115), PackedInt32Array(113, 115, 160), PackedInt32Array(6, 91, 161), PackedInt32Array(162, 6, 161), PackedInt32Array(163, 162, 161), PackedInt32Array(163, 161, 138, 164), PackedInt32Array(165, 164, 138), PackedInt32Array(166, 165, 138, 137), PackedInt32Array(166, 137, 112, 113, 160, 167), PackedInt32Array(6, 162, 168), PackedInt32Array(18, 6, 168), PackedInt32Array(169, 18, 168), PackedInt32Array(169, 168, 166, 167), PackedInt32Array(110, 112, 137), PackedInt32Array(109, 110, 137), PackedInt32Array(107, 109, 137), PackedInt32Array(106, 107, 137), PackedInt32Array(104, 106, 137), PackedInt32Array(103, 104, 137), PackedInt32Array(101, 103, 137), PackedInt32Array(100, 101, 137), PackedInt32Array(98, 100, 137), PackedInt32Array(157, 98, 137, 139), PackedInt32Array(153, 139, 141), PackedInt32Array(153, 141, 79, 78), PackedInt32Array(70, 29, 81, 80), PackedInt32Array(65, 34, 83, 82), PackedInt32Array(60, 39, 85, 84), PackedInt32Array(55, 44, 46, 49), PackedInt32Array(50, 49, 48, 148), PackedInt32Array(170, 50, 148), PackedInt32Array(170, 148, 149), PackedInt32Array(170, 149, 152)]) outlines = Array[PackedVector2Array]([PackedVector2Array(-352, 512, -288, 512, -288, 816, -208, 816, -208, 736, -240, 736, -240, 512, -64, 512, -64, 448, 304, 448, 304, 672, 560, 672, 560, 704, 400, 704, 400, 720, 320, 720, 320, 704, 288, 704, 288, 688, 192, 688, 192, 848, 48, 848, 48, 880, -128, 880, -128, 848, -352, 848), PackedVector2Array(48, 816, 128, 816, 128, 688, -64, 688, -64, 576, -144, 576, -144, 736, -176, 736, -176, 816, -128, 816, -128, 784, 48, 784)]) source_geometry_mode = 1 source_geometry_group_name = &"navigation" +cell_size = 16.0 agent_radius = 8.0 [sub_resource type="NavigationPolygon" id="NavigationPolygon_qjknj"] @@ -341,6 +362,7 @@ polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Arr outlines = Array[PackedVector2Array]([PackedVector2Array(16, -112, 16, -256, 64, -256, 64, -384, -208, -384, -208, -416, -432, -416, -432, -400, -464, -400, -464, -160, -528, -160, -528, -128, -464, -128, -464, 16, -432, 16, -432, -128, -368, -128, -368, -160, -432, -160, -432, -368, -336, -368, -336, -304, -208, -304, -208, -336, -64, -336, -64, -256, -16, -256, -16, -112)]) source_geometry_mode = 1 source_geometry_group_name = &"navigation" +cell_size = 16.0 agent_radius = 8.0 [sub_resource type="Gradient" id="Gradient_u5tnr"] @@ -360,13 +382,6 @@ adjustment_saturation = 0.01 adjustment_color_correction = SubResource("GradientTexture1D_ri0vy") [node name="ArenaExterior" node_paths=PackedStringArray("Entities", "Areas", "Spawners", "Markers") groups=["navigation"] instance=ExtResource("1_ci4ij")] -tile_set = ExtResource("2_m6h7j") -layer_0/tile_data = PackedInt32Array(-1703963, 393216, 0, -1703954, 393216, 0, -1703953, 458752, 2, -393224, 196608, 4, -262152, 196608, 4, -131080, 196608, 4, 196600, 196608, 4, 327672, 196608, 4, 458744, 196608, 4, -458759, 131072, 4, 589817, 458752, 4, -458757, 131072, 4, 589819, 458752, 4, -458755, 131072, 4, 589821, 458752, 4, -524286, 131072, 4, 524290, 458752, 4, -524284, 131072, 4, 524292, 458752, 4, -524282, 131072, 4, 524294, 458752, 4, -458744, 327680, 4, -327672, 327680, 4, -196600, 327680, 4, 131080, 327680, 4, 262152, 327680, 4, 393224, 327680, 4, -589819, 458752, 2, -524294, 458752, 2, -524292, 393216, 2, -589821, 393216, 2, 131070, 458752, 0, 131068, 458752, 0, 131066, 458752, 0, 262142, 458752, 0, 393214, 458752, 0, 327681, 458752, 0, 196609, 458752, 0, 65537, 458752, 0, 65539, 458752, 0, 65541, 458752, 0, -131067, 458752, 0, -131069, 458752, 0, -131071, 458752, 0, -262143, 458752, 0, -393215, 458752, 0, -327682, 458752, 0, -196610, 458752, 0, -65538, 458752, 0, -65540, 458752, 0, -65542, 458752, 0, -1638415, 131072, 4, -1638426, 131072, 4, -1507340, 131072, 4, -1572862, 131072, 4, -1507333, 131072, 4, -1703960, 393216, 2, 1900541, 131072, 4, 1835010, 131072, 4, 1835020, 131072, 4, 1835025, 131072, 4, 2883581, 458752, 4, 2818050, 458752, 4, 2818055, 458752, 4, 2818060, 458752, 4, 2818065, 458752, 4, 2097152, 458752, 0, 2097156, 458752, 0, 2097160, 458752, 0, 2097164, 458752, 0, 2490380, 458752, 0, 2490376, 458752, 0, 2490372, 458752, 0, 2490368, 458752, 0, 2097162, 458752, 0, 2097154, 458752, 0, 2490370, 458752, 0, 2490374, 458752, 0, 2097158, 458752, 0, 2490378, 458752, 0, 2097166, 458752, 0, 2228238, 458752, 0, 2359310, 458752, 0, 2490382, 458752, 0, 1835015, 131072, 4, 1835039, 786432, 0, 1835040, 851968, 0, 196584, 458752, 0, 196582, 458752, 0, 196580, 458752, 0, 1638383, 458752, 0, 2949106, 458752, 0, 2949109, 458752, 0, 2818037, 458752, 0, 2818034, 458752, 0, 2686962, 458752, 0, 2686965, 458752, 0, 2555893, 458752, 0, 2555890, 458752, 0, 2424818, 458752, 0, 2424821, 458752, 0, 720862, 262144, 2, 786398, 196608, 3, 720863, 131072, 2, 786399, 131072, 1, 720864, 131072, 2, 786400, 131072, 1, 720865, 131072, 2, 786401, 196608, 1, 720866, 131072, 2, 786402, 196608, 1, 720867, 131072, 2, 786403, 131072, 1, 720868, 131072, 2, 786404, 196608, 1, 720869, 131072, 2, 786405, 131072, 1, 720870, 131072, 2, 786406, 131072, 1, 720871, 131072, 2, 786407, 131072, 1, 720872, 131072, 2, 786408, 196608, 1, 720873, 131072, 2, 786409, 131072, 1, 720874, 131072, 2, 786410, 131072, 1, 720875, 131072, 2, 786411, 196608, 1, 720876, 131072, 2, 786412, 131072, 1, 720877, 131072, 2, 786413, 196608, 1, 720878, 131072, 2, 786414, 196608, 1, 720879, 131072, 2, 786415, 196608, 1, 720880, 65536, 5, 786416, 196608, 1) -layer_1/tile_data = PackedInt32Array(-1703953, 393216, 0, -1703952, 393216, 0, 1900577, 65537, 5, 1900576, 65537, 5, 1900578, 65537, 5, 1900575, 65537, 5, 1900574, 65537, 5, 1441823, 327680, 6, 1441832, 393216, 6, 1507368, 393216, 7, 1572904, 393216, 7, 1507359, 327680, 7, 1572895, 327680, 7, 1900581, 65537, 5, 1900582, 65537, 5, 1900583, 65537, 5, 1900584, 65537, 5, 1900585, 65537, 5, 131062, 196608, 2, 131063, 65536, 4, 196599, 196608, 3, 262135, 196608, 3, 327671, 196608, 3, 393207, 196608, 3, 458743, 196608, 3, 524279, 196608, 3, 589815, 262144, 3) -layer_2/tile_data = PackedInt32Array(1310721, 393216, 0, 1310722, 393216, 0, 1310723, 393216, 0, 1310724, 393216, 0, 1310728, 393216, 0, 1769490, 393216, 0, 1769487, 393216, 0, 1769488, 393216, 0, 2293761, 655360, 6, 2293762, 655360, 6, 2359298, 655360, 7, 2359297, 655360, 7, 2359296, 589824, 7, 2293760, 589824, 6, 2228224, 589824, 5, 2228225, 655360, 5, 2228226, 655360, 5, 2293763, 655360, 6, 2359299, 655360, 7, 2228227, 655360, 5, 2293764, 655360, 6, 2359300, 655360, 7, 2228228, 655360, 5, 2293765, 655360, 6, 2359301, 655360, 7, 2228229, 655360, 5, 2293766, 655360, 6, 2359302, 655360, 7, 2228230, 655360, 5, 2293767, 655360, 6, 2359303, 655360, 7, 2228231, 655360, 5, 2293768, 655360, 6, 2359304, 655360, 7, 2228232, 655360, 5, 2293769, 655360, 6, 2359305, 655360, 7, 2228233, 655360, 5, 2293770, 655360, 6, 2359306, 655360, 7, 2228234, 655360, 5, 2293771, 655360, 6, 2359307, 655360, 7, 2228235, 655360, 5, 2293772, 720896, 6, 2359308, 720896, 7, 2228236, 720896, 5, -1179649, 851968, 6, -1245184, 851968, 6, -1179648, 851968, 7, -1114113, 851968, 7, -1114114, 786432, 7, -1179650, 786432, 6, -1245186, 786432, 6, -1245185, 851968, 6, -1310720, 851968, 6, -1245183, 917504, 6, -1179647, 917504, 7, -1310719, 917504, 6, -1310722, 786432, 5, -1310721, 851968, 5, -1376256, 851968, 5, -1376255, 917504, 5, -1572889, 655360, 6, -1572888, 655360, 6, -1507352, 655360, 7, -1507353, 655360, 7, -1507354, 589824, 7, -1572890, 589824, 6, -1638426, 589824, 5, -1638425, 655360, 5, -1638424, 655360, 5, -1572887, 655360, 6, -1507351, 655360, 7, -1638423, 655360, 5, -1572886, 655360, 6, -1507350, 655360, 7, -1638422, 655360, 5, -1572885, 655360, 6, -1507349, 655360, 7, -1638421, 655360, 5, -1572884, 655360, 6, -1507348, 655360, 7, -1638420, 655360, 5, -1572883, 655360, 6, -1507347, 655360, 7, -1638419, 655360, 5, -1572882, 655360, 6, -1507346, 655360, 7, -1638418, 655360, 5, -1572881, 655360, 6, -1507345, 655360, 7, -1638417, 655360, 5, -1572880, 655360, 6, -1572879, 720896, 6, -1507343, 720896, 7, -1507344, 655360, 7, -1638416, 655360, 5, -1638415, 720896, 5, 1703970, 1, 6, 1769506, 1, 6, 1835042, 1, 6, 1900578, 1, 6, 1703973, 131073, 6, 1769509, 131073, 6, 1835045, 131073, 6, 1900581, 131073, 6, 1507361, 393216, 3, 1507362, 458752, 2, 1507365, 458752, 3, 1507366, 393216, 3, 1638431, 65537, 7, 1638430, 65537, 7, 1638441, 65537, 7, 1638440, 65537, 7) -layer_3/tile_data = PackedInt32Array(-65538, 0, 0, -2, 131072, 0, 65534, 196608, 0, 131070, 65536, 0, -65537, 196608, 0, -1, 131072, 0, 65535, 196608, 0, 131071, 196608, 0, -131072, 131072, 0, -65536, 131072, 0, 0, 131072, 0, 65536, 131072, 0, -131071, 65536, 1, -65535, 131072, 0, 1, 131072, 0, 65537, 65536, 1, -196612, 65536, 1, -131076, 0, 1, -65540, 65536, 0, -4, 131072, 0, 65532, 196608, 0, 131068, 0, 0, 196604, 65536, 0, 262140, 0, 0, -196611, 0, 0, -131075, 65536, 1, -65539, 0, 1, -3, 131072, 0, 65533, 131072, 0, 131069, 65536, 1, 196605, 0, 0, 262141, 65536, 0, -196610, 65536, 1, -131074, 0, 1, 196606, 0, 1, 262142, 65536, 0, -196609, 196608, 0, -131073, 196608, 0, 196607, 131072, 0, 262143, 131072, 0, -262144, 196608, 0, -196608, 196608, 0, 131072, 131072, 0, 196608, 196608, 0, -262143, 65536, 0, -196607, 65536, 0, 131073, 0, 0, 196609, 65536, 1, -262142, 65536, 1, -196606, 0, 0, -131070, 0, 0, -65534, 196608, 0, 2, 131072, 0, 65538, 0, 1, 131074, 65536, 0, 196610, 65536, 1, -262141, 0, 1, -196605, 65536, 0, -131069, 0, 1, -65533, 196608, 0, 3, 196608, 0, 65539, 0, 1, 131075, 65536, 0, 196611, 0, 1, -8, 196608, 0, 65528, 131072, 0, -7, 196608, 0, 65529, 131072, 0, -6, 131072, 0, 65530, 131072, 0, -5, 196608, 0, 65531, 196608, 0, -458753, 196608, 0, -393217, 131072, 0, -327681, 196608, 0, -262145, 131072, 0, -524288, 196608, 0, -458752, 131072, 0, -393216, 196608, 0, -327680, 196608, 0, -65532, 196608, 0, 4, 196608, 0, -65531, 196608, 0, 5, 196608, 0, -65530, 196608, 0, 6, 131072, 0, -65529, 131072, 0, 7, 131072, 0, 327679, 131072, 0, 393215, 131072, 0, 458751, 131072, 0, 524287, 196608, 0, 262144, 196608, 0, 327680, 131072, 0, 393216, 131072, 0, 458752, 131072, 0, 131064, 0, 0, 196600, 65536, 1, 262136, 65536, 1, 131065, 65536, 1, 196601, 0, 1, 262137, 65536, 1, 131066, 0, 1, 196602, 65536, 1, 262138, 65536, 0, 131067, 65536, 1, 196603, 0, 0, 262139, 65536, 1, 327672, 65536, 0, 393208, 0, 0, 458744, 65536, 1, 524280, 0, 1, 327673, 0, 1, 393209, 0, 0, 458745, 65536, 0, 524281, 0, 1, 327674, 0, 1, 393210, 0, 1, 458746, 0, 0, 524282, 0, 1, 327675, 0, 0, 393211, 0, 0, 458747, 65536, 0, 524283, 65536, 0, 327676, 0, 1, 393212, 65536, 0, 458748, 65536, 1, 524284, 65536, 1, 327677, 65536, 0, 393213, 65536, 1, 458749, 0, 1, 524285, 0, 1, 327678, 65536, 0, 393214, 0, 1, 458750, 65536, 1, 524286, 0, 0, 262145, 0, 0, 327681, 65536, 1, 393217, 0, 0, 458753, 65536, 0, 262146, 0, 1, 327682, 0, 1, 393218, 65536, 1, 458754, 65536, 1, 262147, 65536, 0, 327683, 0, 0, 393219, 0, 1, 458755, 0, 1, 65540, 0, 1, 131076, 0, 0, 196612, 65536, 0, 262148, 65536, 0, 327684, 65536, 1, 393220, 65536, 1, 458756, 65536, 1, 65541, 0, 0, 131077, 0, 1, 196613, 0, 0, 262149, 0, 0, 327685, 65536, 0, 393221, 65536, 0, 458757, 0, 0, 65542, 65536, 1, 131078, 65536, 0, 196614, 0, 1, 262150, 0, 1, 327686, 0, 1, 393222, 0, 0, 458758, 65536, 1, 65543, 0, 0, 131079, 65536, 1, 196615, 65536, 0, 262151, 0, 1, 327687, 0, 0, 393223, 65536, 0, 458759, 0, 0, -131080, 65536, 1, -65544, 65536, 1, -131079, 0, 1, -65543, 0, 0, -131078, 0, 0, -65542, 65536, 0, -131077, 65536, 1, -65541, 65536, 1, -458760, 0, 0, -393224, 65536, 0, -327688, 0, 1, -262152, 0, 1, -196616, 0, 0, -458759, 65536, 1, -393223, 0, 1, -327687, 65536, 0, -262151, 0, 1, -196615, 65536, 0, -458758, 65536, 1, -393222, 65536, 1, -327686, 65536, 0, -262150, 65536, 1, -196614, 0, 1, -458757, 0, 1, -393221, 65536, 1, -327685, 65536, 1, -262149, 0, 1, -196613, 65536, 1, -458756, 0, 1, -393220, 65536, 0, -327684, 65536, 0, -262148, 0, 1, -458755, 0, 1, -393219, 65536, 0, -327683, 0, 1, -262147, 65536, 0, -458754, 0, 1, -393218, 0, 0, -327682, 65536, 1, -262146, 65536, 0, -524287, 0, 0, -458751, 65536, 0, -393215, 65536, 1, -327679, 0, 1, -524286, 65536, 1, -458750, 0, 1, -393214, 0, 1, -327678, 65536, 0, -524285, 0, 0, -458749, 65536, 0, -393213, 65536, 0, -327677, 0, 1, -524284, 65536, 0, -458748, 65536, 1, -393212, 65536, 1, -327676, 0, 1, -262140, 65536, 0, -524283, 65536, 0, -458747, 65536, 1, -393211, 0, 1, -327675, 0, 0, -262139, 0, 1, -524282, 0, 0, -458746, 0, 0, -393210, 0, 1, -327674, 0, 1, -262138, 0, 1, -524281, 65536, 1, -458745, 65536, 0, -393209, 65536, 0, -327673, 65536, 0, -262137, 0, 0, -196604, 0, 1, -131068, 65536, 0, -196603, 65536, 0, -131067, 65536, 1, -196602, 65536, 0, -131066, 0, 0, -196601, 0, 0, -131065, 0, 0, -524296, 131072, 1, -524295, 196608, 1, -524294, 131072, 1, -524293, 131072, 1, -524292, 131072, 1, -524291, 196608, 1, -589822, 196608, 1, -589821, 131072, 1, -589820, 131072, 1, -524290, 131072, 1, -524289, 196608, 0, -589824, 196608, 0, -589823, 131072, 1, -589819, 131072, 1, -589818, 196608, 1, -589817, 131072, 1, -524297, 196608, 3, -458761, 196608, 3, -393225, 196608, 3, -327689, 196608, 3, -262153, 196608, 3, -196617, 196608, 3, -131081, 65536, 5, -65545, 131072, 1, -9, 65536, 0, 65527, 65536, 1, -589816, 131072, 3, -524280, 131072, 3, -458744, 131072, 3, -393208, 131072, 3, -327672, 131072, 3, -262136, 131072, 3, -196600, 0, 5, -131064, 262144, 0, -65528, 196608, 0, 8, 131072, 0, 65544, 0, 4, 131080, 131072, 3, 196616, 131072, 3, 262152, 131072, 3, 327688, 131072, 3, 393224, 131072, 3, 458760, 131072, 3, 589816, 196608, 2, 589817, 196608, 2, 589818, 196608, 2, 589819, 196608, 2, 589820, 196608, 2, 589821, 196608, 2, 589822, 65536, 4, 589823, 65536, 0, 524288, 65536, 0, 524289, 0, 4, 524290, 196608, 2, 524291, 196608, 2, 524292, 196608, 2, 524293, 196608, 2, 524294, 196608, 2, 524295, 196608, 2, 524296, 327680, 3, -589825, 131072, 0, -655360, 131072, 0, -983041, 131072, 0, -917505, 131072, 0, -851969, 196608, 0, -786433, 131072, 0, -720897, 196608, 0, -655361, 196608, 0, -1048576, 196608, 0, -983040, 131072, 0, -917504, 131072, 0, -851968, 196608, 0, -786432, 196608, 0, -720896, 196608, 0, -1245187, 196608, 0, -1179651, 65536, 1, -1114115, 65536, 0, -1048579, 65536, 1, -1245186, 131072, 0, -1179650, 65536, 1, -1114114, 0, 0, -1048578, 0, 0, -1245185, 196608, 0, -1179649, 131072, 0, -1114113, 131072, 0, -1048577, 0, 0, -1310720, 131072, 0, -1245184, 131072, 0, -1179648, 196608, 0, -1114112, 65536, 0, -1310719, 196608, 0, -1245183, 196608, 0, -1179647, 0, 1, -1114111, 0, 0, -1310718, 196608, 0, -1245182, 131072, 0, -1179646, 65536, 0, -1114110, 0, 1, -1245188, 65536, 1, -1179652, 0, 1, -1114116, 65536, 0, -1048580, 65536, 1, -1310717, 65536, 0, -1245181, 0, 0, -1179645, 65536, 1, -1114109, 65536, 0, -1507332, 0, 0, -1441796, 65536, 0, -1376260, 196608, 0, -1310724, 0, 1, -1507331, 131072, 0, -1441795, 131072, 0, -1376259, 196608, 0, -1310723, 196608, 0, -1507330, 196608, 0, -1441794, 196608, 0, -1376258, 131072, 0, -1310722, 196608, 0, -1507329, 131072, 0, -1441793, 131072, 0, -1376257, 131072, 0, -1310721, 131072, 0, -1572864, 65536, 1, -1507328, 0, 1, -1441792, 0, 0, -1376256, 131072, 0, -1572863, 65536, 1, -1507327, 65536, 1, -1441791, 65536, 1, -1376255, 131072, 0, -1572862, 65536, 0, -1507326, 0, 1, -1441790, 65536, 0, -1376254, 196608, 0, -1572861, 65536, 0, -1507325, 65536, 1, -1441789, 0, 0, -1376253, 65536, 0, -1507337, 196608, 0, -1441801, 65536, 1, -1376265, 0, 1, -1507336, 131072, 0, -1441800, 196608, 0, -1376264, 0, 0, -1507335, 0, 1, -1441799, 196608, 0, -1376263, 65536, 0, -1507334, 65536, 1, -1441798, 65536, 1, -1376262, 65536, 0, -1507333, 65536, 0, -1441797, 65536, 0, -1376261, 196608, 0, -1507341, 0, 1, -1441805, 0, 1, -1376269, 65536, 0, -1507340, 65536, 0, -1441804, 196608, 0, -1376268, 65536, 0, -1507339, 65536, 0, -1441803, 196608, 0, -1376267, 131072, 0, -1507338, 65536, 1, -1441802, 131072, 0, -1376266, 0, 0, -1638420, 0, 1, -1572884, 131072, 0, -1507348, 196608, 0, -1441812, 131072, 0, -1376276, 196608, 0, -1310740, 131072, 0, -1245204, 65536, 1, -1638419, 0, 1, -1572883, 196608, 0, -1507347, 131072, 0, -1441811, 131072, 0, -1376275, 131072, 0, -1310739, 196608, 0, -1245203, 0, 0, -1638418, 65536, 0, -1572882, 196608, 0, -1507346, 131072, 0, -1441810, 196608, 0, -1376274, 131072, 0, -1310738, 131072, 0, -1245202, 0, 0, -1638417, 0, 0, -1572881, 131072, 0, -1507345, 131072, 0, -1441809, 196608, 0, -1376273, 196608, 0, -1310737, 196608, 0, -1245201, 0, 1, -1638416, 0, 0, -1572880, 131072, 0, -1507344, 196608, 0, -1441808, 131072, 0, -1376272, 196608, 0, -1310736, 131072, 0, -1245200, 0, 0, -1638415, 65536, 1, -1572879, 196608, 0, -1507343, 196608, 0, -1441807, 196608, 0, -1376271, 131072, 0, -1310735, 131072, 0, -1245199, 65536, 0, -1638414, 0, 1, -1572878, 0, 1, -1507342, 65536, 1, -1441806, 65536, 0, -1376270, 65536, 1, -1310734, 65536, 0, -1245198, 65536, 1, -1638421, 65536, 1, -1572885, 0, 0, -1507349, 65536, 1, -1441813, 65536, 0, -1376277, 65536, 1, -1310741, 65536, 1, -1245205, 65536, 0, -1638427, 0, 1, -1638426, 0, 1, -1638425, 65536, 1, -1638424, 65536, 0, -1638423, 0, 0, -1638422, 0, 1, -1441821, 196608, 0, -1376285, 65536, 1, -1310749, 196608, 0, -1245213, 65536, 1, -1441820, 0, 0, -1376284, 65536, 1, -1310748, 65536, 0, -1245212, 196608, 0, -1179677, 0, 1, -1114141, 0, 0, -1048605, 65536, 0, -983069, 131072, 0, -917533, 131072, 0, -851997, 65536, 0, -786461, 0, 0, -720925, 65536, 0, -655389, 65536, 0, -589853, 131072, 0, -1179676, 131072, 0, -1114140, 196608, 0, -1048604, 0, 1, -983068, 0, 0, -917532, 65536, 0, -851996, 131072, 0, -786460, 131072, 0, -720924, 196608, 0, -655388, 0, 0, -589852, 0, 1, -524317, 0, 0, -458781, 65536, 0, -393245, 0, 1, -327709, 196608, 0, -262173, 196608, 0, -196637, 131072, 0, -131101, 196608, 0, -65565, 0, 0, -29, 0, 0, -524316, 196608, 0, -458780, 65536, 0, -393244, 196608, 0, -327708, 0, 1, -262172, 65536, 1, -196636, 131072, 0, -131100, 131072, 0, -65564, 0, 1, -28, 65536, 0, -589857, 131072, 0, -524321, 131072, 0, -589856, 131072, 0, -524320, 131072, 0, -589855, 196608, 0, -524319, 0, 0, -589854, 131072, 0, -524318, 65536, 0, -589851, 196608, 0, -524315, 0, 0, -589850, 65536, 1, -524314, 0, 0, -589849, 196608, 0, -524313, 196608, 0, -589848, 131072, 0, -524312, 196608, 0, 65501, 0, 0, 131037, 0, 0, 196573, 65536, 1, 262109, 65536, 0, 327645, 65536, 0, 65502, 0, 0, 131038, 131072, 0, 196574, 196608, 0, 262110, 131072, 0, 327646, 0, 0, 65503, 65536, 1, 131039, 196608, 0, 196575, 131072, 0, 262111, 131072, 0, 327647, 0, 0, 65504, 65536, 0, 131040, 131072, 0, 196576, 196608, 0, 262112, 196608, 0, 327648, 0, 0, 65505, 65536, 1, 131041, 131072, 0, 196577, 196608, 0, 262113, 131072, 0, 327649, 65536, 1, 65506, 0, 0, 131042, 65536, 1, 196578, 0, 1, 262114, 65536, 0, 327650, 0, 0, 65507, 65536, 0, 131043, 196608, 0, 196579, 131072, 0, 262115, 131072, 0, 327651, 0, 1, 65508, 65536, 0, 131044, 131072, 0, 196580, 131072, 0, 262116, 196608, 0, 327652, 0, 0, 65509, 0, 0, 131045, 196608, 0, 196581, 131072, 0, 262117, 196608, 0, 327653, 65536, 1, 65510, 0, 0, 131046, 196608, 0, 196582, 131072, 0, 262118, 196608, 0, 327654, 0, 1, 65511, 65536, 0, 131047, 131072, 0, 196583, 131072, 0, 262119, 131072, 0, 327655, 0, 1, 65512, 65536, 1, 131048, 131072, 0, 196584, 131072, 0, 262120, 196608, 0, 327656, 65536, 0, 65513, 0, 0, 131049, 196608, 0, 196585, 131072, 0, 262121, 131072, 0, 327657, 0, 0, 65514, 65536, 1, 131050, 0, 0, 196586, 65536, 0, 262122, 0, 1, 327658, 0, 1, 393192, 65536, 0, 458728, 131072, 0, 524264, 65536, 1, 393193, 0, 0, 458729, 196608, 0, 524265, 65536, 0, 393194, 65536, 0, 458730, 196608, 0, 524266, 65536, 1, 393191, 65536, 0, 458727, 65536, 0, 524263, 65536, 0, 393195, 131072, 0, 458731, 196608, 0, 524267, 65536, 0, 393196, 131072, 0, 458732, 131072, 0, 524268, 65536, 1, 393197, 196608, 0, 458733, 131072, 0, 524269, 0, 0, 393198, 0, 1, 458734, 0, 0, 524270, 196608, 0, 393199, 65536, 0, 458735, 0, 1, 524271, 196608, 0, 65520, 196608, 3, 131056, 196608, 3, 196592, 196608, 3, 262128, 65536, 5, 327664, 196608, 1, 393200, 0, 1, 458736, 65536, 1, 65521, 65536, 1, 131057, 131072, 0, 196593, 196608, 0, 262129, 196608, 0, 327665, 131072, 0, 393201, 196608, 0, 458737, 0, 1, 65522, 131072, 0, 131058, 131072, 0, 196594, 131072, 0, 262130, 131072, 0, 327666, 196608, 0, 393202, 131072, 0, 458738, 65536, 0, 65523, 131072, 0, 131059, 0, 4, 196595, 131072, 3, 262131, 131072, 3, 327667, 0, 5, 393203, 0, 1, 458739, 65536, 1, 524272, 196608, 0, 524273, 131072, 0, 524274, 131072, 0, 524275, 131072, 0, -16, 196608, 3, -15, 0, 0, -14, 0, 0, -13, 0, 0, -12, 131072, 0, 65524, 131072, 0, -11, 0, 1, 65525, 0, 1, -10, 65536, 0, 65526, 65536, 1, -65552, 196608, 3, -65551, 131072, 1, -65550, 131072, 1, -65549, 196608, 1, -65548, 131072, 1, -65547, 131072, 1, -65546, 196608, 1, -27, 131072, 1, -26, 196608, 1, -25, 196608, 1, -24, 131072, 1, -23, 131072, 1, -22, 131072, 1, -35, 196608, 1, -34, 131072, 1, -33, 131072, 1, -32, 196608, 1, -31, 196608, 1, -30, 131072, 1, 327659, 131072, 1, 327660, 196608, 1, 327661, 196608, 1, 327662, 131072, 1, -1703963, 196608, 1, -1703962, 196608, 1, -1703961, 262144, 7, -1703960, 262144, 0, -1703959, 262144, 0, -1703958, 327680, 0, -1703957, 196608, 6, -1703956, 262144, 7, -1703955, 262144, 0, -1703954, 327680, 0, -1703953, 131072, 1, -1703952, 196608, 1, -1703951, 196608, 1, -1703950, 131072, 1, -1572877, 131072, 1, -1572876, 196608, 1, -1572875, 196608, 1, -1572874, 131072, 1, -1572873, 131072, 1, -1572872, 196608, 1, -1572871, 196608, 1, -1572870, 196608, 1, -1572869, 131072, 1, -1572868, 131072, 1, -1572867, 131072, 1, -1572866, 131072, 1, -1572865, 131072, 1, -1638400, 131072, 1, -1638399, 131072, 1, -1638398, 196608, 1, -1638397, 131072, 1, -1572860, 131072, 3, -1507324, 131072, 3, -1441788, 131072, 3, -1376252, 131072, 3, -1310716, 131072, 3, -1245180, 131072, 3, -1179644, 131072, 3, -1114108, 131072, 3, -1245189, 196608, 3, -1179653, 196608, 3, -1114117, 196608, 3, -1048581, 196608, 3, -1310725, 65536, 4, -1310733, 0, 4, -1179661, 327680, 3, -1245197, 131072, 3, -1310732, 196608, 2, -1310731, 196608, 2, -1310730, 196608, 2, -1310729, 196608, 2, -1310728, 196608, 2, -1310727, 196608, 2, -1310726, 196608, 2, -983044, 196608, 2, -983043, 196608, 2, -983042, 65536, 4, -1048574, 196608, 2, -1048573, 196608, 2, -1048575, 0, 4, -1048572, 327680, 3, -983045, 262144, 3, -917506, 196608, 3, -851970, 196608, 3, -786434, 196608, 3, -720898, 196608, 3, -983039, 131072, 3, -917503, 131072, 3, -851967, 131072, 3, -786431, 131072, 3, -131087, 131072, 2, -131086, 131072, 2, -131085, 131072, 2, -131084, 131072, 2, -131083, 131072, 2, -131082, 131072, 2, -131088, 262144, 2, -65563, 0, 5, -65562, 131072, 2, -65561, 131072, 2, -65560, 131072, 2, -65559, 131072, 2, -65558, 131072, 2, -65571, 131072, 2, -65570, 131072, 2, -65569, 131072, 2, -65568, 131072, 2, -65567, 131072, 2, -65566, 65536, 5, -655393, 131072, 1, -655392, 131072, 1, -655391, 131072, 1, -655390, 196608, 1, -655387, 196608, 1, -655386, 196608, 1, -655385, 196608, 1, -655384, 196608, 1, -720929, 131072, 2, -720928, 131072, 2, -720927, 131072, 2, -720926, 65536, 5, -720923, 0, 5, -720922, 131072, 2, -720921, 131072, 2, -720920, 131072, 2, -1769499, 131072, 2, -1769498, 131072, 2, -1769497, 131072, 2, -1769496, 131072, 2, -1769495, 131072, 2, -1769494, 131072, 2, -1769493, 131072, 2, -1769492, 131072, 2, -1769491, 131072, 2, -1769490, 131072, 2, -1769489, 131072, 2, -1769488, 131072, 2, -1769487, 131072, 2, -1769486, 131072, 2, -1638413, 0, 5, -1638412, 131072, 2, -1638411, 131072, 2, -1638410, 131072, 2, -1638409, 131072, 2, -1638408, 131072, 2, -1638407, 131072, 2, -1638406, 131072, 2, -1638405, 131072, 2, -1638404, 131072, 2, -1638403, 131072, 2, -1638402, 131072, 2, -1638401, 131072, 2, -1703936, 131072, 2, -1703935, 131072, 2, -1703934, 131072, 2, -1703933, 131072, 2, -1703949, 131072, 3, -1769485, 327680, 2, -1703964, 65536, 5, -1441822, 196608, 3, -1376286, 196608, 3, -1310750, 196608, 3, -1245214, 196608, 3, -1179678, 196608, 3, -1114142, 196608, 3, -1048606, 196608, 3, -983070, 196608, 3, -917534, 196608, 3, -851998, 196608, 3, -786462, 196608, 3, -1114139, 131072, 3, -1048603, 131072, 3, -983067, 131072, 3, -917531, 131072, 3, -851995, 131072, 3, -786459, 131072, 3, -1179669, 196608, 2, -1179668, 196608, 2, -1179667, 196608, 2, -1179666, 196608, 2, -1179665, 196608, 2, -1179664, 196608, 2, -1179663, 196608, 2, -1179662, 196608, 2, -1769500, 262144, 2, 65500, 196608, 3, 131036, 196608, 3, 196572, 196608, 3, 262108, 196608, 3, 327644, 196608, 3, 393204, 131072, 3, 458740, 131072, 3, 524276, 131072, 3, 131061, 196608, 2, 589799, 196608, 2, 589800, 196608, 2, 589801, 196608, 2, 589802, 196608, 2, 589803, 196608, 2, 589804, 196608, 2, 589805, 196608, 2, 589806, 196608, 2, 589808, 65536, 4, 589809, 0, 0, 589810, 0, 0, 589811, 0, 4, 393181, 196608, 2, 393182, 196608, 2, 393183, 196608, 2, 393184, 196608, 2, 393185, 196608, 2, 393186, 196608, 2, 393187, 196608, 2, 393188, 196608, 2, 393189, 196608, 2, 393190, 65536, 4, 458726, 196608, 3, 524262, 196608, 3, 65515, 131072, 3, 131051, 131072, 3, 196587, 131072, 3, 262123, 0, 5, -21, 131072, 3, -65557, 327680, 2, 589798, 262144, 3, 393180, 262144, 3, -65572, 262144, 2, -36, 196608, 3, -720930, 262144, 2, -720919, 327680, 2, -655383, 131072, 3, -589847, 131072, 3, -524311, 131072, 3, -655394, 196608, 3, -589858, 196608, 3, -524322, 196608, 3, -458786, 262144, 3, -458775, 327680, 3, -458785, 196608, 2, -458784, 196608, 2, -458783, 196608, 2, -458782, 65536, 4, -458779, 0, 4, -458778, 196608, 2, -458777, 196608, 2, -458776, 196608, 2, -393246, 196608, 3, -327710, 196608, 3, -262174, 196608, 3, -196638, 196608, 3, -131102, 196608, 3, -393243, 131072, 3, -327707, 131072, 3, -262171, 131072, 3, -196635, 131072, 3, -131099, 131072, 3, -1572891, 65536, 0, -1507355, 65536, 1, -1441819, 0, 4, -1572890, 0, 0, -1507354, 0, 1, -1441818, 196608, 2, -1572889, 65536, 0, -1507353, 0, 0, -1441817, 196608, 2, -1572888, 0, 0, -1507352, 65536, 1, -1441816, 196608, 2, -1572887, 65536, 0, -1507351, 65536, 0, -1441815, 196608, 2, -1572886, 65536, 1, -1507350, 0, 0, -1441814, 65536, 4, -1310747, 131072, 3, -1245211, 131072, 3, -1179675, 131072, 3, -1376283, 131072, 3, -1376278, 196608, 3, -1310742, 196608, 3, -1245206, 196608, 3, -1179670, 262144, 3, -1507358, 196608, 3, -1572893, 0, 0, -1507357, 0, 0, -1572892, 65536, 1, -1507356, 0, 0, -1703932, 327680, 2, -1638396, 131072, 3, -1703965, 131072, 2, -1638430, 196608, 3, -1703966, 262144, 2, -1572894, 196608, 3, -1638429, 196608, 1, -1638428, 196608, 1, -589833, 262144, 2, -589832, 131072, 2, -589831, 131072, 2, -589830, 131072, 2, -589829, 131072, 2, -589828, 131072, 2, -589827, 131072, 2, -589826, 65536, 5, -655359, 0, 5, -655358, 131072, 2, -655357, 131072, 2, -655356, 131072, 2, -655355, 131072, 2, -655354, 131072, 2, -655353, 131072, 2, -655352, 327680, 2, -655362, 196608, 3, -720895, 131072, 3, 262126, 131072, 2, 262124, 131072, 2, 262125, 131072, 2, 655344, 196608, 3, 851952, 0, 1, 655345, 65536, 0, 720881, 65536, 1, 786417, 0, 1, 851953, 0, 1, 655346, 0, 1, 720882, 65536, 0, 786418, 0, 0, 851954, 0, 1, 655347, 131072, 3, 720883, 131072, 3, 786419, 0, 5, 851955, 65536, 1, 917488, 0, 0, 983024, 0, 0, 1048560, 0, 1, 917489, 65536, 0, 983025, 65536, 0, 1048561, 65536, 1, 917490, 0, 1, 983026, 0, 0, 1048562, 65536, 0, 917491, 0, 0, 983027, 65536, 1, 1048563, 65536, 0, 851945, 0, 0, 917481, 65536, 1, 983017, 0, 1, 1048553, 0, 1, 851946, 65536, 0, 917482, 65536, 1, 983018, 0, 1, 1048554, 0, 0, 851947, 0, 0, 917483, 0, 1, 983019, 65536, 1, 1048555, 0, 1, 851948, 65536, 0, 917484, 0, 0, 983020, 0, 1, 1048556, 0, 0, 851949, 0, 0, 917485, 65536, 0, 983021, 65536, 0, 1048557, 0, 0, 851950, 65536, 0, 917486, 65536, 1, 983022, 65536, 1, 1048558, 0, 0, 851951, 0, 0, 917487, 0, 0, 983023, 0, 1, 1048559, 0, 1, 851935, 65536, 1, 917471, 0, 0, 983007, 0, 0, 1048543, 65536, 0, 1114079, 65536, 0, 1179615, 65536, 1, 1245151, 65536, 1, 1310687, 0, 1, 851936, 0, 0, 917472, 0, 1, 983008, 65536, 1, 1048544, 0, 1, 1114080, 65536, 0, 1179616, 0, 0, 1245152, 65536, 1, 1310688, 65536, 0, 851937, 0, 0, 917473, 65536, 1, 983009, 0, 1, 1048545, 65536, 1, 1114081, 0, 0, 1179617, 0, 1, 1245153, 65536, 1, 1310689, 65536, 1, 851938, 0, 0, 917474, 65536, 1, 983010, 65536, 0, 1048546, 65536, 1, 1114082, 0, 1, 1179618, 0, 1, 1245154, 0, 0, 1310690, 0, 1, 851939, 0, 0, 917475, 65536, 1, 983011, 0, 0, 1048547, 65536, 1, 1114083, 65536, 1, 1179619, 0, 1, 1245155, 0, 1, 1310691, 65536, 0, 851940, 0, 0, 917476, 0, 1, 983012, 0, 0, 1048548, 65536, 1, 1114084, 65536, 0, 1179620, 65536, 0, 1245156, 0, 1, 1310692, 0, 0, 851941, 65536, 0, 917477, 65536, 0, 983013, 65536, 1, 1048549, 0, 0, 1114085, 0, 1, 1179621, 0, 0, 1245157, 0, 0, 1310693, 65536, 0, 851942, 0, 0, 917478, 0, 1, 983014, 65536, 0, 1048550, 0, 0, 1114086, 0, 1, 1179622, 65536, 0, 1245158, 65536, 0, 1310694, 65536, 1, 851943, 0, 1, 917479, 0, 0, 983015, 65536, 1, 1048551, 65536, 1, 1114087, 65536, 1, 1179623, 65536, 1, 1245159, 65536, 1, 1310695, 65536, 0, 851944, 65536, 0, 917480, 65536, 0, 983016, 65536, 1, 1048552, 65536, 1, 1114088, 65536, 0, 1179624, 65536, 0, 1245160, 0, 0, 1310696, 65536, 0, 1638362, 65536, 1, 1703898, 0, 1, 1769434, 0, 0, 1834970, 0, 1, 1900506, 65536, 1, 1638363, 65536, 0, 1703899, 0, 1, 1769435, 0, 1, 1834971, 65536, 1, 1900507, 65536, 0, 1638364, 0, 1, 1703900, 65536, 1, 1769436, 0, 1, 1834972, 65536, 0, 1900508, 0, 0, 1638365, 0, 1, 1703901, 0, 1, 1769437, 65536, 1, 1834973, 65536, 0, 1900509, 65536, 0, 1638366, 65536, 1, 1703902, 0, 1, 1769438, 0, 1, 1834974, 65536, 0, 1900510, 0, 1, 1638367, 65536, 1, 1703903, 0, 1, 1769439, 65536, 1, 1834975, 65536, 0, 1900511, 65536, 0, 1966047, 65536, 0, 2031583, 65536, 1, 2097119, 0, 0, 2162655, 65536, 1, 1376224, 65536, 0, 1441760, 0, 1, 1507296, 0, 1, 1572832, 0, 0, 1638368, 65536, 0, 1703904, 0, 0, 1769440, 65536, 1, 1834976, 65536, 1, 1900512, 65536, 1, 1966048, 0, 0, 2031584, 0, 0, 2097120, 0, 0, 2162656, 0, 1, 1376225, 0, 1, 1441761, 65536, 1, 1507297, 65536, 1, 1572833, 0, 0, 1638369, 65536, 0, 1703905, 65536, 1, 1769441, 65536, 0, 1834977, 65536, 0, 1900513, 0, 0, 1966049, 65536, 1, 2031585, 65536, 1, 2097121, 65536, 1, 2162657, 0, 1, 1638370, 0, 0, 1703906, 65536, 1, 1769442, 65536, 1, 1834978, 65536, 1, 1900514, 0, 0, 1966050, 0, 1, 2031586, 0, 1, 2097122, 65536, 0, 2162658, 65536, 0, 1966051, 65536, 1, 2031587, 0, 0, 2097123, 0, 1, 2162659, 0, 0, 1966052, 0, 0, 2031588, 0, 1, 2097124, 0, 1, 2162660, 65536, 1, 1966053, 65536, 1, 2031589, 65536, 0, 2097125, 65536, 1, 2162661, 65536, 0, 1966054, 65536, 1, 2031590, 0, 1, 2097126, 0, 1, 2162662, 0, 0, 1966055, 0, 0, 2031591, 0, 1, 2097127, 65536, 1, 2162663, 65536, 0, 1966056, 0, 1, 2031592, 65536, 0, 2097128, 0, 0, 2162664, 65536, 0, 1966057, 0, 0, 2031593, 65536, 1, 2097129, 0, 1, 2162665, 65536, 0, 1572842, 0, 1, 1638378, 0, 0, 1703914, 0, 0, 1769450, 65536, 0, 1834986, 0, 0, 1900522, 65536, 0, 1966058, 0, 0, 2031594, 0, 0, 2097130, 65536, 1, 2162666, 65536, 1, 2228202, 65536, 1, 3276778, 0, 0, 3342314, 65536, 0, 3407850, 65536, 0, 3473386, 0, 1, 1572843, 65536, 1, 1638379, 65536, 1, 1703915, 0, 1, 1769451, 65536, 1, 1834987, 0, 1, 1900523, 65536, 1, 1966059, 65536, 0, 2031595, 0, 0, 2097131, 65536, 0, 2162667, 0, 0, 2228203, 0, 0, 3276779, 0, 0, 3342315, 65536, 1, 3407851, 0, 1, 3473387, 65536, 0, 1572844, 65536, 1, 1638380, 65536, 0, 1703916, 0, 0, 1769452, 65536, 1, 1834988, 65536, 1, 1900524, 0, 0, 1966060, 65536, 1, 2031596, 0, 1, 2097132, 0, 0, 2162668, 65536, 1, 2228204, 65536, 1, 3276780, 0, 1, 3342316, 65536, 1, 3407852, 0, 0, 3473388, 0, 0, 1572845, 65536, 0, 1638381, 0, 0, 1703917, 0, 1, 1769453, 0, 1, 1834989, 0, 1, 1900525, 65536, 0, 1966061, 0, 0, 2031597, 65536, 0, 2097133, 65536, 0, 2162669, 65536, 0, 2228205, 65536, 1, 3276781, 65536, 1, 3342317, 65536, 0, 3407853, 65536, 1, 3473389, 65536, 1, 1572846, 0, 0, 1638382, 65536, 1, 1703918, 65536, 0, 1769454, 65536, 1, 1834990, 65536, 1, 1900526, 65536, 0, 3407854, 0, 0, 3473390, 0, 1, 1572847, 0, 1, 1638383, 0, 1, 1703919, 65536, 1, 1769455, 0, 0, 1834991, 65536, 1, 1900527, 0, 1, 3407855, 0, 0, 3473391, 0, 1, 1114096, 65536, 1, 1179632, 0, 1, 1245168, 65536, 1, 1310704, 0, 1, 1376240, 0, 1, 1441776, 0, 1, 1507312, 65536, 0, 1572848, 0, 0, 1638384, 0, 0, 1703920, 0, 1, 1769456, 0, 0, 1834992, 65536, 0, 1900528, 65536, 1, 3407856, 0, 0, 3473392, 0, 1, 1114097, 0, 0, 1179633, 0, 0, 1245169, 0, 0, 1310705, 65536, 0, 1376241, 65536, 0, 1441777, 0, 0, 1507313, 0, 1, 1572849, 0, 0, 1638385, 65536, 0, 1703921, 65536, 0, 1769457, 0, 0, 1834993, 65536, 1, 1900529, 65536, 1, 2162673, 65536, 0, 2228209, 0, 1, 2293745, 0, 1, 2359281, 65536, 0, 2424817, 0, 0, 2490353, 65536, 1, 2555889, 65536, 1, 2621425, 0, 0, 2686961, 65536, 1, 2752497, 65536, 0, 2818033, 0, 0, 2883569, 0, 0, 2949105, 0, 1, 3014641, 65536, 1, 3407857, 65536, 0, 3473393, 0, 1, 2162674, 0, 1, 2228210, 131072, 0, 2293746, 131072, 0, 2359282, 0, 1, 2424818, 0, 0, 2490354, 65536, 0, 2555890, 65536, 1, 2621426, 0, 1, 2686962, 0, 1, 2752498, 65536, 1, 2818034, 65536, 1, 2883570, 0, 1, 2949106, 65536, 1, 3014642, 0, 0, 3407858, 0, 1, 3473394, 65536, 0, 2162675, 0, 1, 2228211, 131072, 0, 2293747, 131072, 0, 2359283, 65536, 0, 2424819, 65536, 1, 2490355, 65536, 0, 2555891, 65536, 1, 2621427, 65536, 1, 2686963, 65536, 0, 2752499, 0, 0, 2818035, 65536, 0, 2883571, 65536, 0, 2949107, 0, 1, 3014643, 0, 1, 3080179, 0, 1, 3145715, 65536, 0, 3211251, 65536, 1, 3276787, 0, 0, 3342323, 65536, 1, 3407859, 65536, 1, 3473395, 65536, 1, 2162676, 65536, 0, 2228212, 196608, 0, 2293748, 131072, 0, 2359284, 65536, 0, 2424820, 0, 0, 2490356, 0, 1, 2555892, 65536, 0, 2621428, 0, 1, 2686964, 65536, 1, 2752500, 0, 1, 2818036, 0, 1, 2883572, 0, 1, 2949108, 0, 1, 3014644, 0, 1, 3080180, 0, 1, 3145716, 0, 0, 3211252, 0, 1, 3276788, 65536, 1, 3342324, 0, 0, 3407860, 0, 1, 3473396, 65536, 0, 2162677, 0, 0, 2228213, 131072, 0, 2293749, 196608, 0, 2359285, 65536, 0, 2424821, 0, 0, 2490357, 0, 0, 2555893, 65536, 0, 2621429, 65536, 0, 2686965, 0, 1, 2752501, 65536, 0, 2818037, 0, 0, 2883573, 65536, 1, 2949109, 65536, 0, 3014645, 65536, 1, 3407861, 0, 0, 3473397, 0, 0, 2162678, 0, 0, 2228214, 196608, 0, 2293750, 131072, 0, 2359286, 65536, 0, 2424822, 0, 0, 2490358, 65536, 1, 2555894, 0, 1, 2621430, 0, 0, 2686966, 0, 1, 2752502, 65536, 0, 2818038, 0, 0, 2883574, 65536, 1, 2949110, 0, 1, 3014646, 65536, 0, 3407862, 0, 1, 3473398, 65536, 0, 2162679, 65536, 1, 2228215, 196608, 0, 2293751, 196608, 0, 2359287, 0, 0, 3407863, 65536, 0, 3473399, 65536, 0, 2162680, 65536, 1, 2228216, 196608, 0, 2293752, 196608, 0, 2359288, 65536, 0, 3276792, 65536, 0, 3342328, 0, 0, 3407864, 65536, 1, 3473400, 65536, 0, 3538936, 65536, 0, 3604472, 0, 0, 2162681, 65536, 1, 2228217, 196608, 0, 2293753, 131072, 0, 2359289, 65536, 0, 3276793, 0, 0, 3342329, 65536, 1, 3407865, 65536, 1, 3473401, 0, 0, 3538937, 0, 0, 3604473, 65536, 0, 2162682, 0, 0, 2228218, 131072, 0, 2293754, 131072, 0, 2359290, 65536, 1, 3276794, 0, 1, 3342330, 65536, 1, 3407866, 0, 1, 3473402, 65536, 0, 3538938, 65536, 1, 3604474, 0, 0, 2162683, 0, 0, 2228219, 65536, 1, 2293755, 65536, 1, 2359291, 0, 1, 3276795, 65536, 1, 3342331, 0, 0, 3407867, 65536, 1, 3473403, 0, 0, 3538939, 65536, 1, 3604475, 0, 0, 1900540, 65536, 1, 1966076, 65536, 1, 2031612, 65536, 0, 2097148, 65536, 0, 2162684, 65536, 1, 2228220, 0, 1, 2293756, 65536, 0, 2359292, 65536, 0, 2424828, 65536, 1, 2490364, 0, 0, 2555900, 0, 1, 3276796, 0, 0, 3342332, 65536, 1, 3407868, 65536, 1, 3473404, 65536, 0, 3538940, 65536, 0, 3604476, 0, 1, 1900541, 65536, 0, 1966077, 196608, 0, 2031613, 196608, 0, 2097149, 196608, 0, 2162685, 131072, 0, 2228221, 196608, 0, 2293757, 196608, 0, 2424829, 131072, 0, 2490365, 131072, 0, 2555901, 196608, 0, 3276797, 0, 0, 3342333, 0, 0, 3407869, 0, 1, 3473405, 65536, 0, 3538941, 65536, 1, 3604477, 65536, 1, 1900542, 65536, 0, 1966078, 131072, 0, 2031614, 131072, 0, 3276798, 0, 0, 3342334, 65536, 0, 3407870, 0, 1, 3473406, 0, 1, 3538942, 0, 1, 3604478, 0, 1, 655359, 65536, 1, 720895, 0, 0, 786431, 65536, 1, 851967, 65536, 1, 917503, 65536, 1, 983039, 65536, 1, 1048575, 0, 1, 1114111, 65536, 0, 1179647, 65536, 0, 1245183, 65536, 1, 1900543, 0, 0, 1966079, 131072, 0, 2031615, 196608, 0, 2097151, 65536, 1, 3276799, 65536, 0, 3342335, 0, 1, 3407871, 0, 1, 3473407, 65536, 0, 3538943, 65536, 1, 3604479, 65536, 0, 589824, 65536, 0, 655360, 0, 0, 720896, 0, 0, 786432, 65536, 1, 851968, 65536, 0, 917504, 65536, 1, 983040, 0, 1, 1048576, 65536, 0, 1114112, 0, 0, 1179648, 0, 0, 1835008, 65536, 1, 1900544, 196608, 0, 1966080, 196608, 0, 2031616, 0, 1, 3211264, 65536, 0, 3276800, 0, 1, 3342336, 65536, 0, 3407872, 0, 0, 3473408, 0, 1, 3538944, 65536, 0, 1835009, 65536, 1, 1900545, 196608, 0, 1966081, 196608, 0, 2031617, 0, 1, 3211265, 65536, 1, 3276801, 0, 0, 3342337, 0, 1, 3407873, 0, 1, 3473409, 65536, 0, 3538945, 65536, 0, 1835010, 65536, 0, 1900546, 196608, 0, 1966082, 196608, 0, 2031618, 0, 1, 3211266, 65536, 1, 3276802, 0, 1, 3342338, 0, 0, 3407874, 0, 1, 3473410, 0, 0, 3538946, 65536, 0, 1835011, 65536, 0, 1900547, 196608, 0, 1966083, 131072, 0, 2031619, 0, 1, 3342339, 0, 1, 3407875, 0, 0, 1835012, 0, 1, 1900548, 196608, 0, 1966084, 196608, 0, 2031620, 65536, 0, 3342340, 65536, 0, 3407876, 0, 0, 1835013, 65536, 0, 1900549, 131072, 0, 3342341, 65536, 1, 3407877, 65536, 1, 1835014, 0, 1, 1900550, 131072, 0, 3342342, 65536, 0, 3407878, 0, 1, 1835015, 0, 0, 1900551, 131072, 0, 1966087, 131072, 0, 2031623, 65536, 1, 3342343, 65536, 0, 3407879, 0, 0, 1835016, 0, 1, 1900552, 131072, 0, 1966088, 196608, 0, 2031624, 65536, 1, 3342344, 65536, 0, 3407880, 0, 1, 1835017, 65536, 1, 1900553, 131072, 0, 1966089, 196608, 0, 2031625, 0, 1, 3342345, 0, 1, 3407881, 0, 0, 1835018, 0, 1, 1900554, 196608, 0, 1966090, 196608, 0, 2031626, 0, 0, 3080202, 0, 1, 3145738, 65536, 1, 3211274, 65536, 0, 3276810, 0, 0, 3342346, 65536, 0, 3407882, 0, 0, 1835019, 0, 0, 1900555, 131072, 0, 1966091, 196608, 0, 2031627, 65536, 1, 3080203, 0, 0, 3145739, 0, 1, 3211275, 65536, 1, 3276811, 65536, 1, 3342347, 65536, 0, 3407883, 65536, 0, 1835020, 65536, 1, 1900556, 131072, 0, 1966092, 131072, 0, 2031628, 65536, 1, 1835021, 0, 1, 1966093, 131072, 0, 2031629, 0, 1, 1835022, 0, 1, 2031630, 65536, 0, 1835023, 65536, 1, 2031631, 0, 0, 1835024, 65536, 1, 1900560, 196608, 0, 2031632, 131072, 0, 1835025, 0, 1, 1900561, 196608, 0, 1966097, 196608, 0, 2031633, 196608, 0, 1835026, 0, 1, 1900562, 65536, 1, 1966098, 0, 0, 2031634, 65536, 1, 1310719, 65536, 1, 1376255, 0, 1, 1441791, 65536, 1, 1507327, 0, 1, 1572863, 0, 1, 1638399, 65536, 1, 1703935, 65536, 1, 1769471, 65536, 1, 1835007, 65536, 1, 1245184, 0, 0, 1310720, 65536, 0, 1376256, 0, 0, 1441792, 65536, 1, 1507328, 65536, 1, 1572864, 65536, 1, 1638400, 0, 0, 1703936, 65536, 0, 1769472, 0, 1, 2490403, 131072, 0, 2555939, 131072, 0, 2621475, 131072, 0, 2555940, 196608, 0, 2621476, 196608, 0, 2359331, 131072, 0, 2424867, 131072, 0, 2359332, 196608, 0, 1835043, 196608, 0, 1900579, 196608, 0, 1966115, 131072, 0, 2031651, 196608, 0, 2097187, 196608, 0, 2162723, 131072, 0, 2228259, 196608, 0, 2293795, 131072, 0, 1835044, 131072, 0, 1900580, 131072, 0, 1966116, 196608, 0, 2031652, 196608, 0, 2097188, 131072, 0, 2162724, 131072, 0, 2228260, 131072, 0, 2293796, 196608, 0, 1703971, 131072, 0, 1769507, 131072, 0, 1703972, 196608, 0, 1769508, 196608, 0, 1769474, 393216, 1, 1769475, 327680, 1, 1769473, 196608, 1, 1769476, 262144, 0, 1769477, 262144, 1, 1769478, 393216, 1, 1769479, 327680, 0, 1769480, 327680, 1, 1769481, 262144, 1, 1769482, 262144, 1, 1769483, 262144, 1, 1769484, 393216, 1, 1769485, 393216, 1, 1769486, 327680, 0, 1769488, 262144, 1, 1769489, 327680, 1, 1769490, 196608, 1, 3276803, 196608, 1, 3276804, 262144, 0, 3276805, 131072, 1, 3276806, 131072, 1, 3276807, 327680, 0, 3276808, 65536, 0, 3276809, 65536, 0, 3211256, 262144, 0, 3211257, 327680, 0, 3211258, 262144, 0, 3211259, 196608, 1, 3211260, 327680, 0, 3211261, 196608, 1, 3211262, 196608, 1, 3211263, 131072, 1, 3145728, 262144, 0, 3145729, 327680, 0, 3145730, 327680, 0, 3342325, 327680, 0, 3342326, 327680, 0, 3342327, 196608, 1, 3342318, 131072, 1, 3342319, 131072, 1, 3342320, 196608, 1, 3342321, 196608, 1, 3342322, 131072, 1, 2097137, 262144, 0, 2097138, 327680, 1, 2097139, 262144, 1, 2097140, 327680, 1, 2097141, 327680, 1, 2097142, 327680, 0, 2097143, 327680, 1, 2097144, 196608, 1, 2097145, 393216, 1, 2097146, 262144, 0, 2097147, 196608, 1, 1835004, 131072, 1, 1835005, 196608, 1, 1835006, 131072, 1, 3276783, 131072, 2, 3276784, 131072, 2, 3276785, 131072, 2, 3276790, 131072, 2, 3145720, 131072, 2, 3145721, 131072, 2, 3145722, 131072, 2, 3145723, 131072, 2, 3145724, 131072, 2, 3145725, 131072, 2, 3145726, 131072, 2, 3145727, 131072, 2, 3080192, 131072, 2, 3080193, 131072, 2, 3080194, 131072, 2, 3211268, 131072, 2, 3211269, 131072, 2, 3211270, 131072, 2, 3211271, 65536, 5, 3211272, 0, 1, 3211273, 0, 0, 3211267, 0, 5, 3145731, 131072, 3, 3080195, 327680, 2, 3145719, 262144, 2, 3276791, 65536, 5, 3211255, 196608, 3, 3276789, 0, 5, 3145717, 131072, 3, 3211253, 131072, 3, 3080181, 0, 4, 3080183, 327680, 3, 3080182, 196608, 2, 3014647, 131072, 3, 2949111, 131072, 3, 2883575, 131072, 3, 2818039, 131072, 3, 2490359, 131072, 3, 2555895, 131072, 3, 2621431, 131072, 3, 2686967, 131072, 3, 2752503, 131072, 3, 2031598, 131072, 3, 2097134, 131072, 3, 2162670, 131072, 3, 2228206, 131072, 3, 1179634, 131072, 3, 1245170, 131072, 3, 1310706, 131072, 3, 1376242, 131072, 3, 1441778, 131072, 3, 1507314, 131072, 3, 1572850, 131072, 3, 1638386, 131072, 3, 1703922, 131072, 3, 1769458, 131072, 3, 1834994, 131072, 3, 1900530, 131072, 3, 851956, 131072, 3, 917492, 131072, 3, 983028, 131072, 3, 1048564, 131072, 3, 1179625, 131072, 3, 1245161, 131072, 3, 1310697, 131072, 3, 1441762, 131072, 3, 1507298, 0, 5, 1638371, 131072, 3, 1703907, 131072, 3, 1769443, 131072, 3, 1834979, 0, 5, 1572834, 196608, 1, 1572831, 196608, 1, 1572830, 131072, 1, 1572829, 196608, 1, 1572828, 131072, 1, 1572827, 131072, 1, 1572826, 131072, 1, 1507306, 131072, 1, 1507307, 327680, 1, 1507308, 393216, 1, 1507309, 327680, 0, 1507310, 131072, 1, 1507311, 196608, 1, 1900515, 196608, 1, 1900516, 131072, 1, 1900517, 131072, 1, 1900518, 196608, 1, 1900519, 131072, 1, 1900520, 131072, 1, 1900521, 131072, 1, 1572835, 131072, 3, 3080204, 131072, 3, 3145740, 131072, 3, 3211276, 131072, 3, 3276812, 131072, 3, 3342348, 131072, 3, 3407884, 131072, 3, 2424869, 0, 4, 2490405, 131072, 3, 2555941, 131072, 3, 2621477, 131072, 3, 2424866, 65536, 4, 2490402, 196608, 3, 2555938, 196608, 3, 2621474, 65536, 5, 1835003, 196608, 3, 1900539, 196608, 3, 1966075, 196608, 3, 2097136, 196608, 3, 2162672, 196608, 3, 2228208, 196608, 3, 2293744, 196608, 3, 2359280, 196608, 3, 2424816, 196608, 3, 2490352, 196608, 3, 2555888, 196608, 3, 2621424, 196608, 3, 2686960, 196608, 3, 2752496, 196608, 3, 2818032, 196608, 3, 2883568, 196608, 3, 2949104, 196608, 3, 3014640, 196608, 3, 3145714, 196608, 3, 3211250, 196608, 3, 3276777, 196608, 3, 3342313, 196608, 3, 3407849, 196608, 3, 3473385, 196608, 3, 2031582, 196608, 3, 2097118, 196608, 3, 2162654, 196608, 3, 1572825, 196608, 3, 1638361, 196608, 3, 1703897, 196608, 3, 1769433, 196608, 3, 1834969, 196608, 3, 1900505, 196608, 3, 1966042, 196608, 2, 1966043, 196608, 2, 1966044, 196608, 2, 1966045, 196608, 2, 2228191, 196608, 2, 2228192, 196608, 2, 2228193, 196608, 2, 2228194, 196608, 2, 2228195, 196608, 2, 2228196, 196608, 2, 2228197, 196608, 2, 2228198, 196608, 2, 2228199, 196608, 2, 2228200, 196608, 2, 1966063, 196608, 2, 1966064, 196608, 2, 1966065, 196608, 2, 1114090, 196608, 2, 1114091, 196608, 2, 1114092, 196608, 2, 1114093, 196608, 2, 1114094, 196608, 2, 851934, 196608, 3, 917470, 196608, 3, 983006, 196608, 3, 1048542, 196608, 3, 1114078, 196608, 3, 1179614, 196608, 3, 1245150, 196608, 3, 1310686, 196608, 3, 1441759, 196608, 3, 720894, 196608, 3, 786430, 196608, 3, 851966, 196608, 3, 917502, 196608, 3, 983038, 196608, 3, 1048574, 196608, 3, 1114110, 196608, 3, 1179646, 196608, 3, 1245182, 196608, 3, 1310718, 196608, 3, 1376254, 196608, 3, 1441790, 196608, 3, 1507326, 196608, 3, 1572862, 196608, 3, 1638398, 196608, 3, 1703934, 196608, 3, 1048577, 131072, 3, 1114113, 131072, 3, 1179649, 131072, 3, 1245185, 0, 5, 655361, 131072, 3, 720897, 131072, 3, 786433, 131072, 3, 851969, 131072, 3, 917505, 131072, 3, 983041, 131072, 3, 589825, 131072, 3, 655358, 196608, 3, 1114099, 196608, 2, 1376227, 196608, 2, 1376228, 196608, 2, 1376229, 196608, 2, 1376230, 196608, 2, 1376231, 196608, 2, 1376232, 196608, 2, 2424824, 196608, 2, 2424825, 196608, 2, 2424826, 196608, 2, 3080201, 65536, 1, 3145737, 65536, 0, 3538922, 196608, 2, 3538923, 196608, 2, 3538924, 196608, 2, 3538925, 196608, 2, 3538926, 196608, 2, 3538927, 196608, 2, 3538928, 196608, 2, 3538929, 196608, 2, 3538930, 196608, 2, 3538931, 196608, 2, 3538932, 196608, 2, 3538933, 196608, 2, 3538934, 196608, 2, 3670008, 196608, 2, 3670009, 196608, 2, 3670010, 196608, 2, 3670011, 196608, 2, 3670012, 196608, 2, 3670013, 196608, 2, 3670014, 196608, 2, 3670015, 196608, 2, 3604480, 196608, 2, 3604481, 196608, 2, 3604482, 196608, 2, 3473412, 196608, 2, 3473413, 196608, 2, 3473414, 196608, 2, 3473415, 196608, 2, 3473416, 196608, 2, 3473417, 196608, 2, 3473418, 196608, 2, 3473419, 196608, 2, 2490363, 196608, 3, 2424827, 65536, 4, 2555899, 196608, 3, 3473411, 0, 4, 3538947, 131072, 3, 3670007, 262144, 3, 3604471, 196608, 3, 3604483, 327680, 3, 3538935, 65536, 4, 3538921, 262144, 3, 3276782, 0, 5, 3276786, 65536, 5, 2228201, 65536, 4, 2228190, 262144, 3, 1966046, 65536, 4, 1966041, 262144, 3, 1966062, 0, 4, 1966066, 327680, 3, 2031611, 65536, 5, 2031610, 131072, 2, 2031609, 131072, 2, 2031607, 131072, 2, 2031608, 131072, 2, 2031606, 131072, 2, 2031601, 131072, 2, 2031602, 131072, 2, 2031603, 131072, 2, 2031604, 131072, 2, 2031605, 131072, 2, 1376257, 65536, 0, 1441793, 65536, 0, 1507329, 0, 4, 1572865, 131072, 3, 1638401, 131072, 3, 1376258, 0, 1, 1441794, 0, 0, 1507330, 65536, 4, 1572866, 196608, 3, 1638402, 262144, 3, 1376259, 65536, 1, 1441795, 65536, 1, 1507331, 0, 0, 1572867, 65536, 0, 1638403, 196608, 2, 1376260, 65536, 0, 1441796, 0, 1, 1507332, 0, 1, 1572868, 65536, 0, 1638404, 196608, 2, 1376261, 0, 1, 1441797, 65536, 0, 1507333, 65536, 0, 1572869, 65536, 1, 1638405, 196608, 2, 1376262, 65536, 0, 1441798, 0, 1, 1507334, 0, 1, 1572870, 0, 0, 1638406, 196608, 2, 1376263, 0, 0, 1441799, 65536, 1, 1507335, 0, 4, 1572871, 131072, 3, 1638407, 327680, 3, 1376264, 65536, 0, 1441800, 65536, 1, 1507336, 196608, 2, 1376265, 131072, 3, 1441801, 131072, 3, 1507337, 327680, 3, 1310721, 262144, 1, 1310722, 327680, 1, 1310723, 262144, 1, 1310724, 393216, 1, 1310725, 327680, 1, 1310726, 327680, 1, 1310727, 393216, 1, 1310728, 262144, 1, 1310729, 131072, 3, 1245186, 131072, 2, 1245187, 131072, 2, 1245188, 131072, 2, 1245189, 131072, 2, 1245190, 131072, 2, 1245191, 131072, 2, 1245192, 131072, 2, 1245193, 327680, 2, 2031600, 262144, 2, 3080178, 65536, 4, 3080177, 196608, 2, 3080176, 262144, 3, 1769468, 131072, 2, 1769469, 131072, 2, 1769470, 65536, 5, 1769467, 262144, 2, 1703939, 131072, 2, 1703938, 131072, 2, 1703937, 0, 5, 1703940, 131072, 2, 1703941, 131072, 2, 1703942, 131072, 2, 1703943, 131072, 2, 1703944, 131072, 2, 1703945, 131072, 2, 1703946, 131072, 2, 1703947, 131072, 2, 1703948, 131072, 2, 1703949, 131072, 2, 1703950, 131072, 2, 1703951, 131072, 2, 1703952, 131072, 2, 1703953, 131072, 2, 1703954, 131072, 2, 3473420, 327680, 3, 1507290, 131072, 2, 1507291, 131072, 2, 1507292, 131072, 2, 1507293, 131072, 2, 1507294, 131072, 2, 1507295, 65536, 5, 1507299, 327680, 2, 1507289, 262144, 2, 1834984, 131072, 2, 1834983, 131072, 2, 1834982, 131072, 2, 1834981, 131072, 2, 1834980, 131072, 2, 1834985, 65536, 5, 1638377, 196608, 3, 1572841, 196608, 3, 1703913, 196608, 3, 1769449, 196608, 3, 1441775, 65536, 5, 1376239, 196608, 3, 1179631, 196608, 3, 1114095, 65536, 4, 1245167, 196608, 3, 1310703, 196608, 3, 1114098, 0, 4, 1114100, 327680, 3, 1376223, 65536, 4, 1376222, 262144, 3, 1376226, 0, 4, 1114089, 0, 4, 1376233, 327680, 3, 1507305, 196608, 3, 1441770, 131072, 2, 1441771, 131072, 2, 1441772, 131072, 2, 1441773, 131072, 2, 1441774, 131072, 2, 1441769, 262144, 2, 2424823, 0, 4, 13, 65536, 1, -65523, 0, 1, 12, 65536, 0, -65524, 65536, 1, 11, 0, 0, -65525, 0, 0, 10, 65536, 1, -65526, 0, 0, 9, 0, 0, -65527, 65536, 1, 65546, 196608, 2, 65545, 196608, 2, 65547, 196608, 2, 65548, 196608, 2, 65549, 196608, 2, -65522, 65536, 1, 14, 65536, 1, -131058, 65536, 0, 65550, 196608, 2, 17, 65536, 0, -65519, 0, 0, -131055, 65536, 1, -196591, 65536, 0, -262127, 0, 0, 16, 0, 0, -65520, 65536, 0, -131056, 0, 1, -196592, 65536, 0, -262128, 65536, 1, 15, 0, 1, -65521, 65536, 0, -131057, 0, 1, -196593, 65536, 0, -262129, 0, 0, -196594, 65536, 0, -262130, 0, 0, -196595, 65536, 5, -262131, 196608, 3, -131059, 196608, 1, 65551, 196608, 2, 65552, 196608, 2, 65553, 196608, 2, -262126, 131072, 3, -196590, 131072, 3, -327662, 131072, 3, -131054, 131072, 3, -65518, 131072, 3, 18, 131072, 3, 65554, 327680, 3, -327663, 0, 1, -393199, 0, 1, -458735, 65536, 1, -327664, 0, 1, -393200, 65536, 0, -458736, 65536, 1, -327665, 0, 1, -393201, 0, 0, -458737, 65536, 0, -327666, 65536, 0, -393202, 65536, 0, -458738, 0, 1, -393203, 196608, 3, -458739, 196608, 3, -327667, 196608, 3, -458734, 131072, 3, -393198, 131072, 3, -524270, 131072, 3, -524271, 196608, 1, -524272, 131072, 1, -524273, 196608, 1, -524274, 131072, 1, -524275, 196608, 3, -589810, 131072, 2, -589809, 131072, 2, -589808, 131072, 2, -589807, 131072, 2, -589806, 327680, 2, -131060, 196608, 1, -131061, 196608, 1, -131062, 131072, 1, -131063, 196608, 1, -196599, 131072, 2, -196598, 131072, 2, -196597, 131072, 2, -196596, 131072, 2, -589811, 262144, 2, 2293737, 196608, 3, 2359273, 196608, 3, 2424809, 196608, 3, 2490345, 196608, 3, 2555881, 196608, 3, 2621417, 196608, 3, 2686953, 196608, 3, 2752489, 196608, 3, 2818025, 196608, 3, 2883561, 196608, 3, 2949097, 196608, 3, 3014633, 196608, 3, 3080169, 196608, 3, 3145705, 196608, 3, 3211241, 196608, 3, 2293738, 65536, 0, 2359274, 65536, 0, 2424810, 0, 0, 2490346, 65536, 1, 2555882, 65536, 1, 2621418, 65536, 1, 2686954, 65536, 1, 2752490, 65536, 1, 2818026, 0, 1, 2883562, 65536, 0, 2949098, 65536, 1, 3014634, 0, 1, 3080170, 0, 0, 3145706, 65536, 1, 3211242, 0, 1, 2293739, 0, 0, 2359275, 65536, 0, 2424811, 0, 1, 2490347, 65536, 1, 2555883, 65536, 0, 2621419, 65536, 1, 2686955, 0, 1, 2752491, 0, 0, 2818027, 0, 0, 2883563, 65536, 1, 2949099, 65536, 1, 3014635, 65536, 0, 3080171, 0, 1, 3145707, 65536, 1, 3211243, 65536, 1, 2293740, 65536, 0, 2359276, 0, 1, 2424812, 65536, 1, 2490348, 0, 1, 2555884, 0, 1, 2621420, 65536, 0, 2686956, 65536, 0, 2752492, 0, 1, 2818028, 0, 0, 2883564, 0, 1, 2949100, 65536, 0, 3014636, 65536, 1, 3080172, 0, 1, 3145708, 65536, 0, 3211244, 0, 0, 2293741, 0, 0, 2359277, 0, 0, 2424813, 65536, 0, 2490349, 65536, 1, 2555885, 65536, 1, 2621421, 65536, 0, 2686957, 0, 0, 2752493, 0, 0, 2818029, 0, 1, 2883565, 65536, 1, 2949101, 65536, 0, 3014637, 65536, 1, 3080173, 0, 1, 3145709, 65536, 0, 3211245, 65536, 0, 2293742, 131072, 3, 2359278, 131072, 3, 2424814, 131072, 3, 2490350, 131072, 3, 2555886, 131072, 3, 2621422, 131072, 3, 2686958, 131072, 3, 2752494, 131072, 3, 2818030, 131072, 3, 2883566, 131072, 3, 2949102, 131072, 3, 3014638, 131072, 3, 3080174, 131072, 3, 3145710, 131072, 3, 3211246, 131072, 3, 2162686, 196608, 0, 2228222, 131072, 0, 2293758, 131072, 0, 2490366, 131072, 0, 2555902, 196608, 0, 2162687, 0, 1, 2228223, 0, 1, 2293759, 196608, 0, 2359295, 196608, 0, 2424831, 196608, 0, 2490367, 0, 0, 2555903, 0, 1, 2097152, 0, 1, 2162688, 65536, 0, 2228224, 196608, 0, 2293760, 131072, 0, 2359296, 196608, 0, 2424832, 0, 0, 2490368, 65536, 0, 2097153, 0, 1, 2162689, 65536, 1, 2228225, 131072, 0, 2293761, 131072, 0, 2359297, 196608, 0, 2424833, 65536, 0, 2490369, 0, 1, 2097154, 65536, 0, 2162690, 65536, 0, 2228226, 131072, 0, 2293762, 196608, 0, 2359298, 131072, 0, 2424834, 0, 1, 2490370, 65536, 1, 2097155, 0, 0, 2162691, 0, 1, 2228227, 131072, 0, 2293763, 196608, 0, 2359299, 131072, 0, 2424835, 65536, 0, 2490371, 0, 0, 2097156, 0, 0, 2162692, 0, 0, 2228228, 196608, 0, 2293764, 131072, 0, 2359300, 131072, 0, 2424836, 0, 0, 2490372, 0, 0, 2097157, 0, 0, 2162693, 0, 0, 2228229, 196608, 0, 2293765, 196608, 0, 2359301, 131072, 0, 2424837, 65536, 1, 2490373, 65536, 0, 2097158, 0, 1, 2162694, 65536, 1, 2293766, 196608, 0, 2359302, 131072, 0, 2424838, 0, 1, 2490374, 65536, 0, 2097159, 65536, 0, 2162695, 65536, 0, 2228231, 131072, 0, 2293767, 196608, 0, 2359303, 196608, 0, 2424839, 65536, 0, 2490375, 65536, 1, 2097160, 65536, 1, 2162696, 65536, 0, 2293768, 196608, 0, 2359304, 196608, 0, 2424840, 65536, 1, 2490376, 0, 1, 2097161, 65536, 0, 2162697, 0, 0, 2228233, 196608, 0, 2293769, 131072, 0, 2359305, 196608, 0, 2424841, 0, 1, 2490377, 65536, 1, 2097162, 0, 0, 2162698, 65536, 1, 2228234, 196608, 0, 2293770, 131072, 0, 2359306, 131072, 0, 2424842, 65536, 1, 2490378, 65536, 0, 2097163, 65536, 0, 2162699, 0, 0, 2228235, 131072, 0, 2293771, 196608, 0, 2359307, 131072, 0, 2424843, 65536, 1, 2490379, 65536, 0, 2097164, 0, 1, 2162700, 0, 1, 2228236, 131072, 0, 2293772, 196608, 0, 2359308, 196608, 0, 2424844, 0, 0, 2490380, 65536, 0, 2097165, 0, 0, 2162701, 65536, 1, 2228237, 0, 1, 2293773, 65536, 0, 2359309, 65536, 0, 2424845, 65536, 1, 2490381, 0, 0, 2097166, 65536, 0, 2162702, 0, 0, 2228238, 0, 1, 2293774, 0, 0, 2359310, 65536, 1, 2424846, 65536, 1, 2490382, 0, 0, 2097167, 0, 0, 2162703, 0, 0, 2228239, 65536, 1, 2293775, 0, 0, 2359311, 65536, 0, 2424847, 0, 0, 2490383, 0, 0, 2097168, 131072, 0, 2162704, 131072, 0, 2228240, 196608, 0, 2293776, 131072, 0, 2359312, 196608, 0, 2424848, 196608, 0, 2490384, 196608, 0, 2097169, 131072, 0, 2162705, 196608, 0, 2228241, 196608, 0, 2293777, 196608, 0, 2359313, 131072, 0, 2424849, 131072, 0, 2490385, 196608, 0, 2097170, 0, 1, 2162706, 65536, 0, 2228242, 0, 0, 2293778, 65536, 1, 2359314, 0, 1, 2490386, 0, 0, 3080200, 65536, 1, 3145736, 65536, 1, 3145735, 196608, 3, 3080199, 196608, 3, 1703955, 327680, 2, 1769491, 131072, 3, 1835027, 131072, 3, 1900563, 131072, 3, 1966099, 131072, 3, 2031635, 131072, 3, 2097171, 131072, 3, 2162707, 131072, 3, 2228243, 131072, 3, 2293779, 131072, 3, 2359315, 131072, 3, 2424851, 131072, 3, 2621435, 196608, 3, 2686971, 196608, 3, 2752507, 196608, 3, 2818043, 196608, 3, 2883579, 262144, 3, 2621436, 65536, 0, 2686972, 0, 0, 2752508, 0, 0, 2818044, 0, 1, 2883580, 196608, 2, 2621437, 196608, 0, 2686973, 131072, 0, 2752509, 131072, 0, 2818045, 65536, 1, 2883581, 196608, 2, 2621438, 131072, 0, 2686974, 131072, 0, 2752510, 196608, 0, 2818046, 65536, 0, 2883582, 196608, 2, 2621439, 0, 0, 2686975, 196608, 0, 2752511, 196608, 0, 2818047, 65536, 0, 2883583, 196608, 2, 2555904, 65536, 0, 2621440, 196608, 0, 2686976, 196608, 0, 2752512, 0, 1, 2818048, 196608, 2, 2555905, 65536, 1, 2621441, 131072, 0, 2686977, 131072, 0, 2752513, 0, 0, 2818049, 196608, 2, 2555906, 0, 0, 2621442, 196608, 0, 2686978, 196608, 0, 2752514, 0, 0, 2818050, 196608, 2, 2555907, 0, 1, 2621443, 196608, 0, 2686979, 131072, 0, 2752515, 0, 1, 2818051, 196608, 2, 2555908, 0, 1, 2621444, 196608, 0, 2686980, 196608, 0, 2752516, 65536, 0, 2818052, 196608, 2, 2621445, 196608, 0, 2686981, 196608, 0, 2752517, 0, 0, 2818053, 196608, 2, 2555910, 65536, 1, 2621446, 196608, 0, 2686982, 131072, 0, 2752518, 65536, 1, 2818054, 196608, 2, 2555911, 65536, 1, 2621447, 196608, 0, 2686983, 131072, 0, 2752519, 65536, 0, 2818055, 65536, 4, 2555912, 0, 1, 2621448, 131072, 0, 2686984, 196608, 0, 2752520, 0, 1, 2818056, 0, 0, 2555913, 0, 0, 2621449, 196608, 0, 2686985, 131072, 0, 2752521, 65536, 1, 2818057, 0, 1, 2555914, 0, 1, 2621450, 196608, 0, 2686986, 131072, 0, 2752522, 65536, 0, 2818058, 65536, 0, 2555915, 65536, 0, 2621451, 131072, 0, 2686987, 196608, 0, 2752523, 65536, 1, 2818059, 0, 1, 2555916, 65536, 0, 2621452, 131072, 0, 2686988, 196608, 0, 2752524, 0, 0, 2818060, 0, 4, 2752525, 65536, 1, 2818061, 196608, 2, 2752526, 65536, 0, 2818062, 196608, 2, 2752527, 0, 1, 2818063, 196608, 2, 2555920, 196608, 0, 2621456, 131072, 0, 2686992, 196608, 0, 2752528, 65536, 1, 2818064, 196608, 2, 2555921, 131072, 0, 2621457, 196608, 0, 2686993, 196608, 0, 2752529, 0, 0, 2818065, 65536, 4, 2555922, 0, 0, 2621458, 65536, 0, 2686994, 0, 1, 2752530, 0, 0, 2818066, 0, 0, 2621459, 0, 5, 2686995, 196608, 1, 2752531, 0, 0, 2818067, 0, 0, 2818068, 0, 0, 2818069, 0, 1, 2818071, 65536, 1, 2818073, 0, 1, 2686996, 131072, 1, 2752532, 0, 1, 2686997, 131072, 1, 2686998, 131072, 1, 2686999, 131072, 1, 2752535, 0, 0, 2687000, 131072, 1, 2687001, 393216, 1, 2752537, 65536, 0, 2687002, 327680, 1, 2752538, 65536, 0, 2687003, 327680, 0, 2752539, 0, 1, 2687004, 327680, 0, 2687005, 393216, 1, 2752541, 0, 0, 2883604, 0, 1, 2883605, 0, 1, 2883608, 65536, 1, 2883609, 0, 4, 2883610, 196608, 2, 2883611, 196608, 2, 2883612, 196608, 2, 2818077, 0, 1, 2883613, 196608, 2, 2621470, 131072, 2, 2883614, 196608, 2, 2621471, 131072, 2, 2883615, 196608, 2, 2621472, 131072, 2, 2883616, 196608, 2, 2621473, 131072, 2, 2883617, 196608, 2, 2883618, 196608, 2, 2883619, 196608, 2, 2883620, 196608, 2, 2883621, 327680, 3, 2687006, 131072, 1, 2687007, 196608, 1, 2687008, 196608, 1, 2687009, 196608, 1, 2687010, 131072, 1, 2818078, 65536, 1, 2818079, 65536, 1, 2752544, 65536, 0, 2818080, 0, 0, 2818081, 0, 0, 2818082, 65536, 1, 2818083, 65536, 1, 2818085, 131072, 3, 2752549, 131072, 3, 2752548, 65536, 1, 2752547, 0, 0, 2687011, 196608, 0, 2687013, 131072, 3, 2687012, 131072, 0, 2883603, 65536, 4, 2883602, 196608, 2, 2883601, 262144, 3, 2621460, 131072, 2, 2621461, 131072, 2, 2621462, 131072, 2, 2621463, 131072, 2, 2621464, 131072, 2, 2621465, 131072, 2, 2621466, 131072, 2, 2621467, 131072, 2, 2621468, 131072, 2, 2621469, 131072, 2, 2490387, 131072, 3, 2555923, 131072, 3, 2949141, 196608, 2, 2949140, 196608, 2, 2949139, 262144, 3, 2949142, 196608, 2, 2949143, 196608, 2, 2949144, 196608, 2, 2949145, 327680, 3, 2883593, 0, 0, 2883592, 65536, 1, 2883591, 196608, 3, 2883594, 0, 1, 2949130, 65536, 1, 2949129, 65536, 0, 2949128, 65536, 1, 2949127, 196608, 3, 3014665, 65536, 0, 3014664, 0, 0, 3014663, 196608, 3, 3014666, 65536, 1, 3014667, 65536, 1, 2949131, 0, 0, 2883595, 0, 0, 2883596, 131072, 3, 2949132, 131072, 3, 3014668, 131072, 3, 2228230, 131072, 0, 2228232, 196608, 0, 1769487, 262144, 7, 2686989, 196608, 0, 2686990, 196608, 0, 2555919, 0, 1, 2621455, 196608, 0, 2686991, 131072, 0, 2424868, 131072, 0, 2490404, 131072, 0, 1966085, 524288, 1, 2555917, 524288, 1, 2555918, 589824, 1, 2621454, 589824, 2, 2621453, 524288, 2, 2883607, 589824, 1, 2752540, 589824, 1, 2818084, 589824, 2, 2752545, 524288, 2, 2752546, 589824, 2, 1966096, 589824, 2, 1638433, 262144, 0, 1572897, 327680, 0, 1572898, 196608, 1, 1638434, 327680, 0, 1638435, 196608, 1, 1572899, 196608, 1, 1572900, 196608, 1, 1638436, 196608, 1, 1638437, 196608, 1, 1572901, 196608, 1, 1638438, 196608, 1, 1572902, 262144, 0, 1572903, 327680, 0, 1638439, 196608, 1, 1638432, 196608, 1, 1572896, 262144, 0, 1507360, 262144, 1, 1507361, 327680, 1, 1507362, 262144, 1, 1507363, 327680, 1, 1507365, 327680, 1, 1507364, 327680, 1, 1507366, 262144, 1, 1507367, 262144, 1, 1703968, 65537, 3, 1769504, 65537, 4, 1835040, 196609, 0, 1900576, 262145, 1, 1703969, 131073, 3, 1769505, 131073, 4, 1835041, 196609, 0, 1900577, 196609, 0, 1703970, 196609, 0, 1769506, 196609, 0, 1835042, 196609, 0, 1900578, 196609, 0, 1703973, 196609, 0, 1769509, 196609, 0, 1835045, 196609, 0, 1900581, 196609, 0, 1703974, 327681, 2, 1769510, 327681, 3, 1835046, 196609, 0, 1900582, 196609, 0, 1703975, 393217, 2, 1769511, 393217, 3, 1835047, 196609, 0, 1900583, 196609, 0, 1900584, 458753, 0, 1900575, 196609, 0, 1900574, 196609, 0, 1835038, 196609, 0, 1835039, 196609, 0, 1769503, 1, 4, 1769502, 196609, 0, 1769512, 458753, 3, 1835048, 196609, 0, 1769513, 196609, 0, 1835049, 196609, 0, 1900585, 196609, 0, 1703976, 458753, 2, 1703977, 262145, 2, 1703967, 1, 3, 1703966, 196609, 0, 1638429, 196608, 3, 1703965, 196608, 3, 1769501, 196608, 3, 1835037, 196608, 3, 1966109, 196608, 3, 2031645, 196608, 3, 2162717, 196608, 3, 2228253, 196608, 3, 2293789, 196608, 3, 2359325, 196608, 3, 2424861, 262144, 3, 2424862, 196608, 2, 2424863, 196608, 2, 2424864, 196608, 2, 2424865, 196608, 2, 2424870, 196608, 2, 2424871, 196608, 2, 2424872, 196608, 2, 2424873, 196608, 2, 1507370, 131072, 3, 1572906, 131072, 3, 1638442, 131072, 3, 1703978, 131072, 3, 1769514, 131072, 3, 1835050, 131072, 3, 1900586, 131072, 3, 1966122, 131072, 3, 2031658, 131072, 3, 2097194, 131072, 3, 2162730, 131072, 3, 2228266, 131072, 3, 2293802, 131072, 3, 2359338, 131072, 3, 2424874, 327680, 3, 1638430, 196609, 0, 1638431, 196609, 0, 1638440, 196609, 0, 1638441, 262145, 1, 1572894, 131072, 1, 1572895, 196608, 1, 1507358, 131072, 1, 1507359, 196608, 1, 1441822, 131072, 1, 1441823, 196608, 1, 1572904, 131072, 1, 1572905, 196608, 1, 1507368, 131072, 1, 1507369, 196608, 1, 1441832, 131072, 1, 1441833, 196608, 1, 1441824, 0, 5, 1441825, 131072, 2, 1441826, 131072, 2, 1441827, 131072, 2, 1441828, 131072, 2, 1441829, 131072, 2, 1441830, 131072, 2, 1441831, 65536, 5, 1376288, 327680, 2, 1376287, 131072, 2, 1376286, 0, 5, 1376296, 131072, 2, 1376297, 65536, 5, 1376295, 262144, 2, 1572893, 196608, 3, 1507357, 196608, 3, 1441821, 262144, 2, 1310750, 131072, 3, 1245214, 131072, 3, 1310761, 196608, 3, 1245225, 196608, 3, 1179689, 196608, 3, 1179678, 131072, 3, 1441834, 327680, 2, 851998, 131072, 3, 917534, 131072, 3, 983070, 131072, 3, 1048606, 131072, 3, 1114142, 131072, 3, 852009, 196608, 3, 917545, 196608, 3, 983081, 196608, 3, 1048617, 196608, 3, 1114153, 196608, 3, 2097181, 196608, 3, 1900573, 196608, 3, 1966110, 0, 1, 1966111, 65536, 1, 1966112, 65536, 1, 1966113, 65536, 0, 1966114, 0, 1, 2031650, 0, 0, 2097186, 65536, 1, 2162722, 65536, 0, 2228258, 0, 0, 2293794, 65536, 1, 2359333, 0, 1, 2293797, 0, 1, 2228261, 65536, 1, 2162725, 65536, 1, 2097189, 0, 0, 2031653, 65536, 0, 1966117, 65536, 0, 1966118, 0, 0, 1966119, 0, 1, 1966120, 0, 0, 1966121, 65536, 0, 2359330, 0, 1, 262127, 131072, 2, 327663, 131072, 1, 327668, 327680, 2, 131060, 196608, 2, 786420, 327680, 2, 589812, 327680, 3, 589807, 196608, 2) -layer_4/tile_data = PackedInt32Array(2097150, 655360, 2, 2359293, 655360, 1, 2359294, 720896, 2, 2424830, 655360, 1, 1966085, 720896, 2, 2031621, 655360, 1, 2031622, 720896, 2, 1966086, 655360, 1, 2555909, 655360, 2, 2555917, 655360, 2, 2621453, 720896, 2, 2621454, 720896, 2, 2555918, 655360, 1, 2424850, 655360, 2, 2752533, 655360, 1, 2752534, 720896, 2, 2818070, 720896, 2, 2883606, 655360, 2, 2883607, 720896, 2, 2752536, 720896, 2, 2818072, 655360, 2, 2818074, 720896, 1, 2818075, 720896, 2, 2818076, 720896, 1, 2752540, 720896, 1, 2752543, 655360, 2, 2752542, 655360, 2, 2752546, 720896, 1, 2752545, 655360, 1, 2818084, 655360, 2, 1900558, 655360, 1, 1966094, 655360, 2, 1900559, 720896, 1, 1966095, 720896, 2, 1966096, 655360, 1, 1900557, 720896, 2, 1376286, 131072, 0, 2031646, 65537, 6, 2031647, 65537, 6, 2031648, 65537, 6, 2031649, 65537, 6, 2031654, 65537, 6, 2031655, 65537, 6, 2031656, 65537, 6, 2031657, 65537, 6) -layer_6/z_index = 3 Entities = NodePath("Entities") Areas = NodePath("Areas") Spawners = NodePath("Spawners") @@ -375,11 +390,7 @@ ClearColor = Color(0.105882, 0.0470588, 0.117647, 1) AreaName = "The True Arena" MapName = "Depths of the Arena" -<<<<<<< Updated upstream -[node name="CanvasModulate" parent="." index="7"] -======= [node name="z-index 0" parent="Layers" index="0"] -visible = false tile_map_data = PackedByteArray("AADl/+X/AAAGAAAAAADu/+X/AAAGAAAAAADv/+X/AAAHAAIAAAD4//n/AAADAAQAAAD4//v/AAADAAQAAAD4//3/AAADAAQAAAD4/wIAAAADAAQAAAD4/wQAAAADAAQAAAD4/wYAAAADAAQAAAD5//j/AAACAAQAAAD5/wgAAAAHAAQAAAD7//j/AAACAAQAAAD7/wgAAAAHAAQAAAD9//j/AAACAAQAAAD9/wgAAAAHAAQAAAACAPj/AAACAAQAAAACAAgAAAAHAAQAAAAEAPj/AAACAAQAAAAEAAgAAAAHAAQAAAAGAPj/AAACAAQAAAAGAAgAAAAHAAQAAAAIAPn/AAAFAAQAAAAIAPv/AAAFAAQAAAAIAP3/AAAFAAQAAAAIAAIAAAAFAAQAAAAIAAQAAAAFAAQAAAAIAAYAAAAFAAQAAAAFAPf/AAAHAAIAAAD6//f/AAAHAAIAAAD8//f/AAAGAAIAAAADAPf/AAAGAAIAAAD+/wEAAAAHAAAAAAD8/wEAAAAHAAAAAAD6/wEAAAAHAAAAAAD+/wMAAAAHAAAAAAD+/wUAAAAHAAAAAAABAAUAAAAHAAAAAAABAAMAAAAHAAAAAAABAAEAAAAHAAAAAAADAAEAAAAHAAAAAAAFAAEAAAAHAAAAAAAFAP7/AAAHAAAAAAADAP7/AAAHAAAAAAABAP7/AAAHAAAAAAABAPz/AAAHAAAAAAABAPr/AAAHAAAAAAD+//r/AAAHAAAAAAD+//z/AAAHAAAAAAD+//7/AAAHAAAAAAD8//7/AAAHAAAAAAD6//7/AAAHAAAAAADx/+b/AAACAAQAAADm/+b/AAACAAQAAAD0/+j/AAACAAQAAAACAOj/AAACAAQAAAD7/+j/AAACAAQAAADo/+X/AAAGAAIAAAD9/xwAAAACAAQAAAACABwAAAACAAQAAAAMABwAAAACAAQAAAARABwAAAACAAQAAAD9/ysAAAAHAAQAAAACACsAAAAHAAQAAAAHACsAAAAHAAQAAAAMACsAAAAHAAQAAAARACsAAAAHAAQAAAAAACAAAAAHAAAAAAAEACAAAAAHAAAAAAAIACAAAAAHAAAAAAAMACAAAAAHAAAAAAAMACYAAAAHAAAAAAAIACYAAAAHAAAAAAAEACYAAAAHAAAAAAAAACYAAAAHAAAAAAAKACAAAAAHAAAAAAACACAAAAAHAAAAAAACACYAAAAHAAAAAAAGACYAAAAHAAAAAAAGACAAAAAHAAAAAAAKACYAAAAHAAAAAAAOACAAAAAHAAAAAAAOACIAAAAHAAAAAAAOACQAAAAHAAAAAAAOACYAAAAHAAAAAAAHABwAAAACAAQAAAAfABwAAAAMAAAAAAAgABwAAAANAAAAAADo/wIAAAAHAAAAAADm/wIAAAAHAAAAAADk/wIAAAAHAAAAAADv/xgAAAAHAAAAAADy/ywAAAAHAAAAAAD1/ywAAAAHAAAAAAD1/yoAAAAHAAAAAADy/yoAAAAHAAAAAADy/ygAAAAHAAAAAAD1/ygAAAAHAAAAAAD1/yYAAAAHAAAAAADy/yYAAAAHAAAAAADy/yQAAAAHAAAAAAD1/yQAAAAHAAAAAADe/woAAAAEAAIAAADe/wsAAAADAAMAAADf/woAAAACAAIAAADf/wsAAAACAAEAAADg/woAAAACAAIAAADg/wsAAAACAAEAAADh/woAAAACAAIAAADh/wsAAAADAAEAAADi/woAAAACAAIAAADi/wsAAAADAAEAAADj/woAAAACAAIAAADj/wsAAAACAAEAAADk/woAAAACAAIAAADk/wsAAAADAAEAAADl/woAAAACAAIAAADl/wsAAAACAAEAAADm/woAAAACAAIAAADm/wsAAAACAAEAAADn/woAAAACAAIAAADn/wsAAAACAAEAAADo/woAAAACAAIAAADo/wsAAAADAAEAAADp/woAAAACAAIAAADp/wsAAAACAAEAAADq/woAAAACAAIAAADq/wsAAAACAAEAAADr/woAAAACAAIAAADr/wsAAAADAAEAAADs/woAAAACAAIAAADs/wsAAAACAAEAAADt/woAAAACAAIAAADt/wsAAAADAAEAAADu/woAAAACAAIAAADu/wsAAAADAAEAAADv/woAAAACAAIAAADv/wsAAAADAAEAAADw/woAAAABAAUAAADw/wsAAAADAAEAAAA=") tile_set = ExtResource("2_m6h7j") @@ -392,7 +403,6 @@ tile_map_data = PackedByteArray("AAABABQAAAAGAAAAAAACABQAAAAGAAAAAAADABQAAAAGAAA tile_set = ExtResource("2_m6h7j") [node name="z-index -2" parent="Layers" index="3"] -visible = false tile_map_data = PackedByteArray("AAD+//7/AAAAAAAAAAD+////AAACAAAAAAD+/wAAAAADAAAAAAD+/wEAAAABAAAAAAD///7/AAADAAAAAAD/////AAACAAAAAAD//wAAAAADAAAAAAD//wEAAAADAAAAAAAAAP7/AAACAAAAAAAAAP//AAACAAAAAAAAAAAAAAACAAAAAAAAAAEAAAACAAAAAAABAP7/AAABAAEAAAABAP//AAACAAAAAAABAAAAAAACAAAAAAABAAEAAAABAAEAAAD8//z/AAABAAEAAAD8//3/AAAAAAEAAAD8//7/AAABAAAAAAD8////AAACAAAAAAD8/wAAAAADAAAAAAD8/wEAAAAAAAAAAAD8/wIAAAABAAAAAAD8/wMAAAAAAAAAAAD9//z/AAAAAAAAAAD9//3/AAABAAEAAAD9//7/AAAAAAEAAAD9////AAACAAAAAAD9/wAAAAACAAAAAAD9/wEAAAABAAEAAAD9/wIAAAAAAAAAAAD9/wMAAAABAAAAAAD+//z/AAABAAEAAAD+//3/AAAAAAEAAAD+/wIAAAAAAAEAAAD+/wMAAAABAAAAAAD///z/AAADAAAAAAD///3/AAADAAAAAAD//wIAAAACAAAAAAD//wMAAAACAAAAAAAAAPz/AAADAAAAAAAAAP3/AAADAAAAAAAAAAIAAAACAAAAAAAAAAMAAAADAAAAAAABAPz/AAABAAAAAAABAP3/AAABAAAAAAABAAIAAAAAAAAAAAABAAMAAAABAAEAAAACAPz/AAABAAEAAAACAP3/AAAAAAAAAAACAP7/AAAAAAAAAAACAP//AAADAAAAAAACAAAAAAACAAAAAAACAAEAAAAAAAEAAAACAAIAAAABAAAAAAACAAMAAAABAAEAAAADAPz/AAAAAAEAAAADAP3/AAABAAAAAAADAP7/AAAAAAEAAAADAP//AAADAAAAAAADAAAAAAADAAAAAAADAAEAAAAAAAEAAAADAAIAAAABAAAAAAADAAMAAAAAAAEAAAD4////AAADAAAAAAD4/wAAAAACAAAAAAD5////AAADAAAAAAD5/wAAAAACAAAAAAD6////AAACAAAAAAD6/wAAAAACAAAAAAD7////AAADAAAAAAD7/wAAAAADAAAAAAD///j/AAADAAAAAAD///n/AAACAAAAAAD///r/AAADAAAAAAD///v/AAACAAAAAAAAAPj/AAADAAAAAAAAAPn/AAACAAAAAAAAAPr/AAADAAAAAAAAAPv/AAADAAAAAAAEAP//AAADAAAAAAAEAAAAAAADAAAAAAAFAP//AAADAAAAAAAFAAAAAAADAAAAAAAGAP//AAADAAAAAAAGAAAAAAACAAAAAAAHAP//AAACAAAAAAAHAAAAAAACAAAAAAD//wQAAAACAAAAAAD//wUAAAACAAAAAAD//wYAAAACAAAAAAD//wcAAAADAAAAAAAAAAQAAAADAAAAAAAAAAUAAAACAAAAAAAAAAYAAAACAAAAAAAAAAcAAAACAAAAAAD4/wEAAAAAAAAAAAD4/wIAAAABAAEAAAD4/wMAAAABAAEAAAD5/wEAAAABAAEAAAD5/wIAAAAAAAEAAAD5/wMAAAABAAEAAAD6/wEAAAAAAAEAAAD6/wIAAAABAAEAAAD6/wMAAAABAAAAAAD7/wEAAAABAAEAAAD7/wIAAAAAAAAAAAD7/wMAAAABAAEAAAD4/wQAAAABAAAAAAD4/wUAAAAAAAAAAAD4/wYAAAABAAEAAAD4/wcAAAAAAAEAAAD5/wQAAAAAAAEAAAD5/wUAAAAAAAAAAAD5/wYAAAABAAAAAAD5/wcAAAAAAAEAAAD6/wQAAAAAAAEAAAD6/wUAAAAAAAEAAAD6/wYAAAAAAAAAAAD6/wcAAAAAAAEAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAAAAAD7/wYAAAABAAAAAAD7/wcAAAABAAAAAAD8/wQAAAAAAAEAAAD8/wUAAAABAAAAAAD8/wYAAAABAAEAAAD8/wcAAAABAAEAAAD9/wQAAAABAAAAAAD9/wUAAAABAAEAAAD9/wYAAAAAAAEAAAD9/wcAAAAAAAEAAAD+/wQAAAABAAAAAAD+/wUAAAAAAAEAAAD+/wYAAAABAAEAAAD+/wcAAAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAABAAEAAAABAAYAAAAAAAAAAAABAAcAAAABAAAAAAACAAQAAAAAAAEAAAACAAUAAAAAAAEAAAACAAYAAAABAAEAAAACAAcAAAABAAEAAAADAAQAAAABAAAAAAADAAUAAAAAAAAAAAADAAYAAAAAAAEAAAADAAcAAAAAAAEAAAAEAAEAAAAAAAEAAAAEAAIAAAAAAAAAAAAEAAMAAAABAAAAAAAEAAQAAAABAAAAAAAEAAUAAAABAAEAAAAEAAYAAAABAAEAAAAEAAcAAAABAAEAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAEAAAAFAAMAAAAAAAAAAAAFAAQAAAAAAAAAAAAFAAUAAAABAAAAAAAFAAYAAAABAAAAAAAFAAcAAAAAAAAAAAAGAAEAAAABAAEAAAAGAAIAAAABAAAAAAAGAAMAAAAAAAEAAAAGAAQAAAAAAAEAAAAGAAUAAAAAAAEAAAAGAAYAAAAAAAAAAAAGAAcAAAABAAEAAAAHAAEAAAAAAAAAAAAHAAIAAAABAAEAAAAHAAMAAAABAAAAAAAHAAQAAAAAAAEAAAAHAAUAAAAAAAAAAAAHAAYAAAABAAAAAAAHAAcAAAAAAAAAAAD4//3/AAABAAEAAAD4//7/AAABAAEAAAD5//3/AAAAAAEAAAD5//7/AAAAAAAAAAD6//3/AAAAAAAAAAD6//7/AAABAAAAAAD7//3/AAABAAEAAAD7//7/AAABAAEAAAD4//j/AAAAAAAAAAD4//n/AAABAAAAAAD4//r/AAAAAAEAAAD4//v/AAAAAAEAAAD4//z/AAAAAAAAAAD5//j/AAABAAEAAAD5//n/AAAAAAEAAAD5//r/AAABAAAAAAD5//v/AAAAAAEAAAD5//z/AAABAAAAAAD6//j/AAABAAEAAAD6//n/AAABAAEAAAD6//r/AAABAAAAAAD6//v/AAABAAEAAAD6//z/AAAAAAEAAAD7//j/AAAAAAEAAAD7//n/AAABAAEAAAD7//r/AAABAAEAAAD7//v/AAAAAAEAAAD7//z/AAABAAEAAAD8//j/AAAAAAEAAAD8//n/AAABAAAAAAD8//r/AAABAAAAAAD8//v/AAAAAAEAAAD9//j/AAAAAAEAAAD9//n/AAABAAAAAAD9//r/AAAAAAEAAAD9//v/AAABAAAAAAD+//j/AAAAAAEAAAD+//n/AAAAAAAAAAD+//r/AAABAAEAAAD+//v/AAABAAAAAAABAPj/AAAAAAAAAAABAPn/AAABAAAAAAABAPr/AAABAAEAAAABAPv/AAAAAAEAAAACAPj/AAABAAEAAAACAPn/AAAAAAEAAAACAPr/AAAAAAEAAAACAPv/AAABAAAAAAADAPj/AAAAAAAAAAADAPn/AAABAAAAAAADAPr/AAABAAAAAAADAPv/AAAAAAEAAAAEAPj/AAABAAAAAAAEAPn/AAABAAEAAAAEAPr/AAABAAEAAAAEAPv/AAAAAAEAAAAEAPz/AAABAAAAAAAFAPj/AAABAAAAAAAFAPn/AAABAAEAAAAFAPr/AAAAAAEAAAAFAPv/AAAAAAAAAAAFAPz/AAAAAAEAAAAGAPj/AAAAAAAAAAAGAPn/AAAAAAAAAAAGAPr/AAAAAAEAAAAGAPv/AAAAAAEAAAAGAPz/AAAAAAEAAAAHAPj/AAABAAEAAAAHAPn/AAABAAAAAAAHAPr/AAABAAAAAAAHAPv/AAABAAAAAAAHAPz/AAAAAAAAAAAEAP3/AAAAAAEAAAAEAP7/AAABAAAAAAAFAP3/AAABAAAAAAAFAP7/AAABAAEAAAAGAP3/AAABAAAAAAAGAP7/AAAAAAAAAAAHAP3/AAAAAAAAAAAHAP7/AAAAAAAAAAD4//f/AAACAAEAAAD5//f/AAADAAEAAAD6//f/AAACAAEAAAD7//f/AAACAAEAAAD8//f/AAACAAEAAAD9//f/AAADAAEAAAACAPf/AAADAAEAAAADAPf/AAACAAEAAAAEAPf/AAACAAEAAAD+//f/AAACAAEAAAD///f/AAADAAAAAAAAAPf/AAADAAAAAAABAPf/AAACAAEAAAAFAPf/AAACAAEAAAAGAPf/AAADAAEAAAAHAPf/AAACAAEAAAD3//f/AAADAAMAAAD3//j/AAADAAMAAAD3//n/AAADAAMAAAD3//r/AAADAAMAAAD3//v/AAADAAMAAAD3//z/AAADAAMAAAD3//3/AAABAAUAAAD3//7/AAACAAEAAAD3////AAABAAAAAAD3/wAAAAABAAEAAAAIAPf/AAACAAMAAAAIAPj/AAACAAMAAAAIAPn/AAACAAMAAAAIAPr/AAACAAMAAAAIAPv/AAACAAMAAAAIAPz/AAACAAMAAAAIAP3/AAAAAAUAAAAIAP7/AAAEAAAAAAAIAP//AAADAAAAAAAIAAAAAAACAAAAAAAIAAEAAAAAAAQAAAAIAAIAAAACAAMAAAAIAAMAAAACAAMAAAAIAAQAAAACAAMAAAAIAAUAAAACAAMAAAAIAAYAAAACAAMAAAAIAAcAAAACAAMAAAD4/wgAAAADAAIAAAD5/wgAAAADAAIAAAD6/wgAAAADAAIAAAD7/wgAAAADAAIAAAD8/wgAAAADAAIAAAD9/wgAAAADAAIAAAD+/wgAAAABAAQAAAD//wgAAAABAAAAAAAAAAgAAAABAAAAAAABAAgAAAAAAAQAAAACAAgAAAADAAIAAAADAAgAAAADAAIAAAAEAAgAAAADAAIAAAAFAAgAAAADAAIAAAAGAAgAAAADAAIAAAAHAAgAAAADAAIAAAAIAAgAAAAFAAMAAAD///b/AAACAAAAAAAAAPb/AAACAAAAAAD///D/AAACAAAAAAD///H/AAACAAAAAAD///L/AAADAAAAAAD///P/AAACAAAAAAD///T/AAADAAAAAAD///X/AAADAAAAAAAAAPD/AAADAAAAAAAAAPH/AAACAAAAAAAAAPL/AAACAAAAAAAAAPP/AAADAAAAAAAAAPT/AAADAAAAAAAAAPX/AAADAAAAAAD9/+z/AAADAAAAAAD9/+3/AAABAAEAAAD9/+7/AAABAAAAAAD9/+//AAABAAEAAAD+/+z/AAACAAAAAAD+/+3/AAABAAEAAAD+/+7/AAAAAAAAAAD+/+//AAAAAAAAAAD//+z/AAADAAAAAAD//+3/AAACAAAAAAD//+7/AAACAAAAAAD//+//AAAAAAAAAAAAAOz/AAACAAAAAAAAAO3/AAACAAAAAAAAAO7/AAADAAAAAAAAAO//AAABAAAAAAABAOz/AAADAAAAAAABAO3/AAADAAAAAAABAO7/AAAAAAEAAAABAO//AAAAAAAAAAACAOz/AAADAAAAAAACAO3/AAACAAAAAAACAO7/AAABAAAAAAACAO//AAAAAAEAAAD8/+z/AAABAAEAAAD8/+3/AAAAAAEAAAD8/+7/AAABAAAAAAD8/+//AAABAAEAAAADAOz/AAABAAAAAAADAO3/AAAAAAAAAAADAO7/AAABAAEAAAADAO//AAABAAAAAAD8/+j/AAAAAAAAAAD8/+n/AAABAAAAAAD8/+r/AAADAAAAAAD8/+v/AAAAAAEAAAD9/+j/AAACAAAAAAD9/+n/AAACAAAAAAD9/+r/AAADAAAAAAD9/+v/AAADAAAAAAD+/+j/AAADAAAAAAD+/+n/AAADAAAAAAD+/+r/AAACAAAAAAD+/+v/AAADAAAAAAD//+j/AAACAAAAAAD//+n/AAACAAAAAAD//+r/AAACAAAAAAD//+v/AAACAAAAAAAAAOj/AAABAAEAAAAAAOn/AAAAAAEAAAAAAOr/AAAAAAAAAAAAAOv/AAACAAAAAAABAOj/AAABAAEAAAABAOn/AAABAAEAAAABAOr/AAABAAEAAAABAOv/AAACAAAAAAACAOj/AAABAAAAAAACAOn/AAAAAAEAAAACAOr/AAABAAAAAAACAOv/AAADAAAAAAADAOj/AAABAAAAAAADAOn/AAABAAEAAAADAOr/AAAAAAAAAAADAOv/AAABAAAAAAD3/+j/AAADAAAAAAD3/+n/AAABAAEAAAD3/+r/AAAAAAEAAAD4/+j/AAACAAAAAAD4/+n/AAADAAAAAAD4/+r/AAAAAAAAAAD5/+j/AAAAAAEAAAD5/+n/AAADAAAAAAD5/+r/AAABAAAAAAD6/+j/AAABAAEAAAD6/+n/AAABAAEAAAD6/+r/AAABAAAAAAD7/+j/AAABAAAAAAD7/+n/AAABAAAAAAD7/+r/AAADAAAAAADz/+j/AAAAAAEAAADz/+n/AAAAAAEAAADz/+r/AAABAAAAAAD0/+j/AAABAAAAAAD0/+n/AAADAAAAAAD0/+r/AAABAAAAAAD1/+j/AAABAAAAAAD1/+n/AAADAAAAAAD1/+r/AAACAAAAAAD2/+j/AAABAAEAAAD2/+n/AAACAAAAAAD2/+r/AAAAAAAAAADs/+b/AAAAAAEAAADs/+f/AAACAAAAAADs/+j/AAADAAAAAADs/+n/AAACAAAAAADs/+r/AAADAAAAAADs/+v/AAACAAAAAADs/+z/AAABAAEAAADt/+b/AAAAAAEAAADt/+f/AAADAAAAAADt/+j/AAACAAAAAADt/+n/AAACAAAAAADt/+r/AAACAAAAAADt/+v/AAADAAAAAADt/+z/AAAAAAAAAADu/+b/AAABAAAAAADu/+f/AAADAAAAAADu/+j/AAACAAAAAADu/+n/AAADAAAAAADu/+r/AAACAAAAAADu/+v/AAACAAAAAADu/+z/AAAAAAAAAADv/+b/AAAAAAAAAADv/+f/AAACAAAAAADv/+j/AAACAAAAAADv/+n/AAADAAAAAADv/+r/AAADAAAAAADv/+v/AAADAAAAAADv/+z/AAAAAAEAAADw/+b/AAAAAAAAAADw/+f/AAACAAAAAADw/+j/AAADAAAAAADw/+n/AAACAAAAAADw/+r/AAADAAAAAADw/+v/AAACAAAAAADw/+z/AAAAAAAAAADx/+b/AAABAAEAAADx/+f/AAADAAAAAADx/+j/AAADAAAAAADx/+n/AAADAAAAAADx/+r/AAACAAAAAADx/+v/AAACAAAAAADx/+z/AAABAAAAAADy/+b/AAAAAAEAAADy/+f/AAAAAAEAAADy/+j/AAABAAEAAADy/+n/AAABAAAAAADy/+r/AAABAAEAAADy/+v/AAABAAAAAADy/+z/AAABAAEAAADr/+b/AAABAAEAAADr/+f/AAAAAAAAAADr/+j/AAABAAEAAADr/+n/AAABAAAAAADr/+r/AAABAAEAAADr/+v/AAABAAEAAADr/+z/AAABAAAAAADl/+b/AAAAAAEAAADm/+b/AAAAAAEAAADn/+b/AAABAAEAAADo/+b/AAABAAAAAADp/+b/AAAAAAAAAADq/+b/AAAAAAEAAADj/+n/AAADAAAAAADj/+r/AAABAAEAAADj/+v/AAADAAAAAADj/+z/AAABAAEAAADk/+n/AAAAAAAAAADk/+r/AAABAAEAAADk/+v/AAABAAAAAADk/+z/AAADAAAAAADj/+3/AAAAAAEAAADj/+7/AAAAAAAAAADj/+//AAABAAAAAADj//D/AAACAAAAAADj//H/AAACAAAAAADj//L/AAABAAAAAADj//P/AAAAAAAAAADj//T/AAABAAAAAADj//X/AAABAAAAAADj//b/AAACAAAAAADk/+3/AAACAAAAAADk/+7/AAADAAAAAADk/+//AAAAAAEAAADk//D/AAAAAAAAAADk//H/AAABAAAAAADk//L/AAACAAAAAADk//P/AAACAAAAAADk//T/AAADAAAAAADk//X/AAAAAAAAAADk//b/AAAAAAEAAADj//f/AAAAAAAAAADj//j/AAABAAAAAADj//n/AAAAAAEAAADj//r/AAADAAAAAADj//v/AAADAAAAAADj//z/AAACAAAAAADj//3/AAADAAAAAADj//7/AAAAAAAAAADj////AAAAAAAAAADk//f/AAADAAAAAADk//j/AAABAAAAAADk//n/AAADAAAAAADk//r/AAAAAAEAAADk//v/AAABAAEAAADk//z/AAACAAAAAADk//3/AAACAAAAAADk//7/AAAAAAEAAADk////AAABAAAAAADf//b/AAACAAAAAADf//f/AAACAAAAAADg//b/AAACAAAAAADg//f/AAACAAAAAADh//b/AAADAAAAAADh//f/AAAAAAAAAADi//b/AAACAAAAAADi//f/AAABAAAAAADl//b/AAADAAAAAADl//f/AAAAAAAAAADm//b/AAABAAEAAADm//f/AAAAAAAAAADn//b/AAADAAAAAADn//f/AAADAAAAAADo//b/AAACAAAAAADo//f/AAADAAAAAADd/wAAAAAAAAAAAADd/wEAAAAAAAAAAADd/wIAAAABAAEAAADd/wMAAAABAAAAAADd/wQAAAABAAAAAADe/wAAAAAAAAAAAADe/wEAAAACAAAAAADe/wIAAAADAAAAAADe/wMAAAACAAAAAADe/wQAAAAAAAAAAADf/wAAAAABAAEAAADf/wEAAAADAAAAAADf/wIAAAACAAAAAADf/wMAAAACAAAAAADf/wQAAAAAAAAAAADg/wAAAAABAAAAAADg/wEAAAACAAAAAADg/wIAAAADAAAAAADg/wMAAAADAAAAAADg/wQAAAAAAAAAAADh/wAAAAABAAEAAADh/wEAAAACAAAAAADh/wIAAAADAAAAAADh/wMAAAACAAAAAADh/wQAAAABAAEAAADi/wAAAAAAAAAAAADi/wEAAAABAAEAAADi/wIAAAAAAAEAAADi/wMAAAABAAAAAADi/wQAAAAAAAAAAADj/wAAAAABAAAAAADj/wEAAAADAAAAAADj/wIAAAACAAAAAADj/wMAAAACAAAAAADj/wQAAAAAAAEAAADk/wAAAAABAAAAAADk/wEAAAACAAAAAADk/wIAAAACAAAAAADk/wMAAAADAAAAAADk/wQAAAAAAAAAAADl/wAAAAAAAAAAAADl/wEAAAADAAAAAADl/wIAAAACAAAAAADl/wMAAAADAAAAAADl/wQAAAABAAEAAADm/wAAAAAAAAAAAADm/wEAAAADAAAAAADm/wIAAAACAAAAAADm/wMAAAADAAAAAADm/wQAAAAAAAEAAADn/wAAAAABAAAAAADn/wEAAAACAAAAAADn/wIAAAACAAAAAADn/wMAAAACAAAAAADn/wQAAAAAAAEAAADo/wAAAAABAAEAAADo/wEAAAACAAAAAADo/wIAAAACAAAAAADo/wMAAAADAAAAAADo/wQAAAABAAAAAADp/wAAAAAAAAAAAADp/wEAAAADAAAAAADp/wIAAAACAAAAAADp/wMAAAACAAAAAADp/wQAAAAAAAAAAADq/wAAAAABAAEAAADq/wEAAAAAAAAAAADq/wIAAAABAAAAAADq/wMAAAAAAAEAAADq/wQAAAAAAAEAAADo/wUAAAABAAAAAADo/wYAAAACAAAAAADo/wcAAAABAAEAAADp/wUAAAAAAAAAAADp/wYAAAADAAAAAADp/wcAAAABAAAAAADq/wUAAAABAAAAAADq/wYAAAADAAAAAADq/wcAAAABAAEAAADn/wUAAAABAAAAAADn/wYAAAABAAAAAADn/wcAAAABAAAAAADr/wUAAAACAAAAAADr/wYAAAADAAAAAADr/wcAAAABAAAAAADs/wUAAAACAAAAAADs/wYAAAACAAAAAADs/wcAAAABAAEAAADt/wUAAAADAAAAAADt/wYAAAACAAAAAADt/wcAAAAAAAAAAADu/wUAAAAAAAEAAADu/wYAAAAAAAAAAADu/wcAAAADAAAAAADv/wUAAAABAAAAAADv/wYAAAAAAAEAAADv/wcAAAADAAAAAADw/wAAAAADAAMAAADw/wEAAAADAAMAAADw/wIAAAADAAMAAADw/wMAAAABAAUAAADw/wQAAAADAAEAAADw/wUAAAAAAAEAAADw/wYAAAABAAEAAADx/wAAAAABAAEAAADx/wEAAAACAAAAAADx/wIAAAADAAAAAADx/wMAAAADAAAAAADx/wQAAAACAAAAAADx/wUAAAADAAAAAADx/wYAAAAAAAEAAADy/wAAAAACAAAAAADy/wEAAAACAAAAAADy/wIAAAACAAAAAADy/wMAAAACAAAAAADy/wQAAAADAAAAAADy/wUAAAACAAAAAADy/wYAAAABAAAAAADz/wAAAAACAAAAAADz/wEAAAAAAAQAAADz/wIAAAACAAMAAADz/wMAAAACAAMAAADz/wQAAAAAAAUAAADz/wUAAAAAAAEAAADz/wYAAAABAAEAAADw/wcAAAADAAAAAADx/wcAAAACAAAAAADy/wcAAAACAAAAAADz/wcAAAACAAAAAADw////AAADAAMAAADx////AAAAAAAAAADy////AAAAAAAAAADz////AAAAAAAAAAD0////AAACAAAAAAD0/wAAAAACAAAAAAD1////AAAAAAEAAAD1/wAAAAAAAAEAAAD2////AAABAAAAAAD2/wAAAAABAAEAAADw//7/AAADAAMAAADx//7/AAACAAEAAADy//7/AAACAAEAAADz//7/AAADAAEAAAD0//7/AAACAAEAAAD1//7/AAACAAEAAAD2//7/AAADAAEAAADl////AAACAAEAAADm////AAADAAEAAADn////AAADAAEAAADo////AAACAAEAAADp////AAACAAEAAADq////AAACAAEAAADd////AAADAAEAAADe////AAACAAEAAADf////AAACAAEAAADg////AAADAAEAAADh////AAADAAEAAADi////AAACAAEAAADr/wQAAAACAAEAAADs/wQAAAADAAEAAADt/wQAAAADAAEAAADu/wQAAAACAAEAAADl/+X/AAADAAEAAADm/+X/AAADAAEAAADn/+X/AAAEAAcAAADo/+X/AAAEAAAAAADp/+X/AAAEAAAAAADq/+X/AAAFAAAAAADr/+X/AAADAAYAAADs/+X/AAAEAAcAAADt/+X/AAAEAAAAAADu/+X/AAAFAAAAAADv/+X/AAACAAEAAADw/+X/AAADAAEAAADx/+X/AAADAAEAAADy/+X/AAACAAEAAADz/+f/AAACAAEAAAD0/+f/AAADAAEAAAD1/+f/AAADAAEAAAD2/+f/AAACAAEAAAD3/+f/AAACAAEAAAD4/+f/AAADAAEAAAD5/+f/AAADAAEAAAD6/+f/AAADAAEAAAD7/+f/AAACAAEAAAD8/+f/AAACAAEAAAD9/+f/AAACAAEAAAD+/+f/AAACAAEAAAD//+f/AAACAAEAAAAAAOf/AAACAAEAAAABAOf/AAACAAEAAAACAOf/AAADAAEAAAADAOf/AAACAAEAAAAEAOj/AAACAAMAAAAEAOn/AAACAAMAAAAEAOr/AAACAAMAAAAEAOv/AAACAAMAAAAEAOz/AAACAAMAAAAEAO3/AAACAAMAAAAEAO7/AAACAAMAAAAEAO//AAACAAMAAAD7/+z/AAADAAMAAAD7/+3/AAADAAMAAAD7/+7/AAADAAMAAAD7/+//AAADAAMAAAD7/+v/AAABAAQAAADz/+v/AAAAAAQAAADz/+3/AAAFAAMAAADz/+z/AAACAAMAAAD0/+v/AAADAAIAAAD1/+v/AAADAAIAAAD2/+v/AAADAAIAAAD3/+v/AAADAAIAAAD4/+v/AAADAAIAAAD5/+v/AAADAAIAAAD6/+v/AAADAAIAAAD8//D/AAADAAIAAAD9//D/AAADAAIAAAD+//D/AAABAAQAAAACAPD/AAADAAIAAAADAPD/AAADAAIAAAABAPD/AAAAAAQAAAAEAPD/AAAFAAMAAAD7//D/AAAEAAMAAAD+//H/AAADAAMAAAD+//L/AAADAAMAAAD+//P/AAADAAMAAAD+//T/AAADAAMAAAABAPH/AAACAAMAAAABAPL/AAACAAMAAAABAPP/AAACAAMAAAABAPT/AAACAAMAAADx//3/AAACAAIAAADy//3/AAACAAIAAADz//3/AAACAAIAAAD0//3/AAACAAIAAAD1//3/AAACAAIAAAD2//3/AAACAAIAAADw//3/AAAEAAIAAADl//7/AAAAAAUAAADm//7/AAACAAIAAADn//7/AAACAAIAAADo//7/AAACAAIAAADp//7/AAACAAIAAADq//7/AAACAAIAAADd//7/AAACAAIAAADe//7/AAACAAIAAADf//7/AAACAAIAAADg//7/AAACAAIAAADh//7/AAACAAIAAADi//7/AAABAAUAAADf//X/AAACAAEAAADg//X/AAACAAEAAADh//X/AAACAAEAAADi//X/AAADAAEAAADl//X/AAADAAEAAADm//X/AAADAAEAAADn//X/AAADAAEAAADo//X/AAADAAEAAADf//T/AAACAAIAAADg//T/AAACAAIAAADh//T/AAACAAIAAADi//T/AAABAAUAAADl//T/AAAAAAUAAADm//T/AAACAAIAAADn//T/AAACAAIAAADo//T/AAACAAIAAADl/+T/AAACAAIAAADm/+T/AAACAAIAAADn/+T/AAACAAIAAADo/+T/AAACAAIAAADp/+T/AAACAAIAAADq/+T/AAACAAIAAADr/+T/AAACAAIAAADs/+T/AAACAAIAAADt/+T/AAACAAIAAADu/+T/AAACAAIAAADv/+T/AAACAAIAAADw/+T/AAACAAIAAADx/+T/AAACAAIAAADy/+T/AAACAAIAAADz/+b/AAAAAAUAAAD0/+b/AAACAAIAAAD1/+b/AAACAAIAAAD2/+b/AAACAAIAAAD3/+b/AAACAAIAAAD4/+b/AAACAAIAAAD5/+b/AAACAAIAAAD6/+b/AAACAAIAAAD7/+b/AAACAAIAAAD8/+b/AAACAAIAAAD9/+b/AAACAAIAAAD+/+b/AAACAAIAAAD//+b/AAACAAIAAAAAAOb/AAACAAIAAAABAOb/AAACAAIAAAACAOb/AAACAAIAAAADAOb/AAACAAIAAADz/+X/AAACAAMAAADz/+T/AAAFAAIAAADk/+X/AAABAAUAAADi/+n/AAADAAMAAADi/+r/AAADAAMAAADi/+v/AAADAAMAAADi/+z/AAADAAMAAADi/+3/AAADAAMAAADi/+7/AAADAAMAAADi/+//AAADAAMAAADi//D/AAADAAMAAADi//H/AAADAAMAAADi//L/AAADAAMAAADi//P/AAADAAMAAADl/+7/AAACAAMAAADl/+//AAACAAMAAADl//D/AAACAAMAAADl//H/AAACAAMAAADl//L/AAACAAMAAADl//P/AAACAAMAAADr/+3/AAADAAIAAADs/+3/AAADAAIAAADt/+3/AAADAAIAAADu/+3/AAADAAIAAADv/+3/AAADAAIAAADw/+3/AAADAAIAAADx/+3/AAADAAIAAADy/+3/AAADAAIAAADk/+T/AAAEAAIAAADc/wAAAAADAAMAAADc/wEAAAADAAMAAADc/wIAAAADAAMAAADc/wMAAAADAAMAAADc/wQAAAADAAMAAAD0/wUAAAACAAMAAAD0/wYAAAACAAMAAAD0/wcAAAACAAMAAAD1/wEAAAADAAIAAADn/wgAAAADAAIAAADo/wgAAAADAAIAAADp/wgAAAADAAIAAADq/wgAAAADAAIAAADr/wgAAAADAAIAAADs/wgAAAADAAIAAADt/wgAAAADAAIAAADu/wgAAAADAAIAAADw/wgAAAABAAQAAADx/wgAAAAAAAAAAADy/wgAAAAAAAAAAADz/wgAAAAAAAQAAADd/wUAAAADAAIAAADe/wUAAAADAAIAAADf/wUAAAADAAIAAADg/wUAAAADAAIAAADh/wUAAAADAAIAAADi/wUAAAADAAIAAADj/wUAAAADAAIAAADk/wUAAAADAAIAAADl/wUAAAADAAIAAADm/wUAAAABAAQAAADm/wYAAAADAAMAAADm/wcAAAADAAMAAADr/wAAAAACAAMAAADr/wEAAAACAAMAAADr/wIAAAACAAMAAADr/wMAAAAAAAUAAADr////AAACAAMAAADr//7/AAAFAAIAAADm/wgAAAAEAAMAAADc/wUAAAAEAAMAAADc//7/AAAEAAIAAADc////AAADAAMAAADe//T/AAAEAAIAAADp//T/AAAFAAIAAADp//X/AAACAAMAAADp//b/AAACAAMAAADp//f/AAACAAMAAADe//X/AAADAAMAAADe//b/AAADAAMAAADe//f/AAADAAMAAADe//j/AAAEAAMAAADp//j/AAAFAAMAAADf//j/AAADAAIAAADg//j/AAADAAIAAADh//j/AAADAAIAAADi//j/AAABAAQAAADl//j/AAAAAAQAAADm//j/AAADAAIAAADn//j/AAADAAIAAADo//j/AAADAAIAAADi//n/AAADAAMAAADi//r/AAADAAMAAADi//v/AAADAAMAAADi//z/AAADAAMAAADi//3/AAADAAMAAADl//n/AAACAAMAAADl//r/AAACAAMAAADl//v/AAACAAMAAADl//z/AAACAAMAAADl//3/AAACAAMAAADl/+f/AAABAAAAAADl/+j/AAABAAEAAADl/+n/AAAAAAQAAADm/+f/AAAAAAAAAADm/+j/AAAAAAEAAADm/+n/AAADAAIAAADn/+f/AAABAAAAAADn/+j/AAAAAAAAAADn/+n/AAADAAIAAADo/+f/AAAAAAAAAADo/+j/AAABAAEAAADo/+n/AAADAAIAAADp/+f/AAABAAAAAADp/+j/AAABAAAAAADp/+n/AAADAAIAAADq/+f/AAABAAEAAADq/+j/AAAAAAAAAADq/+n/AAABAAQAAADl/+v/AAACAAMAAADl/+z/AAACAAMAAADl/+3/AAACAAMAAADl/+r/AAACAAMAAADq/+r/AAADAAMAAADq/+v/AAADAAMAAADq/+z/AAADAAMAAADq/+3/AAAEAAMAAADi/+j/AAADAAMAAADj/+f/AAAAAAAAAADj/+j/AAAAAAAAAADk/+f/AAABAAEAAADk/+j/AAAAAAAAAAAEAOb/AAAFAAIAAAAEAOf/AAACAAMAAADj/+X/AAACAAIAAADi/+b/AAADAAMAAADi/+X/AAAEAAIAAADi/+f/AAADAAMAAADj/+b/AAADAAEAAADk/+b/AAADAAEAAAD3//b/AAAEAAIAAAD4//b/AAACAAIAAAD5//b/AAACAAIAAAD6//b/AAACAAIAAAD7//b/AAACAAIAAAD8//b/AAACAAIAAAD9//b/AAACAAIAAAD+//b/AAABAAUAAAABAPb/AAAAAAUAAAACAPb/AAACAAIAAAADAPb/AAACAAIAAAAEAPb/AAACAAIAAAAFAPb/AAACAAIAAAAGAPb/AAACAAIAAAAHAPb/AAACAAIAAAAIAPb/AAAFAAIAAAD+//X/AAADAAMAAAABAPX/AAACAAMAAADu/wMAAAACAAIAAADs/wMAAAACAAIAAADt/wMAAAACAAIAAADw/wkAAAADAAMAAADw/wwAAAAAAAEAAADx/wkAAAABAAAAAADx/woAAAABAAEAAADx/wsAAAAAAAEAAADx/wwAAAAAAAEAAADy/wkAAAAAAAEAAADy/woAAAABAAAAAADy/wsAAAAAAAAAAADy/wwAAAAAAAEAAADz/wkAAAACAAMAAADz/woAAAACAAMAAADz/wsAAAAAAAUAAADz/wwAAAABAAEAAADw/w0AAAAAAAAAAADw/w4AAAAAAAAAAADw/w8AAAAAAAEAAADx/w0AAAABAAAAAADx/w4AAAABAAAAAADx/w8AAAABAAEAAADy/w0AAAAAAAEAAADy/w4AAAAAAAAAAADy/w8AAAABAAAAAADz/w0AAAAAAAAAAADz/w4AAAABAAEAAADz/w8AAAABAAAAAADp/wwAAAAAAAAAAADp/w0AAAABAAEAAADp/w4AAAAAAAEAAADp/w8AAAAAAAEAAADq/wwAAAABAAAAAADq/w0AAAABAAEAAADq/w4AAAAAAAEAAADq/w8AAAAAAAAAAADr/wwAAAAAAAAAAADr/w0AAAAAAAEAAADr/w4AAAABAAEAAADr/w8AAAAAAAEAAADs/wwAAAABAAAAAADs/w0AAAAAAAAAAADs/w4AAAAAAAEAAADs/w8AAAAAAAAAAADt/wwAAAAAAAAAAADt/w0AAAABAAAAAADt/w4AAAABAAAAAADt/w8AAAAAAAAAAADu/wwAAAABAAAAAADu/w0AAAABAAEAAADu/w4AAAABAAEAAADu/w8AAAAAAAAAAADv/wwAAAAAAAAAAADv/w0AAAAAAAAAAADv/w4AAAAAAAEAAADv/w8AAAAAAAEAAADf/wwAAAABAAEAAADf/w0AAAAAAAAAAADf/w4AAAAAAAAAAADf/w8AAAABAAAAAADf/xAAAAABAAAAAADf/xEAAAABAAEAAADf/xIAAAABAAEAAADf/xMAAAAAAAEAAADg/wwAAAAAAAAAAADg/w0AAAAAAAEAAADg/w4AAAABAAEAAADg/w8AAAAAAAEAAADg/xAAAAABAAAAAADg/xEAAAAAAAAAAADg/xIAAAABAAEAAADg/xMAAAABAAAAAADh/wwAAAAAAAAAAADh/w0AAAABAAEAAADh/w4AAAAAAAEAAADh/w8AAAABAAEAAADh/xAAAAAAAAAAAADh/xEAAAAAAAEAAADh/xIAAAABAAEAAADh/xMAAAABAAEAAADi/wwAAAAAAAAAAADi/w0AAAABAAEAAADi/w4AAAABAAAAAADi/w8AAAABAAEAAADi/xAAAAAAAAEAAADi/xEAAAAAAAEAAADi/xIAAAAAAAAAAADi/xMAAAAAAAEAAADj/wwAAAAAAAAAAADj/w0AAAABAAEAAADj/w4AAAAAAAAAAADj/w8AAAABAAEAAADj/xAAAAABAAEAAADj/xEAAAAAAAEAAADj/xIAAAAAAAEAAADj/xMAAAABAAAAAADk/wwAAAAAAAAAAADk/w0AAAAAAAEAAADk/w4AAAAAAAAAAADk/w8AAAABAAEAAADk/xAAAAABAAAAAADk/xEAAAABAAAAAADk/xIAAAAAAAEAAADk/xMAAAAAAAAAAADl/wwAAAABAAAAAADl/w0AAAABAAAAAADl/w4AAAABAAEAAADl/w8AAAAAAAAAAADl/xAAAAAAAAEAAADl/xEAAAAAAAAAAADl/xIAAAAAAAAAAADl/xMAAAABAAAAAADm/wwAAAAAAAAAAADm/w0AAAAAAAEAAADm/w4AAAABAAAAAADm/w8AAAAAAAAAAADm/xAAAAAAAAEAAADm/xEAAAABAAAAAADm/xIAAAABAAAAAADm/xMAAAABAAEAAADn/wwAAAAAAAEAAADn/w0AAAAAAAAAAADn/w4AAAABAAEAAADn/w8AAAABAAEAAADn/xAAAAABAAEAAADn/xEAAAABAAEAAADn/xIAAAABAAEAAADn/xMAAAABAAAAAADo/wwAAAABAAAAAADo/w0AAAABAAAAAADo/w4AAAABAAEAAADo/w8AAAABAAEAAADo/xAAAAABAAAAAADo/xEAAAABAAAAAADo/xIAAAAAAAAAAADo/xMAAAABAAAAAADa/xgAAAABAAEAAADa/xkAAAAAAAEAAADa/xoAAAAAAAAAAADa/xsAAAAAAAEAAADa/xwAAAABAAEAAADb/xgAAAABAAAAAADb/xkAAAAAAAEAAADb/xoAAAAAAAEAAADb/xsAAAABAAEAAADb/xwAAAABAAAAAADc/xgAAAAAAAEAAADc/xkAAAABAAEAAADc/xoAAAAAAAEAAADc/xsAAAABAAAAAADc/xwAAAAAAAAAAADd/xgAAAAAAAEAAADd/xkAAAAAAAEAAADd/xoAAAABAAEAAADd/xsAAAABAAAAAADd/xwAAAABAAAAAADe/xgAAAABAAEAAADe/xkAAAAAAAEAAADe/xoAAAAAAAEAAADe/xsAAAABAAAAAADe/xwAAAAAAAEAAADf/xgAAAABAAEAAADf/xkAAAAAAAEAAADf/xoAAAABAAEAAADf/xsAAAABAAAAAADf/xwAAAABAAAAAADf/x0AAAABAAAAAADf/x4AAAABAAEAAADf/x8AAAAAAAAAAADf/yAAAAABAAEAAADg/xQAAAABAAAAAADg/xUAAAAAAAEAAADg/xYAAAAAAAEAAADg/xcAAAAAAAAAAADg/xgAAAABAAAAAADg/xkAAAAAAAAAAADg/xoAAAABAAEAAADg/xsAAAABAAEAAADg/xwAAAABAAEAAADg/x0AAAAAAAAAAADg/x4AAAAAAAAAAADg/x8AAAAAAAAAAADg/yAAAAAAAAEAAADh/xQAAAAAAAEAAADh/xUAAAABAAEAAADh/xYAAAABAAEAAADh/xcAAAAAAAAAAADh/xgAAAABAAAAAADh/xkAAAABAAEAAADh/xoAAAABAAAAAADh/xsAAAABAAAAAADh/xwAAAAAAAAAAADh/x0AAAABAAEAAADh/x4AAAABAAEAAADh/x8AAAABAAEAAADh/yAAAAAAAAEAAADi/xgAAAAAAAAAAADi/xkAAAABAAEAAADi/xoAAAABAAEAAADi/xsAAAABAAEAAADi/xwAAAAAAAAAAADi/x0AAAAAAAEAAADi/x4AAAAAAAEAAADi/x8AAAABAAAAAADi/yAAAAABAAAAAADj/x0AAAABAAEAAADj/x4AAAAAAAAAAADj/x8AAAAAAAEAAADj/yAAAAAAAAAAAADk/x0AAAAAAAAAAADk/x4AAAAAAAEAAADk/x8AAAAAAAEAAADk/yAAAAABAAEAAADl/x0AAAABAAEAAADl/x4AAAABAAAAAADl/x8AAAABAAEAAADl/yAAAAABAAAAAADm/x0AAAABAAEAAADm/x4AAAAAAAEAAADm/x8AAAAAAAEAAADm/yAAAAAAAAAAAADn/x0AAAAAAAAAAADn/x4AAAAAAAEAAADn/x8AAAABAAEAAADn/yAAAAABAAAAAADo/x0AAAAAAAEAAADo/x4AAAABAAAAAADo/x8AAAAAAAAAAADo/yAAAAABAAAAAADp/x0AAAAAAAAAAADp/x4AAAABAAEAAADp/x8AAAAAAAEAAADp/yAAAAABAAAAAADq/xcAAAAAAAEAAADq/xgAAAAAAAAAAADq/xkAAAAAAAAAAADq/xoAAAABAAAAAADq/xsAAAAAAAAAAADq/xwAAAABAAAAAADq/x0AAAAAAAAAAADq/x4AAAAAAAAAAADq/x8AAAABAAEAAADq/yAAAAABAAEAAADq/yEAAAABAAEAAADq/zEAAAAAAAAAAADq/zIAAAABAAAAAADq/zMAAAABAAAAAADq/zQAAAAAAAEAAADr/xcAAAABAAEAAADr/xgAAAABAAEAAADr/xkAAAAAAAEAAADr/xoAAAABAAEAAADr/xsAAAAAAAEAAADr/xwAAAABAAEAAADr/x0AAAABAAAAAADr/x4AAAAAAAAAAADr/x8AAAABAAAAAADr/yAAAAAAAAAAAADr/yEAAAAAAAAAAADr/zEAAAAAAAAAAADr/zIAAAABAAEAAADr/zMAAAAAAAEAAADr/zQAAAABAAAAAADs/xcAAAABAAEAAADs/xgAAAABAAAAAADs/xkAAAAAAAAAAADs/xoAAAABAAEAAADs/xsAAAABAAEAAADs/xwAAAAAAAAAAADs/x0AAAABAAEAAADs/x4AAAAAAAEAAADs/x8AAAAAAAAAAADs/yAAAAABAAEAAADs/yEAAAABAAEAAADs/zEAAAAAAAEAAADs/zIAAAABAAEAAADs/zMAAAAAAAAAAADs/zQAAAAAAAAAAADt/xcAAAABAAAAAADt/xgAAAAAAAAAAADt/xkAAAAAAAEAAADt/xoAAAAAAAEAAADt/xsAAAAAAAEAAADt/xwAAAABAAAAAADt/x0AAAAAAAAAAADt/x4AAAABAAAAAADt/x8AAAABAAAAAADt/yAAAAABAAAAAADt/yEAAAABAAEAAADt/zEAAAABAAEAAADt/zIAAAABAAAAAADt/zMAAAABAAEAAADt/zQAAAABAAEAAADu/xcAAAAAAAAAAADu/xgAAAABAAEAAADu/xkAAAABAAAAAADu/xoAAAABAAEAAADu/xsAAAABAAEAAADu/xwAAAABAAAAAADu/zMAAAAAAAAAAADu/zQAAAAAAAEAAADv/xcAAAAAAAEAAADv/xgAAAAAAAEAAADv/xkAAAABAAEAAADv/xoAAAAAAAAAAADv/xsAAAABAAEAAADv/xwAAAAAAAEAAADv/zMAAAAAAAAAAADv/zQAAAAAAAEAAADw/xAAAAABAAEAAADw/xEAAAAAAAEAAADw/xIAAAABAAEAAADw/xMAAAAAAAEAAADw/xQAAAAAAAEAAADw/xUAAAAAAAEAAADw/xYAAAABAAAAAADw/xcAAAAAAAAAAADw/xgAAAAAAAAAAADw/xkAAAAAAAEAAADw/xoAAAAAAAAAAADw/xsAAAABAAAAAADw/xwAAAABAAEAAADw/zMAAAAAAAAAAADw/zQAAAAAAAEAAADx/xAAAAAAAAAAAADx/xEAAAAAAAAAAADx/xIAAAAAAAAAAADx/xMAAAABAAAAAADx/xQAAAABAAAAAADx/xUAAAAAAAAAAADx/xYAAAAAAAEAAADx/xcAAAAAAAAAAADx/xgAAAABAAAAAADx/xkAAAABAAAAAADx/xoAAAAAAAAAAADx/xsAAAABAAEAAADx/xwAAAABAAEAAADx/yAAAAABAAAAAADx/yEAAAAAAAEAAADx/yIAAAAAAAEAAADx/yMAAAABAAAAAADx/yQAAAAAAAAAAADx/yUAAAABAAEAAADx/yYAAAABAAEAAADx/ycAAAAAAAAAAADx/ygAAAABAAEAAADx/ykAAAABAAAAAADx/yoAAAAAAAAAAADx/ysAAAAAAAAAAADx/ywAAAAAAAEAAADx/y0AAAABAAEAAADx/zMAAAABAAAAAADx/zQAAAAAAAEAAADy/yAAAAAAAAEAAADy/yEAAAACAAAAAADy/yIAAAACAAAAAADy/yMAAAAAAAEAAADy/yQAAAAAAAAAAADy/yUAAAABAAAAAADy/yYAAAABAAEAAADy/ycAAAAAAAEAAADy/ygAAAAAAAEAAADy/ykAAAABAAEAAADy/yoAAAABAAEAAADy/ysAAAAAAAEAAADy/ywAAAABAAEAAADy/y0AAAAAAAAAAADy/zMAAAAAAAEAAADy/zQAAAABAAAAAADz/yAAAAAAAAEAAADz/yEAAAACAAAAAADz/yIAAAACAAAAAADz/yMAAAABAAAAAADz/yQAAAABAAEAAADz/yUAAAABAAAAAADz/yYAAAABAAEAAADz/ycAAAABAAEAAADz/ygAAAABAAAAAADz/ykAAAAAAAAAAADz/yoAAAABAAAAAADz/ysAAAABAAAAAADz/ywAAAAAAAEAAADz/y0AAAAAAAEAAADz/y4AAAAAAAEAAADz/y8AAAABAAAAAADz/zAAAAABAAEAAADz/zEAAAAAAAAAAADz/zIAAAABAAEAAADz/zMAAAABAAEAAADz/zQAAAABAAEAAAD0/yAAAAABAAAAAAD0/yEAAAADAAAAAAD0/yIAAAACAAAAAAD0/yMAAAABAAAAAAD0/yQAAAAAAAAAAAD0/yUAAAAAAAEAAAD0/yYAAAABAAAAAAD0/ycAAAAAAAEAAAD0/ygAAAABAAEAAAD0/ykAAAAAAAEAAAD0/yoAAAAAAAEAAAD0/ysAAAAAAAEAAAD0/ywAAAAAAAEAAAD0/y0AAAAAAAEAAAD0/y4AAAAAAAEAAAD0/y8AAAAAAAAAAAD0/zAAAAAAAAEAAAD0/zEAAAABAAEAAAD0/zIAAAAAAAAAAAD0/zMAAAAAAAEAAAD0/zQAAAABAAAAAAD1/yAAAAAAAAAAAAD1/yEAAAACAAAAAAD1/yIAAAADAAAAAAD1/yMAAAABAAAAAAD1/yQAAAAAAAAAAAD1/yUAAAAAAAAAAAD1/yYAAAABAAAAAAD1/ycAAAABAAAAAAD1/ygAAAAAAAEAAAD1/ykAAAABAAAAAAD1/yoAAAAAAAAAAAD1/ysAAAABAAEAAAD1/ywAAAABAAAAAAD1/y0AAAABAAEAAAD1/zMAAAAAAAAAAAD1/zQAAAAAAAAAAAD2/yAAAAAAAAAAAAD2/yEAAAADAAAAAAD2/yIAAAACAAAAAAD2/yMAAAABAAAAAAD2/yQAAAAAAAAAAAD2/yUAAAABAAEAAAD2/yYAAAAAAAEAAAD2/ycAAAAAAAAAAAD2/ygAAAAAAAEAAAD2/ykAAAABAAAAAAD2/yoAAAAAAAAAAAD2/ysAAAABAAEAAAD2/ywAAAAAAAEAAAD2/y0AAAABAAAAAAD2/zMAAAAAAAEAAAD2/zQAAAABAAAAAAD3/yAAAAABAAEAAAD3/yEAAAADAAAAAAD3/yIAAAADAAAAAAD3/yMAAAAAAAAAAAD3/zMAAAABAAAAAAD3/zQAAAABAAAAAAD4/yAAAAABAAEAAAD4/yEAAAADAAAAAAD4/yIAAAADAAAAAAD4/yMAAAABAAAAAAD4/zEAAAABAAAAAAD4/zIAAAAAAAAAAAD4/zMAAAABAAEAAAD4/zQAAAABAAAAAAD4/zUAAAABAAAAAAD4/zYAAAAAAAAAAAD5/yAAAAABAAEAAAD5/yEAAAADAAAAAAD5/yIAAAACAAAAAAD5/yMAAAABAAAAAAD5/zEAAAAAAAAAAAD5/zIAAAABAAEAAAD5/zMAAAABAAEAAAD5/zQAAAAAAAAAAAD5/zUAAAAAAAAAAAD5/zYAAAABAAAAAAD6/yAAAAAAAAAAAAD6/yEAAAACAAAAAAD6/yIAAAACAAAAAAD6/yMAAAABAAEAAAD6/zEAAAAAAAEAAAD6/zIAAAABAAEAAAD6/zMAAAAAAAEAAAD6/zQAAAABAAAAAAD6/zUAAAABAAEAAAD6/zYAAAAAAAAAAAD7/yAAAAAAAAAAAAD7/yEAAAABAAEAAAD7/yIAAAABAAEAAAD7/yMAAAAAAAEAAAD7/zEAAAABAAEAAAD7/zIAAAAAAAAAAAD7/zMAAAABAAEAAAD7/zQAAAAAAAAAAAD7/zUAAAABAAEAAAD7/zYAAAAAAAAAAAD8/xwAAAABAAEAAAD8/x0AAAABAAEAAAD8/x4AAAABAAAAAAD8/x8AAAABAAAAAAD8/yAAAAABAAEAAAD8/yEAAAAAAAEAAAD8/yIAAAABAAAAAAD8/yMAAAABAAAAAAD8/yQAAAABAAEAAAD8/yUAAAAAAAAAAAD8/yYAAAAAAAEAAAD8/zEAAAAAAAAAAAD8/zIAAAABAAEAAAD8/zMAAAABAAEAAAD8/zQAAAABAAAAAAD8/zUAAAABAAAAAAD8/zYAAAAAAAEAAAD9/xwAAAABAAAAAAD9/x0AAAADAAAAAAD9/x4AAAADAAAAAAD9/x8AAAADAAAAAAD9/yAAAAACAAAAAAD9/yEAAAADAAAAAAD9/yIAAAADAAAAAAD9/yQAAAACAAAAAAD9/yUAAAACAAAAAAD9/yYAAAADAAAAAAD9/zEAAAAAAAAAAAD9/zIAAAAAAAAAAAD9/zMAAAAAAAEAAAD9/zQAAAABAAAAAAD9/zUAAAABAAEAAAD9/zYAAAABAAEAAAD+/xwAAAABAAAAAAD+/x0AAAACAAAAAAD+/x4AAAACAAAAAAD+/zEAAAAAAAAAAAD+/zIAAAABAAAAAAD+/zMAAAAAAAEAAAD+/zQAAAAAAAEAAAD+/zUAAAAAAAEAAAD+/zYAAAAAAAEAAAD//wkAAAABAAEAAAD//woAAAAAAAAAAAD//wsAAAABAAEAAAD//wwAAAABAAEAAAD//w0AAAABAAEAAAD//w4AAAABAAEAAAD//w8AAAAAAAEAAAD//xAAAAABAAAAAAD//xEAAAABAAAAAAD//xIAAAABAAEAAAD//xwAAAAAAAAAAAD//x0AAAACAAAAAAD//x4AAAADAAAAAAD//x8AAAABAAEAAAD//zEAAAABAAAAAAD//zIAAAAAAAEAAAD//zMAAAAAAAEAAAD//zQAAAABAAAAAAD//zUAAAABAAEAAAD//zYAAAABAAAAAAAAAAkAAAABAAAAAAAAAAoAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAwAAAABAAEAAAAAAA0AAAABAAAAAAAAAA4AAAABAAEAAAAAAA8AAAAAAAEAAAAAABAAAAABAAAAAAAAABEAAAAAAAAAAAAAABIAAAAAAAAAAAAAABwAAAABAAEAAAAAAB0AAAADAAAAAAAAAB4AAAADAAAAAAAAAB8AAAAAAAEAAAAAADEAAAABAAAAAAAAADIAAAAAAAEAAAAAADMAAAABAAAAAAAAADQAAAAAAAAAAAAAADUAAAAAAAEAAAAAADYAAAABAAAAAAABABwAAAABAAEAAAABAB0AAAADAAAAAAABAB4AAAADAAAAAAABAB8AAAAAAAEAAAABADEAAAABAAEAAAABADIAAAAAAAAAAAABADMAAAAAAAEAAAABADQAAAAAAAEAAAABADUAAAABAAAAAAABADYAAAABAAAAAAACABwAAAABAAAAAAACAB0AAAADAAAAAAACAB4AAAADAAAAAAACAB8AAAAAAAEAAAACADEAAAABAAEAAAACADIAAAAAAAEAAAACADMAAAAAAAAAAAACADQAAAAAAAEAAAACADUAAAAAAAAAAAACADYAAAABAAAAAAADABwAAAABAAAAAAADAB0AAAADAAAAAAADAB4AAAACAAAAAAADAB8AAAAAAAEAAAADADMAAAAAAAEAAAADADQAAAAAAAAAAAAEABwAAAAAAAEAAAAEAB0AAAADAAAAAAAEAB4AAAADAAAAAAAEAB8AAAABAAAAAAAEADMAAAABAAAAAAAEADQAAAAAAAAAAAAFABwAAAABAAAAAAAFAB0AAAACAAAAAAAFADMAAAABAAEAAAAFADQAAAABAAEAAAAGABwAAAAAAAEAAAAGAB0AAAACAAAAAAAGADMAAAABAAAAAAAGADQAAAAAAAEAAAAHABwAAAAAAAAAAAAHAB0AAAACAAAAAAAHAB4AAAACAAAAAAAHAB8AAAABAAEAAAAHADMAAAABAAAAAAAHADQAAAAAAAAAAAAIABwAAAAAAAEAAAAIAB0AAAACAAAAAAAIAB4AAAADAAAAAAAIAB8AAAABAAEAAAAIADMAAAABAAAAAAAIADQAAAAAAAEAAAAJABwAAAABAAEAAAAJAB0AAAACAAAAAAAJAB4AAAADAAAAAAAJAB8AAAAAAAEAAAAJADMAAAAAAAEAAAAJADQAAAAAAAAAAAAKABwAAAAAAAEAAAAKAB0AAAADAAAAAAAKAB4AAAADAAAAAAAKAB8AAAAAAAAAAAAKAC8AAAAAAAEAAAAKADAAAAABAAEAAAAKADEAAAABAAAAAAAKADIAAAAAAAAAAAAKADMAAAABAAAAAAAKADQAAAAAAAAAAAALABwAAAAAAAAAAAALAB0AAAACAAAAAAALAB4AAAADAAAAAAALAB8AAAABAAEAAAALAC8AAAAAAAAAAAALADAAAAAAAAEAAAALADEAAAABAAEAAAALADIAAAABAAEAAAALADMAAAABAAAAAAALADQAAAABAAAAAAAMABwAAAABAAEAAAAMAB0AAAACAAAAAAAMAB4AAAACAAAAAAAMAB8AAAABAAEAAAANABwAAAAAAAEAAAANAB4AAAACAAAAAAANAB8AAAAAAAEAAAAOABwAAAAAAAEAAAAOAB8AAAABAAAAAAAPABwAAAABAAEAAAAPAB8AAAAAAAAAAAAQABwAAAABAAEAAAAQAB0AAAADAAAAAAAQAB8AAAACAAAAAAARABwAAAAAAAEAAAARAB0AAAADAAAAAAARAB4AAAADAAAAAAARAB8AAAADAAAAAAASABwAAAAAAAEAAAASAB0AAAABAAEAAAASAB4AAAAAAAAAAAASAB8AAAABAAEAAAD//xMAAAABAAEAAAD//xQAAAAAAAEAAAD//xUAAAABAAEAAAD//xYAAAAAAAEAAAD//xcAAAAAAAEAAAD//xgAAAABAAEAAAD//xkAAAABAAEAAAD//xoAAAABAAEAAAD//xsAAAABAAEAAAAAABMAAAAAAAAAAAAAABQAAAABAAAAAAAAABUAAAAAAAAAAAAAABYAAAABAAEAAAAAABcAAAABAAEAAAAAABgAAAABAAEAAAAAABkAAAAAAAAAAAAAABoAAAABAAAAAAAAABsAAAAAAAEAAAAjACYAAAACAAAAAAAjACcAAAACAAAAAAAjACgAAAACAAAAAAAkACcAAAADAAAAAAAkACgAAAADAAAAAAAjACQAAAACAAAAAAAjACUAAAACAAAAAAAkACQAAAADAAAAAAAjABwAAAADAAAAAAAjAB0AAAADAAAAAAAjAB4AAAACAAAAAAAjAB8AAAADAAAAAAAjACAAAAADAAAAAAAjACEAAAACAAAAAAAjACIAAAADAAAAAAAjACMAAAACAAAAAAAkABwAAAACAAAAAAAkAB0AAAACAAAAAAAkAB4AAAADAAAAAAAkAB8AAAADAAAAAAAkACAAAAACAAAAAAAkACEAAAACAAAAAAAkACIAAAACAAAAAAAkACMAAAADAAAAAAAjABoAAAACAAAAAAAjABsAAAACAAAAAAAkABoAAAADAAAAAAAkABsAAAADAAAAAAACABsAAAAGAAEAAAADABsAAAAFAAEAAAABABsAAAADAAEAAAAEABsAAAAEAAAAAAAFABsAAAAEAAEAAAAGABsAAAAGAAEAAAAHABsAAAAFAAAAAAAIABsAAAAFAAEAAAAJABsAAAAEAAEAAAAKABsAAAAEAAEAAAALABsAAAAEAAEAAAAMABsAAAAGAAEAAAANABsAAAAGAAEAAAAOABsAAAAFAAAAAAAQABsAAAAEAAEAAAARABsAAAAFAAEAAAASABsAAAADAAEAAAADADIAAAADAAEAAAAEADIAAAAEAAAAAAAFADIAAAACAAEAAAAGADIAAAACAAEAAAAHADIAAAAFAAAAAAAIADIAAAABAAAAAAAJADIAAAABAAAAAAD4/zAAAAAEAAAAAAD5/zAAAAAFAAAAAAD6/zAAAAAEAAAAAAD7/zAAAAADAAEAAAD8/zAAAAAFAAAAAAD9/zAAAAADAAEAAAD+/zAAAAADAAEAAAD//zAAAAACAAEAAAAAADAAAAAEAAAAAAABADAAAAAFAAAAAAACADAAAAAFAAAAAAD1/zIAAAAFAAAAAAD2/zIAAAAFAAAAAAD3/zIAAAADAAEAAADu/zIAAAACAAEAAADv/zIAAAACAAEAAADw/zIAAAADAAEAAADx/zIAAAADAAEAAADy/zIAAAACAAEAAADx/x8AAAAEAAAAAADy/x8AAAAFAAEAAADz/x8AAAAEAAEAAAD0/x8AAAAFAAEAAAD1/x8AAAAFAAEAAAD2/x8AAAAFAAAAAAD3/x8AAAAFAAEAAAD4/x8AAAADAAEAAAD5/x8AAAAGAAEAAAD6/x8AAAAEAAAAAAD7/x8AAAADAAEAAAD8/xsAAAACAAEAAAD9/xsAAAADAAEAAAD+/xsAAAACAAEAAADv/zEAAAACAAIAAADw/zEAAAACAAIAAADx/zEAAAACAAIAAAD2/zEAAAACAAIAAAD4/y8AAAACAAIAAAD5/y8AAAACAAIAAAD6/y8AAAACAAIAAAD7/y8AAAACAAIAAAD8/y8AAAACAAIAAAD9/y8AAAACAAIAAAD+/y8AAAACAAIAAAD//y8AAAACAAIAAAAAAC8AAAACAAIAAAABAC8AAAACAAIAAAACAC8AAAACAAIAAAAEADEAAAACAAIAAAAFADEAAAACAAIAAAAGADEAAAACAAIAAAAHADEAAAABAAUAAAAIADEAAAAAAAEAAAAJADEAAAAAAAAAAAADADEAAAAAAAUAAAADADAAAAACAAMAAAADAC8AAAAFAAIAAAD3/y8AAAAEAAIAAAD3/zEAAAABAAUAAAD3/zAAAAADAAMAAAD1/zEAAAAAAAUAAAD1/y8AAAACAAMAAAD1/zAAAAACAAMAAAD1/y4AAAAAAAQAAAD3/y4AAAAFAAMAAAD2/y4AAAADAAIAAAD3/y0AAAACAAMAAAD3/ywAAAACAAMAAAD3/ysAAAACAAMAAAD3/yoAAAACAAMAAAD3/yUAAAACAAMAAAD3/yYAAAACAAMAAAD3/ycAAAACAAMAAAD3/ygAAAACAAMAAAD3/ykAAAACAAMAAADu/x4AAAACAAMAAADu/x8AAAACAAMAAADu/yAAAAACAAMAAADu/yEAAAACAAMAAADy/xEAAAACAAMAAADy/xIAAAACAAMAAADy/xMAAAACAAMAAADy/xQAAAACAAMAAADy/xUAAAACAAMAAADy/xYAAAACAAMAAADy/xcAAAACAAMAAADy/xgAAAACAAMAAADy/xkAAAACAAMAAADy/xoAAAACAAMAAADy/xsAAAACAAMAAADy/xwAAAACAAMAAAD0/wwAAAACAAMAAAD0/w0AAAACAAMAAAD0/w4AAAACAAMAAAD0/w8AAAACAAMAAADp/xEAAAACAAMAAADp/xIAAAACAAMAAADp/xMAAAACAAMAAADi/xUAAAACAAMAAADi/xYAAAAAAAUAAADj/xgAAAACAAMAAADj/xkAAAACAAMAAADj/xoAAAACAAMAAADj/xsAAAAAAAUAAADi/xcAAAADAAEAAADf/xcAAAADAAEAAADe/xcAAAACAAEAAADd/xcAAAADAAEAAADc/xcAAAACAAEAAADb/xcAAAACAAEAAADa/xcAAAACAAEAAADq/xYAAAACAAEAAADr/xYAAAAFAAEAAADs/xYAAAAGAAEAAADt/xYAAAAFAAAAAADu/xYAAAACAAEAAADv/xYAAAADAAEAAADj/xwAAAADAAEAAADk/xwAAAACAAEAAADl/xwAAAACAAEAAADm/xwAAAADAAEAAADn/xwAAAACAAEAAADo/xwAAAACAAEAAADp/xwAAAACAAEAAADj/xcAAAACAAMAAAAMAC8AAAACAAMAAAAMADAAAAACAAMAAAAMADEAAAACAAMAAAAMADIAAAACAAMAAAAMADMAAAACAAMAAAAMADQAAAACAAMAAAAlACUAAAAAAAQAAAAlACYAAAACAAMAAAAlACcAAAACAAMAAAAlACgAAAACAAMAAAAiACUAAAABAAQAAAAiACYAAAADAAMAAAAiACcAAAADAAMAAAAiACgAAAABAAUAAAD7/xsAAAADAAMAAAD7/xwAAAADAAMAAAD7/x0AAAADAAMAAADw/x8AAAADAAMAAADw/yAAAAADAAMAAADw/yEAAAADAAMAAADw/yIAAAADAAMAAADw/yMAAAADAAMAAADw/yQAAAADAAMAAADw/yUAAAADAAMAAADw/yYAAAADAAMAAADw/ycAAAADAAMAAADw/ygAAAADAAMAAADw/ykAAAADAAMAAADw/yoAAAADAAMAAADw/ysAAAADAAMAAADw/ywAAAADAAMAAADw/y0AAAADAAMAAADy/y8AAAADAAMAAADy/zAAAAADAAMAAADp/zEAAAADAAMAAADp/zIAAAADAAMAAADp/zMAAAADAAMAAADp/zQAAAADAAMAAADe/x4AAAADAAMAAADe/x8AAAADAAMAAADe/yAAAAADAAMAAADZ/xcAAAADAAMAAADZ/xgAAAADAAMAAADZ/xkAAAADAAMAAADZ/xoAAAADAAMAAADZ/xsAAAADAAMAAADZ/xwAAAADAAMAAADa/x0AAAADAAIAAADb/x0AAAADAAIAAADc/x0AAAADAAIAAADd/x0AAAADAAIAAADf/yEAAAADAAIAAADg/yEAAAADAAIAAADh/yEAAAADAAIAAADi/yEAAAADAAIAAADj/yEAAAADAAIAAADk/yEAAAADAAIAAADl/yEAAAADAAIAAADm/yEAAAADAAIAAADn/yEAAAADAAIAAADo/yEAAAADAAIAAADv/x0AAAADAAIAAADw/x0AAAADAAIAAADx/x0AAAADAAIAAADq/xAAAAADAAIAAADr/xAAAAADAAIAAADs/xAAAAADAAIAAADt/xAAAAADAAIAAADu/xAAAAADAAIAAADe/wwAAAADAAMAAADe/w0AAAADAAMAAADe/w4AAAADAAMAAADe/w8AAAADAAMAAADe/xAAAAADAAMAAADe/xEAAAADAAMAAADe/xIAAAADAAMAAADe/xMAAAADAAMAAADf/xUAAAADAAMAAAD+/woAAAADAAMAAAD+/wsAAAADAAMAAAD+/wwAAAADAAMAAAD+/w0AAAADAAMAAAD+/w4AAAADAAMAAAD+/w8AAAADAAMAAAD+/xAAAAADAAMAAAD+/xEAAAADAAMAAAD+/xIAAAADAAMAAAD+/xMAAAADAAMAAAD+/xQAAAADAAMAAAD+/xUAAAADAAMAAAD+/xYAAAADAAMAAAD+/xcAAAADAAMAAAD+/xgAAAADAAMAAAD+/xkAAAADAAMAAAABABAAAAACAAMAAAABABEAAAACAAMAAAABABIAAAACAAMAAAABABMAAAAAAAUAAAABAAoAAAACAAMAAAABAAsAAAACAAMAAAABAAwAAAACAAMAAAABAA0AAAACAAMAAAABAA4AAAACAAMAAAABAA8AAAACAAMAAAABAAkAAAACAAMAAAD+/wkAAAADAAMAAADz/xAAAAADAAIAAADj/xQAAAADAAIAAADk/xQAAAADAAIAAADl/xQAAAADAAIAAADm/xQAAAADAAIAAADn/xQAAAADAAIAAADo/xQAAAADAAIAAAD4/yQAAAADAAIAAAD5/yQAAAADAAIAAAD6/yQAAAADAAIAAAAJAC8AAAABAAEAAAAJADAAAAABAAAAAADq/zUAAAADAAIAAADr/zUAAAADAAIAAADs/zUAAAADAAIAAADt/zUAAAADAAIAAADu/zUAAAADAAIAAADv/zUAAAADAAIAAADw/zUAAAADAAIAAADx/zUAAAADAAIAAADy/zUAAAADAAIAAADz/zUAAAADAAIAAAD0/zUAAAADAAIAAAD1/zUAAAADAAIAAAD2/zUAAAADAAIAAAD4/zcAAAADAAIAAAD5/zcAAAADAAIAAAD6/zcAAAADAAIAAAD7/zcAAAADAAIAAAD8/zcAAAADAAIAAAD9/zcAAAADAAIAAAD+/zcAAAADAAIAAAD//zcAAAADAAIAAAAAADcAAAADAAIAAAABADcAAAADAAIAAAACADcAAAADAAIAAAAEADUAAAADAAIAAAAFADUAAAADAAIAAAAGADUAAAADAAIAAAAHADUAAAADAAIAAAAIADUAAAADAAIAAAAJADUAAAADAAIAAAAKADUAAAADAAIAAAALADUAAAADAAIAAAD7/yUAAAADAAMAAAD7/yQAAAABAAQAAAD7/yYAAAADAAMAAAADADUAAAAAAAQAAAADADYAAAACAAMAAAD3/zcAAAAEAAMAAAD3/zYAAAADAAMAAAADADcAAAAFAAMAAAD3/zUAAAABAAQAAADp/zUAAAAEAAMAAADu/zEAAAAAAAUAAADy/zEAAAABAAUAAADp/yEAAAABAAQAAADe/yEAAAAEAAMAAADe/x0AAAABAAQAAADZ/x0AAAAEAAMAAADu/x0AAAAAAAQAAADy/x0AAAAFAAMAAAD7/x4AAAABAAUAAAD6/x4AAAACAAIAAAD5/x4AAAACAAIAAAD3/x4AAAACAAIAAAD4/x4AAAACAAIAAAD2/x4AAAACAAIAAADx/x4AAAACAAIAAADy/x4AAAACAAIAAADz/x4AAAACAAIAAAD0/x4AAAACAAIAAAD1/x4AAAACAAIAAAABABUAAAABAAAAAAABABYAAAABAAAAAAABABcAAAAAAAQAAAABABgAAAACAAMAAAABABkAAAACAAMAAAACABUAAAAAAAEAAAACABYAAAAAAAAAAAACABcAAAABAAQAAAACABgAAAADAAMAAAACABkAAAAEAAMAAAADABUAAAABAAEAAAADABYAAAABAAEAAAADABcAAAAAAAAAAAADABgAAAABAAAAAAADABkAAAADAAIAAAAEABUAAAABAAAAAAAEABYAAAAAAAEAAAAEABcAAAAAAAEAAAAEABgAAAABAAAAAAAEABkAAAADAAIAAAAFABUAAAAAAAEAAAAFABYAAAABAAAAAAAFABcAAAABAAAAAAAFABgAAAABAAEAAAAFABkAAAADAAIAAAAGABUAAAABAAAAAAAGABYAAAAAAAEAAAAGABcAAAAAAAEAAAAGABgAAAAAAAAAAAAGABkAAAADAAIAAAAHABUAAAAAAAAAAAAHABYAAAABAAEAAAAHABcAAAAAAAQAAAAHABgAAAACAAMAAAAHABkAAAAFAAMAAAAIABUAAAABAAAAAAAIABYAAAABAAEAAAAIABcAAAADAAIAAAAJABUAAAACAAMAAAAJABYAAAACAAMAAAAJABcAAAAFAAMAAAABABQAAAAEAAEAAAACABQAAAAFAAEAAAADABQAAAAEAAEAAAAEABQAAAAGAAEAAAAFABQAAAAFAAEAAAAGABQAAAAFAAEAAAAHABQAAAAGAAEAAAAIABQAAAAEAAEAAAAJABQAAAACAAMAAAACABMAAAACAAIAAAADABMAAAACAAIAAAAEABMAAAACAAIAAAAFABMAAAACAAIAAAAGABMAAAACAAIAAAAHABMAAAACAAIAAAAIABMAAAACAAIAAAAJABMAAAAFAAIAAADw/x4AAAAEAAIAAADy/y4AAAABAAQAAADx/y4AAAADAAIAAADw/y4AAAAEAAMAAAD8/xoAAAACAAIAAAD9/xoAAAACAAIAAAD+/xoAAAABAAUAAAD7/xoAAAAEAAIAAAADABoAAAACAAIAAAACABoAAAACAAIAAAABABoAAAAAAAUAAAAEABoAAAACAAIAAAAFABoAAAACAAIAAAAGABoAAAACAAIAAAAHABoAAAACAAIAAAAIABoAAAACAAIAAAAJABoAAAACAAIAAAAKABoAAAACAAIAAAALABoAAAACAAIAAAAMABoAAAACAAIAAAANABoAAAACAAIAAAAOABoAAAACAAIAAAAPABoAAAACAAIAAAAQABoAAAACAAIAAAARABoAAAACAAIAAAASABoAAAACAAIAAAAMADUAAAAFAAMAAADa/xYAAAACAAIAAADb/xYAAAACAAIAAADc/xYAAAACAAIAAADd/xYAAAACAAIAAADe/xYAAAACAAIAAADf/xYAAAABAAUAAADj/xYAAAAFAAIAAADZ/xYAAAAEAAIAAADo/xsAAAACAAIAAADn/xsAAAACAAIAAADm/xsAAAACAAIAAADl/xsAAAACAAIAAADk/xsAAAACAAIAAADp/xsAAAABAAUAAADp/xgAAAADAAMAAADp/xcAAAADAAMAAADp/xkAAAADAAMAAADp/xoAAAADAAMAAADv/xUAAAABAAUAAADv/xQAAAADAAMAAADv/xEAAAADAAMAAADv/xAAAAABAAQAAADv/xIAAAADAAMAAADv/xMAAAADAAMAAADy/xAAAAAAAAQAAAD0/xAAAAAFAAMAAADf/xQAAAABAAQAAADe/xQAAAAEAAMAAADi/xQAAAAAAAQAAADp/xAAAAAAAAQAAADp/xQAAAAFAAMAAADp/xYAAAADAAMAAADq/xUAAAACAAIAAADr/xUAAAACAAIAAADs/xUAAAACAAIAAADt/xUAAAACAAIAAADu/xUAAAACAAIAAADp/xUAAAAEAAIAAAD3/yQAAAAAAAQAAAANAAAAAAABAAEAAAANAP//AAAAAAEAAAAMAAAAAAABAAAAAAAMAP//AAABAAEAAAALAAAAAAAAAAAAAAALAP//AAAAAAAAAAAKAAAAAAABAAEAAAAKAP//AAAAAAAAAAAJAAAAAAAAAAAAAAAJAP//AAABAAEAAAAKAAEAAAADAAIAAAAJAAEAAAADAAIAAAALAAEAAAADAAIAAAAMAAEAAAADAAIAAAANAAEAAAADAAIAAAAOAP//AAABAAEAAAAOAAAAAAABAAEAAAAOAP7/AAABAAAAAAAOAAEAAAADAAIAAAARAAAAAAABAAAAAAARAP//AAAAAAAAAAARAP7/AAABAAEAAAARAP3/AAABAAAAAAARAPz/AAAAAAAAAAAQAAAAAAAAAAAAAAAQAP//AAABAAAAAAAQAP7/AAAAAAEAAAAQAP3/AAABAAAAAAAQAPz/AAABAAEAAAAPAAAAAAAAAAEAAAAPAP//AAABAAAAAAAPAP7/AAAAAAEAAAAPAP3/AAABAAAAAAAPAPz/AAAAAAAAAAAOAP3/AAABAAAAAAAOAPz/AAAAAAAAAAANAP3/AAABAAUAAAANAPz/AAADAAMAAAANAP7/AAADAAEAAAAPAAEAAAADAAIAAAAQAAEAAAADAAIAAAARAAEAAAADAAIAAAASAPz/AAACAAMAAAASAP3/AAACAAMAAAASAPv/AAACAAMAAAASAP7/AAACAAMAAAASAP//AAACAAMAAAASAAAAAAACAAMAAAASAAEAAAAFAAMAAAARAPv/AAAAAAEAAAARAPr/AAAAAAEAAAARAPn/AAABAAEAAAAQAPv/AAAAAAEAAAAQAPr/AAABAAAAAAAQAPn/AAABAAEAAAAPAPv/AAAAAAEAAAAPAPr/AAAAAAAAAAAPAPn/AAABAAAAAAAOAPv/AAABAAAAAAAOAPr/AAABAAAAAAAOAPn/AAAAAAEAAAANAPr/AAADAAMAAAANAPn/AAADAAMAAAANAPv/AAADAAMAAAASAPn/AAACAAMAAAASAPr/AAACAAMAAAASAPj/AAACAAMAAAARAPj/AAADAAEAAAAQAPj/AAACAAEAAAAPAPj/AAADAAEAAAAOAPj/AAACAAEAAAANAPj/AAADAAMAAAAOAPf/AAACAAIAAAAPAPf/AAACAAIAAAAQAPf/AAACAAIAAAARAPf/AAACAAIAAAASAPf/AAAFAAIAAAAMAP7/AAADAAEAAAALAP7/AAADAAEAAAAKAP7/AAACAAEAAAAJAP7/AAADAAEAAAAJAP3/AAACAAIAAAAKAP3/AAACAAIAAAALAP3/AAACAAIAAAAMAP3/AAACAAIAAAANAPf/AAAEAAIAAADp/yIAAAADAAMAAADp/yMAAAADAAMAAADp/yQAAAADAAMAAADp/yUAAAADAAMAAADp/yYAAAADAAMAAADp/ycAAAADAAMAAADp/ygAAAADAAMAAADp/ykAAAADAAMAAADp/yoAAAADAAMAAADp/ysAAAADAAMAAADp/ywAAAADAAMAAADp/y0AAAADAAMAAADp/y4AAAADAAMAAADp/y8AAAADAAMAAADp/zAAAAADAAMAAADq/yIAAAABAAAAAADq/yMAAAABAAAAAADq/yQAAAAAAAAAAADq/yUAAAABAAEAAADq/yYAAAABAAEAAADq/ycAAAABAAEAAADq/ygAAAABAAEAAADq/ykAAAABAAEAAADq/yoAAAAAAAEAAADq/ysAAAABAAAAAADq/ywAAAABAAEAAADq/y0AAAAAAAEAAADq/y4AAAAAAAAAAADq/y8AAAABAAEAAADq/zAAAAAAAAEAAADr/yIAAAAAAAAAAADr/yMAAAABAAAAAADr/yQAAAAAAAEAAADr/yUAAAABAAEAAADr/yYAAAABAAAAAADr/ycAAAABAAEAAADr/ygAAAAAAAEAAADr/ykAAAAAAAAAAADr/yoAAAAAAAAAAADr/ysAAAABAAEAAADr/ywAAAABAAEAAADr/y0AAAABAAAAAADr/y4AAAAAAAEAAADr/y8AAAABAAEAAADr/zAAAAABAAEAAADs/yIAAAABAAAAAADs/yMAAAAAAAEAAADs/yQAAAABAAEAAADs/yUAAAAAAAEAAADs/yYAAAAAAAEAAADs/ycAAAABAAAAAADs/ygAAAABAAAAAADs/ykAAAAAAAEAAADs/yoAAAAAAAAAAADs/ysAAAAAAAEAAADs/ywAAAABAAAAAADs/y0AAAABAAEAAADs/y4AAAAAAAEAAADs/y8AAAABAAAAAADs/zAAAAAAAAAAAADt/yIAAAAAAAAAAADt/yMAAAAAAAAAAADt/yQAAAABAAAAAADt/yUAAAABAAEAAADt/yYAAAABAAEAAADt/ycAAAABAAAAAADt/ygAAAAAAAAAAADt/ykAAAAAAAAAAADt/yoAAAAAAAEAAADt/ysAAAABAAEAAADt/ywAAAABAAAAAADt/y0AAAABAAEAAADt/y4AAAAAAAEAAADt/y8AAAABAAAAAADt/zAAAAABAAAAAADu/yIAAAACAAMAAADu/yMAAAACAAMAAADu/yQAAAACAAMAAADu/yUAAAACAAMAAADu/yYAAAACAAMAAADu/ycAAAACAAMAAADu/ygAAAACAAMAAADu/ykAAAACAAMAAADu/yoAAAACAAMAAADu/ysAAAACAAMAAADu/ywAAAACAAMAAADu/y0AAAACAAMAAADu/y4AAAACAAMAAADu/y8AAAACAAMAAADu/zAAAAACAAMAAAD+/yAAAAADAAAAAAD+/yEAAAACAAAAAAD+/yIAAAACAAAAAAD+/yUAAAACAAAAAAD+/yYAAAADAAAAAAD//yAAAAAAAAEAAAD//yEAAAAAAAEAAAD//yIAAAADAAAAAAD//yMAAAADAAAAAAD//yQAAAADAAAAAAD//yUAAAAAAAAAAAD//yYAAAAAAAEAAAAAACAAAAAAAAEAAAAAACEAAAABAAAAAAAAACIAAAADAAAAAAAAACMAAAACAAAAAAAAACQAAAADAAAAAAAAACUAAAAAAAAAAAAAACYAAAABAAAAAAABACAAAAAAAAEAAAABACEAAAABAAEAAAABACIAAAACAAAAAAABACMAAAACAAAAAAABACQAAAADAAAAAAABACUAAAABAAAAAAABACYAAAAAAAEAAAACACAAAAABAAAAAAACACEAAAABAAAAAAACACIAAAACAAAAAAACACMAAAADAAAAAAACACQAAAACAAAAAAACACUAAAAAAAEAAAACACYAAAABAAEAAAADACAAAAAAAAAAAAADACEAAAAAAAEAAAADACIAAAACAAAAAAADACMAAAADAAAAAAADACQAAAACAAAAAAADACUAAAABAAAAAAADACYAAAAAAAAAAAAEACAAAAAAAAAAAAAEACEAAAAAAAAAAAAEACIAAAADAAAAAAAEACMAAAACAAAAAAAEACQAAAACAAAAAAAEACUAAAAAAAAAAAAEACYAAAAAAAAAAAAFACAAAAAAAAAAAAAFACEAAAAAAAAAAAAFACIAAAADAAAAAAAFACMAAAADAAAAAAAFACQAAAACAAAAAAAFACUAAAABAAEAAAAFACYAAAABAAAAAAAGACAAAAAAAAEAAAAGACEAAAABAAEAAAAGACMAAAADAAAAAAAGACQAAAACAAAAAAAGACUAAAAAAAEAAAAGACYAAAABAAAAAAAHACAAAAABAAAAAAAHACEAAAABAAAAAAAHACIAAAACAAAAAAAHACMAAAADAAAAAAAHACQAAAADAAAAAAAHACUAAAABAAAAAAAHACYAAAABAAEAAAAIACAAAAABAAEAAAAIACEAAAABAAAAAAAIACMAAAADAAAAAAAIACQAAAADAAAAAAAIACUAAAABAAEAAAAIACYAAAAAAAEAAAAJACAAAAABAAAAAAAJACEAAAAAAAAAAAAJACIAAAADAAAAAAAJACMAAAACAAAAAAAJACQAAAADAAAAAAAJACUAAAAAAAEAAAAJACYAAAABAAEAAAAKACAAAAAAAAAAAAAKACEAAAABAAEAAAAKACIAAAADAAAAAAAKACMAAAACAAAAAAAKACQAAAACAAAAAAAKACUAAAABAAEAAAAKACYAAAABAAAAAAALACAAAAABAAAAAAALACEAAAAAAAAAAAALACIAAAACAAAAAAALACMAAAADAAAAAAALACQAAAACAAAAAAALACUAAAABAAEAAAALACYAAAABAAAAAAAMACAAAAAAAAEAAAAMACEAAAAAAAEAAAAMACIAAAACAAAAAAAMACMAAAADAAAAAAAMACQAAAADAAAAAAAMACUAAAAAAAAAAAAMACYAAAABAAAAAAANACAAAAAAAAAAAAANACEAAAABAAEAAAANACIAAAAAAAEAAAANACMAAAABAAAAAAANACQAAAABAAAAAAANACUAAAABAAEAAAANACYAAAAAAAAAAAAOACAAAAABAAAAAAAOACEAAAAAAAAAAAAOACIAAAAAAAEAAAAOACMAAAAAAAAAAAAOACQAAAABAAEAAAAOACUAAAABAAEAAAAOACYAAAAAAAAAAAAPACAAAAAAAAAAAAAPACEAAAAAAAAAAAAPACIAAAABAAEAAAAPACMAAAAAAAAAAAAPACQAAAABAAAAAAAPACUAAAAAAAAAAAAPACYAAAAAAAAAAAAQACAAAAACAAAAAAAQACEAAAACAAAAAAAQACIAAAADAAAAAAAQACMAAAACAAAAAAAQACQAAAADAAAAAAAQACUAAAADAAAAAAAQACYAAAADAAAAAAARACAAAAACAAAAAAARACEAAAADAAAAAAARACIAAAADAAAAAAARACMAAAADAAAAAAARACQAAAACAAAAAAARACUAAAACAAAAAAARACYAAAADAAAAAAASACAAAAAAAAEAAAASACEAAAABAAAAAAASACIAAAAAAAAAAAASACMAAAABAAEAAAASACQAAAAAAAEAAAASACYAAAAAAAAAAAAIAC8AAAABAAEAAAAIADAAAAABAAEAAAAHADAAAAADAAMAAAAHAC8AAAADAAMAAAATABoAAAAFAAIAAAATABsAAAACAAMAAAATABwAAAACAAMAAAATAB0AAAACAAMAAAATAB4AAAACAAMAAAATAB8AAAACAAMAAAATACAAAAACAAMAAAATACEAAAACAAMAAAATACIAAAACAAMAAAATACMAAAACAAMAAAATACQAAAACAAMAAAATACUAAAACAAMAAAD7/ycAAAADAAMAAAD7/ygAAAADAAMAAAD7/ykAAAADAAMAAAD7/yoAAAADAAMAAAD7/ysAAAAEAAMAAAD8/ycAAAABAAAAAAD8/ygAAAAAAAAAAAD8/ykAAAAAAAAAAAD8/yoAAAAAAAEAAAD8/ysAAAADAAIAAAD9/ycAAAADAAAAAAD9/ygAAAACAAAAAAD9/ykAAAACAAAAAAD9/yoAAAABAAEAAAD9/ysAAAADAAIAAAD+/ycAAAACAAAAAAD+/ygAAAACAAAAAAD+/ykAAAADAAAAAAD+/yoAAAABAAAAAAD+/ysAAAADAAIAAAD//ycAAAAAAAAAAAD//ygAAAADAAAAAAD//ykAAAADAAAAAAD//yoAAAABAAAAAAD//ysAAAADAAIAAAAAACcAAAABAAAAAAAAACgAAAADAAAAAAAAACkAAAADAAAAAAAAACoAAAAAAAEAAAAAACsAAAADAAIAAAABACcAAAABAAEAAAABACgAAAACAAAAAAABACkAAAACAAAAAAABACoAAAAAAAAAAAABACsAAAADAAIAAAACACcAAAAAAAAAAAACACgAAAADAAAAAAACACkAAAADAAAAAAACACoAAAAAAAAAAAACACsAAAADAAIAAAADACcAAAAAAAEAAAADACgAAAADAAAAAAADACkAAAACAAAAAAADACoAAAAAAAEAAAADACsAAAADAAIAAAAEACcAAAAAAAEAAAAEACgAAAADAAAAAAAEACkAAAADAAAAAAAEACoAAAABAAAAAAAEACsAAAADAAIAAAAFACgAAAADAAAAAAAFACkAAAADAAAAAAAFACoAAAAAAAAAAAAFACsAAAADAAIAAAAGACcAAAABAAEAAAAGACgAAAADAAAAAAAGACkAAAACAAAAAAAGACoAAAABAAEAAAAGACsAAAADAAIAAAAHACcAAAABAAEAAAAHACgAAAADAAAAAAAHACkAAAACAAAAAAAHACoAAAABAAAAAAAHACsAAAABAAQAAAAIACcAAAAAAAEAAAAIACgAAAACAAAAAAAIACkAAAADAAAAAAAIACoAAAAAAAEAAAAIACsAAAAAAAAAAAAJACcAAAAAAAAAAAAJACgAAAADAAAAAAAJACkAAAACAAAAAAAJACoAAAABAAEAAAAJACsAAAAAAAEAAAAKACcAAAAAAAEAAAAKACgAAAADAAAAAAAKACkAAAACAAAAAAAKACoAAAABAAAAAAAKACsAAAABAAAAAAALACcAAAABAAAAAAALACgAAAACAAAAAAALACkAAAADAAAAAAALACoAAAABAAEAAAALACsAAAAAAAEAAAAMACcAAAABAAAAAAAMACgAAAACAAAAAAAMACkAAAADAAAAAAAMACoAAAAAAAAAAAAMACsAAAAAAAQAAAANACoAAAABAAEAAAANACsAAAADAAIAAAAOACoAAAABAAAAAAAOACsAAAADAAIAAAAPACoAAAAAAAEAAAAPACsAAAADAAIAAAAQACcAAAADAAAAAAAQACgAAAACAAAAAAAQACkAAAADAAAAAAAQACoAAAABAAEAAAAQACsAAAADAAIAAAARACcAAAACAAAAAAARACgAAAADAAAAAAARACkAAAADAAAAAAARACoAAAAAAAAAAAARACsAAAABAAQAAAASACcAAAAAAAAAAAASACgAAAABAAAAAAASACkAAAAAAAEAAAASACoAAAAAAAAAAAASACsAAAAAAAAAAAATACgAAAAAAAUAAAATACkAAAADAAEAAAATACoAAAAAAAAAAAATACsAAAAAAAAAAAAUACsAAAAAAAAAAAAVACsAAAAAAAEAAAAXACsAAAABAAEAAAAZACsAAAAAAAEAAAAUACkAAAACAAEAAAAUACoAAAAAAAEAAAAVACkAAAACAAEAAAAWACkAAAACAAEAAAAXACkAAAACAAEAAAAXACoAAAAAAAAAAAAYACkAAAACAAEAAAAZACkAAAAGAAEAAAAZACoAAAABAAAAAAAaACkAAAAFAAEAAAAaACoAAAABAAAAAAAbACkAAAAFAAAAAAAbACoAAAAAAAEAAAAcACkAAAAFAAAAAAAdACkAAAAGAAEAAAAdACoAAAAAAAAAAAAUACwAAAAAAAEAAAAVACwAAAAAAAEAAAAYACwAAAABAAEAAAAZACwAAAAAAAQAAAAaACwAAAADAAIAAAAbACwAAAADAAIAAAAcACwAAAADAAIAAAAdACsAAAAAAAEAAAAdACwAAAADAAIAAAAeACgAAAACAAIAAAAeACwAAAADAAIAAAAfACgAAAACAAIAAAAfACwAAAADAAIAAAAgACgAAAACAAIAAAAgACwAAAADAAIAAAAhACgAAAACAAIAAAAhACwAAAADAAIAAAAiACwAAAADAAIAAAAjACwAAAADAAIAAAAkACwAAAADAAIAAAAlACwAAAAFAAMAAAAeACkAAAACAAEAAAAfACkAAAADAAEAAAAgACkAAAADAAEAAAAhACkAAAADAAEAAAAiACkAAAACAAEAAAAeACsAAAABAAEAAAAfACsAAAABAAEAAAAgACoAAAABAAAAAAAgACsAAAAAAAAAAAAhACsAAAAAAAAAAAAiACsAAAABAAEAAAAjACsAAAABAAEAAAAlACsAAAACAAMAAAAlACoAAAACAAMAAAAkACoAAAABAAEAAAAjACoAAAAAAAAAAAAjACkAAAADAAAAAAAlACkAAAACAAMAAAAkACkAAAACAAAAAAATACwAAAABAAQAAAASACwAAAADAAIAAAARACwAAAAEAAMAAAAUACgAAAACAAIAAAAVACgAAAACAAIAAAAWACgAAAACAAIAAAAXACgAAAACAAIAAAAYACgAAAACAAIAAAAZACgAAAACAAIAAAAaACgAAAACAAIAAAAbACgAAAACAAIAAAAcACgAAAACAAIAAAAdACgAAAACAAIAAAATACYAAAACAAMAAAATACcAAAACAAMAAAAVAC0AAAADAAIAAAAUAC0AAAADAAIAAAATAC0AAAAEAAMAAAAWAC0AAAADAAIAAAAXAC0AAAADAAIAAAAYAC0AAAADAAIAAAAZAC0AAAAFAAMAAAAJACwAAAAAAAAAAAAIACwAAAABAAEAAAAHACwAAAADAAMAAAAKACwAAAAAAAEAAAAKAC0AAAABAAEAAAAJAC0AAAABAAAAAAAIAC0AAAABAAEAAAAHAC0AAAADAAMAAAAJAC4AAAABAAAAAAAIAC4AAAAAAAAAAAAHAC4AAAADAAMAAAAKAC4AAAABAAEAAAALAC4AAAABAAEAAAALAC0AAAAAAAAAAAALACwAAAAAAAAAAAAMACwAAAACAAMAAAAMAC0AAAACAAMAAAAMAC4AAAACAAMAAAAGACIAAAACAAAAAAAIACIAAAADAAAAAAAPABsAAAAEAAcAAAANACkAAAADAAAAAAAOACkAAAADAAAAAAAPACcAAAAAAAEAAAAPACgAAAADAAAAAAAPACkAAAACAAAAAAAkACUAAAACAAAAAAAkACYAAAACAAAAAAAFAB4AAAAIAAEAAAANACcAAAAIAAEAAAAOACcAAAAJAAEAAAAOACgAAAAJAAIAAAANACgAAAAIAAIAAAAXACwAAAAJAAEAAAAcACoAAAAJAAEAAAAkACsAAAAJAAIAAAAhACoAAAAIAAIAAAAiACoAAAAJAAIAAAAQAB4AAAAJAAIAAAAhABkAAAAEAAAAAAAhABgAAAAFAAAAAAAiABgAAAADAAEAAAAiABkAAAAFAAAAAAAjABkAAAADAAEAAAAjABgAAAADAAEAAAAkABgAAAADAAEAAAAkABkAAAADAAEAAAAlABkAAAADAAEAAAAlABgAAAADAAEAAAAmABkAAAADAAEAAAAmABgAAAAEAAAAAAAnABgAAAAFAAAAAAAnABkAAAADAAEAAAAgABkAAAADAAEAAAAgABgAAAAEAAAAAAAgABcAAAAEAAEAAAAhABcAAAAFAAEAAAAiABcAAAAEAAEAAAAjABcAAAAFAAEAAAAlABcAAAAFAAEAAAAkABcAAAAFAAEAAAAmABcAAAAEAAEAAAAnABcAAAAEAAEAAAAgABoAAQABAAMAAAAgABsAAQABAAQAAAAgABwAAQADAAAAAAAgAB0AAQAEAAEAAAAhABoAAQACAAMAAAAhABsAAQACAAQAAAAhABwAAQADAAAAAAAhAB0AAQADAAAAAAAiABoAAQADAAAAAAAiABsAAQADAAAAAAAiABwAAQADAAAAAAAiAB0AAQADAAAAAAAlABoAAQADAAAAAAAlABsAAQADAAAAAAAlABwAAQADAAAAAAAlAB0AAQADAAAAAAAmABoAAQAFAAIAAAAmABsAAQAFAAMAAAAmABwAAQADAAAAAAAmAB0AAQADAAAAAAAnABoAAQAGAAIAAAAnABsAAQAGAAMAAAAnABwAAQADAAAAAAAnAB0AAQADAAAAAAAoAB0AAQAHAAAAAAAfAB0AAQADAAAAAAAeAB0AAQADAAAAAAAeABwAAQADAAAAAAAfABwAAQADAAAAAAAfABsAAQAAAAQAAAAeABsAAQADAAAAAAAoABsAAQAHAAMAAAAoABwAAQADAAAAAAApABsAAQADAAAAAAApABwAAQADAAAAAAApAB0AAQADAAAAAAAoABoAAQAHAAIAAAApABoAAQAEAAIAAAAfABoAAQAAAAMAAAAeABoAAQADAAAAAAAdABkAAAADAAMAAAAdABoAAAADAAMAAAAdABsAAAADAAMAAAAdABwAAAADAAMAAAAdAB4AAAADAAMAAAAdAB8AAAADAAMAAAAdACEAAAADAAMAAAAdACIAAAADAAMAAAAdACMAAAADAAMAAAAdACQAAAADAAMAAAAdACUAAAAEAAMAAAAeACUAAAADAAIAAAAfACUAAAADAAIAAAAgACUAAAADAAIAAAAhACUAAAADAAIAAAAmACUAAAADAAIAAAAnACUAAAADAAIAAAAoACUAAAADAAIAAAApACUAAAADAAIAAAAqABcAAAACAAMAAAAqABgAAAACAAMAAAAqABkAAAACAAMAAAAqABoAAAACAAMAAAAqABsAAAACAAMAAAAqABwAAAACAAMAAAAqAB0AAAACAAMAAAAqAB4AAAACAAMAAAAqAB8AAAACAAMAAAAqACAAAAACAAMAAAAqACEAAAACAAMAAAAqACIAAAACAAMAAAAqACMAAAACAAMAAAAqACQAAAACAAMAAAAqACUAAAAFAAMAAAAeABkAAQADAAAAAAAfABkAAQADAAAAAAAoABkAAQADAAAAAAApABkAAQAEAAEAAAAeABgAAAACAAEAAAAfABgAAAADAAEAAAAeABcAAAACAAEAAAAfABcAAAADAAEAAAAeABYAAAACAAEAAAAfABYAAAADAAEAAAAoABgAAAACAAEAAAApABgAAAADAAEAAAAoABcAAAACAAEAAAApABcAAAADAAEAAAAoABYAAAACAAEAAAApABYAAAADAAEAAAAgABYAAAAAAAUAAAAhABYAAAACAAIAAAAiABYAAAACAAIAAAAjABYAAAACAAIAAAAkABYAAAACAAIAAAAlABYAAAACAAIAAAAmABYAAAACAAIAAAAnABYAAAABAAUAAAAgABUAAAAFAAIAAAAfABUAAAACAAIAAAAeABUAAAAAAAUAAAAoABUAAAACAAIAAAApABUAAAABAAUAAAAnABUAAAAEAAIAAAAdABgAAAADAAMAAAAdABcAAAADAAMAAAAdABYAAAAEAAIAAAAeABQAAAACAAMAAAAeABMAAAACAAMAAAApABQAAAADAAMAAAApABMAAAADAAMAAAApABIAAAADAAMAAAAeABIAAAACAAMAAAAqABYAAAAFAAIAAAAeAA0AAAACAAMAAAAeAA4AAAACAAMAAAAeAA8AAAACAAMAAAAeABAAAAACAAMAAAAeABEAAAACAAMAAAApAA0AAAADAAMAAAApAA4AAAADAAMAAAApAA8AAAADAAMAAAApABAAAAADAAMAAAApABEAAAADAAMAAAAdACAAAAADAAMAAAAdAB0AAAADAAMAAAAeAB4AAAAAAAEAAAAfAB4AAAABAAEAAAAgAB4AAAABAAEAAAAhAB4AAAABAAAAAAAiAB4AAAAAAAEAAAAiAB8AAAAAAAAAAAAiACAAAAABAAEAAAAiACEAAAABAAAAAAAiACIAAAAAAAAAAAAiACMAAAABAAEAAAAlACQAAAAAAAEAAAAlACMAAAAAAAEAAAAlACIAAAABAAEAAAAlACEAAAABAAEAAAAlACAAAAAAAAAAAAAlAB8AAAABAAAAAAAlAB4AAAABAAAAAAAmAB4AAAAAAAAAAAAnAB4AAAAAAAEAAAAoAB4AAAAAAAAAAAApAB4AAAABAAAAAAAiACQAAAAAAAEAAADv/wMAAAACAAIAAADv/wQAAAACAAEAAAD0/wQAAAAFAAIAAAD0/wEAAAADAAIAAAD0/wsAAAAFAAIAAAD0/wgAAAAFAAMAAADv/wgAAAADAAIAAAA=") tile_set = ExtResource("2_m6h7j") @@ -421,7 +431,6 @@ tile_map_data = PackedByteArray("AAD4//j/AwAAAAAAAAD4//n/AwABAAAAAAD4//r/AwAAAAA tile_set = ExtResource("2_m6h7j") [node name="CanvasModulate" parent="." index="1"] ->>>>>>> Stashed changes color = Color(0.5, 0.5, 0.5, 1) [node name="Static@Godrays" type="Node2D" parent="Props" index="0"] @@ -601,14 +610,13 @@ texture = ExtResource("6_lctxm") texture = ExtResource("3_lgup0") texture_scale = 0.15 -[node name="StaticBookshelf" parent="Props" index="13" node_paths=PackedStringArray("InteractionTrigger") instance=ExtResource("9_qsthf")] +[node name="StaticBookshelf" parent="Props" index="13" instance=ExtResource("9_qsthf")] position = Vector2(64, 456) script = ExtResource("10_apvp5") -InteractionTrigger = NodePath("InteractionTrigger") DialogueResource = ExtResource("11_fpxpb") DialogueTitle = "unwanted_frequencies" -[node name="InteractionTrigger" parent="Props/StaticBookshelf" index="6" instance=ExtResource("10_scl41")] +[node name="InteractionTrigger" parent="Props/StaticBookshelf" index="5" instance=ExtResource("10_scl41")] [node name="Popup" parent="Props/StaticBookshelf/InteractionTrigger" index="1"] offset_top = -57.0 @@ -866,15 +874,17 @@ bus = &"Ambient" z_index = -1 position = Vector2(576, 416) -[node name="LeftDoor" parent="Entities" index="1" instance=ExtResource("21_nvrif")] +[node name="LeftDoor" parent="Entities" index="1" node_paths=PackedStringArray("Rebake") instance=ExtResource("21_nvrif")] y_sort_enabled = true position = Vector2(-224, 41) MapStateKey = "b_arena_depths_1" +Rebake = [NodePath("../../Areas/LeftDoorNav")] -[node name="LeftDoor2" parent="Entities" index="2" instance=ExtResource("21_nvrif")] +[node name="LeftDoor2" parent="Entities" index="2" node_paths=PackedStringArray("Rebake") instance=ExtResource("21_nvrif")] y_sort_enabled = true position = Vector2(-224, 161) MapStateKey = "b_arena_depths_1" +Rebake = [NodePath("../../Areas/LeftDoorNav")] [node name="LeftDoorSwitch" parent="Entities" index="3" node_paths=PackedStringArray("InteractionTrigger") instance=ExtResource("22_ay852")] position = Vector2(-257, 76) @@ -1052,18 +1062,27 @@ Inventory = NodePath("Inventory") StateMachine = NodePath("StateMachine") Hurtbox = NodePath("Hurtbox") -[node name="CameraBounds" parent="Areas" index="0" node_paths=PackedStringArray("Trigger", "TopLeft", "BottomRight") instance=ExtResource("33_e4gty")] -visible = false -position = Vector2(576, 511) -Trigger = NodePath("Area2D") -TopLeft = NodePath("TopLeft") -BottomRight = NodePath("BottomRight") +[node name="EntranceCamera" type="Area2D" parent="Areas" index="0" node_paths=PackedStringArray("Camera")] +position = Vector2(576, 504) +collision_layer = 0 +collision_mask = 4 +monitorable = false +script = ExtResource("39_50gr5") +Camera = NodePath("PhantomCamera2D") -[node name="TopLeft" parent="Areas/CameraBounds" index="1"] -position = Vector2(-384, -192) +[node name="PhantomCamera2D" type="Node2D" parent="Areas/EntranceCamera" index="0" node_paths=PackedStringArray("follow_path")] +script = ExtResource("39_48cwk") +follow_mode = 4 +follow_path = NodePath("../Path2D") +zoom = Vector2(4, 4) +tween_resource = SubResource("Resource_jfjid") +draw_limits = true -[node name="BottomRight" parent="Areas/CameraBounds" index="2"] -position = Vector2(384, 384) +[node name="CollisionShape2D" type="CollisionShape2D" parent="Areas/EntranceCamera" index="1"] +shape = SubResource("RectangleShape2D_htwu3") + +[node name="Path2D" type="Path2D" parent="Areas/EntranceCamera" index="2"] +curve = SubResource("Curve2D_y7u3v") [node name="MainNav" type="NavigationRegion2D" parent="Areas" index="1"] navigation_polygon = SubResource("NavigationPolygon_je8i8") @@ -1094,4 +1113,3 @@ environment = SubResource("Environment_6j53s") [editable path="Props/StaticBookshelf2"] [editable path="Props/StaticBookshelf3"] [editable path="Props/StaticBookshelf4"] -[editable path="Areas/CameraBounds"] diff --git a/Scenes/Maps/ArenaTileset.tres b/Scenes/Maps/ArenaTileset.tres index 76ffabc..af0eeed 100644 --- a/Scenes/Maps/ArenaTileset.tres +++ b/Scenes/Maps/ArenaTileset.tres @@ -5,22 +5,13 @@ [ext_resource type="Texture2D" uid="uid://udgjrcaexuaq" path="res://Assets/Sprites/Props/arena-arches.png" id="3_hbylw"] [ext_resource type="Texture2D" uid="uid://bth1v3dyuqwg6" path="res://Assets/Sprites/arena-tileset-new.png" id="4_n70qi"] -[sub_resource type="NavigationPolygon" id="NavigationPolygon_7lhug"] -vertices = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)]) -outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)]) +[sub_resource type="NavigationPolygon" id="NavigationPolygon_7s0wj"] source_geometry_group_name = &"navigation_polygon_source_group" -[sub_resource type="NavigationPolygon" id="NavigationPolygon_d0snv"] -vertices = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)]) -outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)]) +[sub_resource type="NavigationPolygon" id="NavigationPolygon_7vkqx"] source_geometry_group_name = &"navigation_polygon_source_group" -[sub_resource type="NavigationPolygon" id="NavigationPolygon_m43r7"] -vertices = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)]) -outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)]) +[sub_resource type="NavigationPolygon" id="NavigationPolygon_pxj45"] source_geometry_group_name = &"navigation_polygon_source_group" [sub_resource type="CanvasTexture" id="CanvasTexture_3n6aa"] @@ -31,8 +22,6 @@ texture = SubResource("CanvasTexture_3n6aa") 0:0/0 = 0 0:0/0/terrain_set = 0 0:0/0/terrain = 0 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 0:0/0/terrains_peering_bit/right_side = 0 0:0/0/terrains_peering_bit/bottom_right_corner = 0 0:0/0/terrains_peering_bit/bottom_side = 0 @@ -41,12 +30,10 @@ texture = SubResource("CanvasTexture_3n6aa") 0:0/0/terrains_peering_bit/top_left_corner = 0 0:0/0/terrains_peering_bit/top_side = 0 0:0/0/terrains_peering_bit/top_right_corner = 0 -0:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7lhug") +0:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 1:1/0 = 0 1:1/0/terrain_set = 0 1:1/0/terrain = 0 -1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:1/0/physics_layer_0/angular_velocity = 0.0 1:1/0/terrains_peering_bit/right_side = 0 1:1/0/terrains_peering_bit/bottom_right_corner = 0 1:1/0/terrains_peering_bit/bottom_side = 0 @@ -55,12 +42,10 @@ texture = SubResource("CanvasTexture_3n6aa") 1:1/0/terrains_peering_bit/top_left_corner = 0 1:1/0/terrains_peering_bit/top_side = 0 1:1/0/terrains_peering_bit/top_right_corner = 0 -1:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7lhug") +1:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 2:1/0 = 0 2:1/0/terrain_set = 0 2:1/0/terrain = 1 -2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:1/0/physics_layer_0/angular_velocity = 0.0 2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 2:1/0/terrains_peering_bit/right_side = 1 2:1/0/terrains_peering_bit/bottom_right_corner = 0 @@ -72,17 +57,14 @@ texture = SubResource("CanvasTexture_3n6aa") 2:1/0/terrains_peering_bit/top_right_corner = 1 2:2/0 = 0 2:2/0/terrain_set = 0 -2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:2/0/physics_layer_0/angular_velocity = 0.0 2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8) 2:2/0/terrains_peering_bit/bottom_right_corner = 1 2:2/0/terrains_peering_bit/bottom_side = 1 2:2/0/terrains_peering_bit/bottom_left_corner = 1 +2:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 1:0/0 = 0 1:0/0/terrain_set = 0 1:0/0/terrain = 0 -1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:0/0/physics_layer_0/angular_velocity = 0.0 1:0/0/terrains_peering_bit/right_side = 0 1:0/0/terrains_peering_bit/bottom_right_corner = 0 1:0/0/terrains_peering_bit/bottom_side = 0 @@ -91,12 +73,10 @@ texture = SubResource("CanvasTexture_3n6aa") 1:0/0/terrains_peering_bit/top_left_corner = 0 1:0/0/terrains_peering_bit/top_side = 0 1:0/0/terrains_peering_bit/top_right_corner = 0 -1:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7lhug") +1:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 0:1/0 = 0 0:1/0/terrain_set = 0 0:1/0/terrain = 0 -0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:1/0/physics_layer_0/angular_velocity = 0.0 0:1/0/terrains_peering_bit/right_side = 0 0:1/0/terrains_peering_bit/bottom_right_corner = 0 0:1/0/terrains_peering_bit/bottom_side = 0 @@ -105,59 +85,35 @@ texture = SubResource("CanvasTexture_3n6aa") 0:1/0/terrains_peering_bit/top_left_corner = 0 0:1/0/terrains_peering_bit/top_side = 0 0:1/0/terrains_peering_bit/top_right_corner = 0 -0:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7lhug") +0:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 0:2/0 = 0 -0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:2/0/physics_layer_0/angular_velocity = 0.0 0:3/0 = 0 -0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:3/0/physics_layer_0/angular_velocity = 0.0 1:3/0 = 0 -1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:3/0/physics_layer_0/angular_velocity = 0.0 1:2/0 = 0 -1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:2/0/physics_layer_0/angular_velocity = 0.0 +1:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 2:0/0 = 0 2:0/0/terrain_set = 0 -2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:0/0/physics_layer_0/angular_velocity = 0.0 -2:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_m43r7") +2:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 3:0/0 = 0 3:0/0/terrain_set = 0 -3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:0/0/physics_layer_0/angular_velocity = 0.0 -3:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_m43r7") +3:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 4:0/0 = 0 4:0/0/terrain_set = 0 -4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:0/0/physics_layer_0/angular_velocity = 0.0 4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +4:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 5:0/0 = 0 5:0/0/terrain_set = 0 -5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:0/0/physics_layer_0/angular_velocity = 0.0 5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 6:0/0 = 0 -6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:0/0/physics_layer_0/angular_velocity = 0.0 6:1/0 = 0 -6:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:1/0/physics_layer_0/angular_velocity = 0.0 6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 5:1/0 = 0 -5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:1/0/physics_layer_0/angular_velocity = 0.0 5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 4:1/0 = 0 -4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:1/0/physics_layer_0/angular_velocity = 0.0 4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 3:1/0 = 0 3:1/0/terrain_set = 0 3:1/0/terrain = 1 -3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:1/0/physics_layer_0/angular_velocity = 0.0 3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 3:1/0/terrains_peering_bit/right_side = 1 3:1/0/terrains_peering_bit/bottom_right_corner = 0 @@ -169,74 +125,53 @@ texture = SubResource("CanvasTexture_3n6aa") 3:1/0/terrains_peering_bit/top_right_corner = 1 3:2/0 = 0 3:2/0/terrain_set = 0 -3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:2/0/physics_layer_0/angular_velocity = 0.0 3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 0, -8, 0) 3:2/0/terrains_peering_bit/top_left_corner = 0 3:2/0/terrains_peering_bit/top_side = 0 3:2/0/terrains_peering_bit/top_right_corner = 0 +3:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 3:3/0 = 0 3:3/0/terrain_set = 0 -3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:3/0/physics_layer_0/angular_velocity = 0.0 3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 8, -8, 8, 8, 0, 8) 3:3/0/terrains_peering_bit/right_side = 0 3:3/0/terrains_peering_bit/bottom_right_corner = 0 3:3/0/terrains_peering_bit/top_right_corner = 1 2:3/0 = 0 2:3/0/terrain_set = 0 -2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:3/0/physics_layer_0/angular_velocity = 0.0 2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -8, 0, 8, -8, 8) 2:3/0/terrains_peering_bit/bottom_left_corner = 0 2:3/0/terrains_peering_bit/left_side = 0 2:3/0/terrains_peering_bit/top_left_corner = 1 4:3/0 = 0 4:3/0/terrain_set = 0 -4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:3/0/physics_layer_0/angular_velocity = 0.0 4:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, -8, 8, 0, 0, 0, 0, -8) 4:3/0/terrains_peering_bit/top_right_corner = 0 4:2/0 = 0 4:2/0/terrain_set = 0 -4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:2/0/physics_layer_0/angular_velocity = 0.0 4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, 0, 8, 0, 8, 8, 0, 8) 4:2/0/terrains_peering_bit/bottom_right_corner = 1 +4:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 5:2/0 = 0 5:2/0/terrain_set = 0 -5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:2/0/physics_layer_0/angular_velocity = 0.0 5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0, 0, 0, 8, -8, 8) 5:2/0/terrains_peering_bit/bottom_left_corner = 1 +5:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 5:3/0 = 0 5:3/0/terrain_set = 0 -5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:3/0/physics_layer_0/angular_velocity = 0.0 5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -8, 0, 0, -8, 0) 5:3/0/terrains_peering_bit/top_left_corner = 0 6:3/0 = 0 -6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:3/0/physics_layer_0/angular_velocity = 0.0 6:2/0 = 0 -6:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:2/0/physics_layer_0/angular_velocity = 0.0 +6:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 7:2/0 = 0 -7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 7:3/0 = 0 -7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:3/0/physics_layer_0/angular_velocity = 0.0 7:0/size_in_atlas = Vector2i(1, 2) 7:0/0 = 0 7:0/0/texture_origin = Vector2i(0, 8) -7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:0/0/physics_layer_0/angular_velocity = 0.0 7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -5, 8, -5, 8, 4, 4, 8, -4, 8, -8, 4) 0:4/0 = 0 0:4/0/terrain_set = 0 -0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:4/0/physics_layer_0/angular_velocity = 0.0 0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 0:4/0/terrains_peering_bit/bottom_left_corner = 0 0:4/0/terrains_peering_bit/left_side = 0 @@ -245,8 +180,6 @@ texture = SubResource("CanvasTexture_3n6aa") 0:4/0/terrains_peering_bit/top_right_corner = 0 0:5/0 = 0 0:5/0/terrain_set = 0 -0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:5/0/physics_layer_0/angular_velocity = 0.0 0:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 0:5/0/terrains_peering_bit/bottom_right_corner = 1 0:5/0/terrains_peering_bit/bottom_side = 1 @@ -255,8 +188,6 @@ texture = SubResource("CanvasTexture_3n6aa") 0:5/0/terrains_peering_bit/top_left_corner = 0 1:5/0 = 0 1:5/0/terrain_set = 0 -1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:5/0/physics_layer_0/angular_velocity = 0.0 1:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 1:5/0/terrains_peering_bit/right_side = 0 1:5/0/terrains_peering_bit/bottom_right_corner = 1 @@ -265,8 +196,6 @@ texture = SubResource("CanvasTexture_3n6aa") 1:5/0/terrains_peering_bit/top_right_corner = 0 1:4/0 = 0 1:4/0/terrain_set = 0 -1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:4/0/physics_layer_0/angular_velocity = 0.0 1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 1:4/0/terrains_peering_bit/right_side = 0 1:4/0/terrains_peering_bit/bottom_right_corner = 0 @@ -276,100 +205,61 @@ texture = SubResource("CanvasTexture_3n6aa") 2:4/size_in_atlas = Vector2i(1, 3) 2:4/0 = 0 2:4/0/texture_origin = Vector2i(0, 16) -2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:4/0/physics_layer_0/angular_velocity = 0.0 3:4/size_in_atlas = Vector2i(2, 2) 3:4/0 = 0 3:4/0/texture_origin = Vector2i(8, 9) -3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:4/0/physics_layer_0/angular_velocity = 0.0 5:4/size_in_atlas = Vector2i(2, 2) 5:4/0 = 0 5:4/0/texture_origin = Vector2i(8, 9) -5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:4/0/physics_layer_0/angular_velocity = 0.0 7:4/size_in_atlas = Vector2i(1, 2) 7:4/0 = 0 7:4/0/texture_origin = Vector2i(0, 8) -7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:4/0/physics_layer_0/angular_velocity = 0.0 3:6/0 = 0 -3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:6/0/physics_layer_0/angular_velocity = 0.0 3:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 4:6/0 = 0 -4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:6/0/physics_layer_0/angular_velocity = 0.0 4:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 4:7/0 = 0 -4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:7/0/physics_layer_0/angular_velocity = 0.0 4:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 3:7/0 = 0 -3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:7/0/physics_layer_0/angular_velocity = 0.0 3:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 10:1/0 = 0 10:1/0/terrain_set = 1 -10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:1/0/physics_layer_0/angular_velocity = 0.0 -10:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_d0snv") +10:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 11:1/0 = 0 11:1/0/terrain_set = 1 -11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:1/0/physics_layer_0/angular_velocity = 0.0 -11:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_d0snv") +11:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 11:2/0 = 0 11:2/0/terrain_set = 1 -11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:2/0/physics_layer_0/angular_velocity = 0.0 -11:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_d0snv") +11:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 10:2/0 = 0 10:2/0/terrain_set = 1 -10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:2/0/physics_layer_0/angular_velocity = 0.0 -10:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_d0snv") +10:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 8:1/0 = 0 -8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:1/0/physics_layer_0/angular_velocity = 0.0 8:2/0 = 0 -8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 9:1/0 = 0 -9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 9:2/0 = 0 -9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7s0wj") 9:5/0 = 0 9:5/0/terrain_set = 1 -9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:5/0/physics_layer_0/angular_velocity = 0.0 9:5/0/terrains_peering_bit/bottom_right_corner = 0 10:5/0 = 0 10:5/0/terrain_set = 1 -10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:5/0/physics_layer_0/angular_velocity = 0.0 10:5/0/terrains_peering_bit/bottom_right_corner = 0 10:5/0/terrains_peering_bit/bottom_side = 0 10:5/0/terrains_peering_bit/bottom_left_corner = 0 11:5/0 = 0 11:5/0/terrain_set = 1 -11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:5/0/physics_layer_0/angular_velocity = 0.0 11:5/0/terrains_peering_bit/bottom_left_corner = 0 11:6/0 = 0 11:6/0/terrain_set = 1 -11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:6/0/physics_layer_0/angular_velocity = 0.0 11:6/0/terrains_peering_bit/bottom_left_corner = 0 11:6/0/terrains_peering_bit/left_side = 0 11:6/0/terrains_peering_bit/top_left_corner = 0 10:6/0 = 0 10:6/0/terrain_set = 1 10:6/0/terrain = 0 -10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:6/0/physics_layer_0/angular_velocity = 0.0 10:6/0/terrains_peering_bit/right_side = 0 10:6/0/terrains_peering_bit/bottom_right_corner = 0 10:6/0/terrains_peering_bit/bottom_side = 0 @@ -380,52 +270,37 @@ texture = SubResource("CanvasTexture_3n6aa") 10:6/0/terrains_peering_bit/top_right_corner = 0 9:6/0 = 0 9:6/0/terrain_set = 1 -9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:6/0/physics_layer_0/angular_velocity = 0.0 9:6/0/terrains_peering_bit/right_side = 0 9:6/0/terrains_peering_bit/bottom_right_corner = 0 9:6/0/terrains_peering_bit/top_right_corner = 0 +9:6/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_pxj45") 9:7/0 = 0 9:7/0/terrain_set = 1 -9:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:7/0/physics_layer_0/angular_velocity = 0.0 9:7/0/terrains_peering_bit/top_right_corner = 0 10:7/0 = 0 10:7/0/terrain_set = 1 -10:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:7/0/physics_layer_0/angular_velocity = 0.0 10:7/0/terrains_peering_bit/top_left_corner = 0 10:7/0/terrains_peering_bit/top_side = 0 10:7/0/terrains_peering_bit/top_right_corner = 0 11:7/0 = 0 11:7/0/terrain_set = 1 -11:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:7/0/physics_layer_0/angular_velocity = 0.0 11:7/0/terrains_peering_bit/top_left_corner = 0 12:5/0 = 0 12:5/0/terrain_set = 1 -12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:5/0/physics_layer_0/angular_velocity = 0.0 12:5/0/terrains_peering_bit/bottom_right_corner = 1 13:5/0 = 0 13:5/0/terrain_set = 1 -13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:5/0/physics_layer_0/angular_velocity = 0.0 13:5/0/terrains_peering_bit/bottom_right_corner = 1 13:5/0/terrains_peering_bit/bottom_side = 1 13:5/0/terrains_peering_bit/bottom_left_corner = 1 14:6/0 = 0 14:6/0/terrain_set = 1 -14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:6/0/physics_layer_0/angular_velocity = 0.0 14:6/0/terrains_peering_bit/bottom_left_corner = 1 14:6/0/terrains_peering_bit/left_side = 1 14:6/0/terrains_peering_bit/top_left_corner = 1 13:6/0 = 0 13:6/0/terrain_set = 1 13:6/0/terrain = 1 -13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:6/0/physics_layer_0/angular_velocity = 0.0 13:6/0/terrains_peering_bit/right_side = 1 13:6/0/terrains_peering_bit/bottom_right_corner = 1 13:6/0/terrains_peering_bit/bottom_side = 1 @@ -436,70 +311,43 @@ texture = SubResource("CanvasTexture_3n6aa") 13:6/0/terrains_peering_bit/top_right_corner = 1 12:6/0 = 0 12:6/0/terrain_set = 1 -12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:6/0/physics_layer_0/angular_velocity = 0.0 12:6/0/terrains_peering_bit/right_side = 1 12:6/0/terrains_peering_bit/bottom_right_corner = 1 12:6/0/terrains_peering_bit/top_right_corner = 1 12:7/0 = 0 12:7/0/terrain_set = 1 -12:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:7/0/physics_layer_0/angular_velocity = 0.0 12:7/0/terrains_peering_bit/top_right_corner = 1 13:7/0 = 0 13:7/0/terrain_set = 1 -13:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:7/0/physics_layer_0/angular_velocity = 0.0 13:7/0/terrains_peering_bit/top_left_corner = 1 13:7/0/terrains_peering_bit/top_side = 1 13:7/0/terrains_peering_bit/top_right_corner = 1 14:7/0 = 0 14:7/0/terrain_set = 1 -14:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:7/0/physics_layer_0/angular_velocity = 0.0 14:7/0/terrains_peering_bit/top_left_corner = 1 14:5/0 = 0 14:5/0/terrain_set = 1 -14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:5/0/physics_layer_0/angular_velocity = 0.0 14:5/0/terrains_peering_bit/bottom_left_corner = 1 5:7/0 = 0 -5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:7/0/physics_layer_0/angular_velocity = 0.0 5:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 5:6/0 = 0 -5:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:6/0/physics_layer_0/angular_velocity = 0.0 5:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 6:6/0 = 0 -6:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:6/0/physics_layer_0/angular_velocity = 0.0 6:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 6:7/0 = 0 -6:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:7/0/physics_layer_0/angular_velocity = 0.0 6:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 7:7/0 = 0 -7:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:7/0/physics_layer_0/angular_velocity = 0.0 7:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:7/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_7vkqx") 8:7/0 = 0 -8:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:7/0/physics_layer_0/angular_velocity = 0.0 8:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 8:6/0 = 0 -8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:6/0/physics_layer_0/angular_velocity = 0.0 8:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 12:0/0 = 0 12:0/0/y_sort_origin = 8 -12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:0/0/physics_layer_0/angular_velocity = 0.0 12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 2, 8, 2, 8, 8, -8, 8) 13:0/0 = 0 13:0/0/y_sort_origin = 8 -13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:0/0/physics_layer_0/angular_velocity = 0.0 13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 2, 8, 2, 8, 8, -8, 8) [sub_resource type="NavigationPolygon" id="NavigationPolygon_que0c"] @@ -511,213 +359,103 @@ source_geometry_group_name = &"navigation_polygon_source_group" [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_mdfpe"] texture = ExtResource("2_lihbs") 0:0/0 = 0 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 0:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 1:0/0 = 0 -1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:0/0/physics_layer_0/angular_velocity = 0.0 1:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 2:0/0 = 0 -2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:0/0/physics_layer_0/angular_velocity = 0.0 2:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 3:0/0 = 0 -3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:0/0/physics_layer_0/angular_velocity = 0.0 3:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 4:0/0 = 0 -4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:0/0/physics_layer_0/angular_velocity = 0.0 4:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 5:0/0 = 0 -5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:0/0/physics_layer_0/angular_velocity = 0.0 5:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 6:0/0 = 0 -6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:0/0/physics_layer_0/angular_velocity = 0.0 6:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 7:0/0 = 0 -7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:0/0/physics_layer_0/angular_velocity = 0.0 7:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 7:1/0 = 0 -7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:1/0/physics_layer_0/angular_velocity = 0.0 7:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 7:2/0 = 0 -7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:2/0/physics_layer_0/angular_velocity = 0.0 7:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 7:3/0 = 0 -7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:3/0/physics_layer_0/angular_velocity = 0.0 7:3/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 7:4/0 = 0 -7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:4/0/physics_layer_0/angular_velocity = 0.0 7:4/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 6:4/0 = 0 -6:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:4/0/physics_layer_0/angular_velocity = 0.0 6:4/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 5:4/0 = 0 -5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:4/0/physics_layer_0/angular_velocity = 0.0 5:4/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 4:4/0 = 0 -4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:4/0/physics_layer_0/angular_velocity = 0.0 4:4/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 3:4/0 = 0 -3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:4/0/physics_layer_0/angular_velocity = 0.0 3:4/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 2:4/0 = 0 -2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:4/0/physics_layer_0/angular_velocity = 0.0 2:4/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 1:4/0 = 0 -1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:4/0/physics_layer_0/angular_velocity = 0.0 1:4/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 0:4/0 = 0 -0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:4/0/physics_layer_0/angular_velocity = 0.0 0:4/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 0:3/0 = 0 -0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:3/0/physics_layer_0/angular_velocity = 0.0 0:3/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 1:2/0 = 0 -1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:2/0/physics_layer_0/angular_velocity = 0.0 1:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 1:1/0 = 0 -1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:1/0/physics_layer_0/angular_velocity = 0.0 1:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 0:1/0 = 0 -0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:1/0/physics_layer_0/angular_velocity = 0.0 0:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 0:2/0 = 0 -0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:2/0/physics_layer_0/angular_velocity = 0.0 0:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 2:3/0 = 0 -2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:3/0/physics_layer_0/angular_velocity = 0.0 2:3/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 3:3/0 = 0 -3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:3/0/physics_layer_0/angular_velocity = 0.0 3:3/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 1:3/0 = 0 -1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:3/0/physics_layer_0/angular_velocity = 0.0 1:3/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 2:2/0 = 0 -2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:2/0/physics_layer_0/angular_velocity = 0.0 2:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 3:1/0 = 0 -3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:1/0/physics_layer_0/angular_velocity = 0.0 3:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 4:1/0 = 0 -4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:1/0/physics_layer_0/angular_velocity = 0.0 4:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 2:1/0 = 0 -2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:1/0/physics_layer_0/angular_velocity = 0.0 2:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 4:2/0 = 0 -4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:2/0/physics_layer_0/angular_velocity = 0.0 4:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 5:2/0 = 0 -5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:2/0/physics_layer_0/angular_velocity = 0.0 5:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 3:2/0 = 0 -3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:2/0/physics_layer_0/angular_velocity = 0.0 3:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 6:3/0 = 0 -6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:3/0/physics_layer_0/angular_velocity = 0.0 6:3/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 5:3/0 = 0 -5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:3/0/physics_layer_0/angular_velocity = 0.0 5:3/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 4:3/0 = 0 -4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:3/0/physics_layer_0/angular_velocity = 0.0 4:3/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 6:2/0 = 0 -6:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:2/0/physics_layer_0/angular_velocity = 0.0 6:2/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 6:1/0 = 0 -6:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:1/0/physics_layer_0/angular_velocity = 0.0 6:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 5:1/0 = 0 -5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:1/0/physics_layer_0/angular_velocity = 0.0 5:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_que0c") 0:5/0 = 0 -0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:5/0/physics_layer_0/angular_velocity = 0.0 1:5/0 = 0 -1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:5/0/physics_layer_0/angular_velocity = 0.0 0:6/0 = 0 -0:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:6/0/physics_layer_0/angular_velocity = 0.0 0:7/0 = 0 -0:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:7/0/physics_layer_0/angular_velocity = 0.0 1:7/0 = 0 -1:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:7/0/physics_layer_0/angular_velocity = 0.0 1:6/0 = 0 -1:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:6/0/physics_layer_0/angular_velocity = 0.0 2:6/0 = 0 -2:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:6/0/physics_layer_0/angular_velocity = 0.0 2:5/0 = 0 -2:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:5/0/physics_layer_0/angular_velocity = 0.0 2:7/0 = 0 -2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:7/0/physics_layer_0/angular_velocity = 0.0 [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u4tjf"] texture = ExtResource("3_hbylw") 0:0/0 = 0 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 1:0/0 = 0 -1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:0/0/physics_layer_0/angular_velocity = 0.0 2:0/0 = 0 -2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:0/0/physics_layer_0/angular_velocity = 0.0 0:1/0 = 0 -0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:1/0/physics_layer_0/angular_velocity = 0.0 1:1/0 = 0 -1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:1/0/physics_layer_0/angular_velocity = 0.0 2:1/0 = 0 -2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:1/0/physics_layer_0/angular_velocity = 0.0 [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_45tin"] texture = ExtResource("4_n70qi") diff --git a/Scenes/Maps/Forest.tscn b/Scenes/Maps/Forest.tscn deleted file mode 100644 index e6d228d..0000000 --- a/Scenes/Maps/Forest.tscn +++ /dev/null @@ -1,1177 +0,0 @@ -[gd_scene load_steps=9 format=3 uid="uid://di38llxv4a6w0"] - -[ext_resource type="Texture2D" uid="uid://gm2pcnfg7h8j" path="res://Assets/Sprites/tileset.png" id="1_nvhm1"] -[ext_resource type="PackedScene" uid="uid://dhl071rj5wyvx" path="res://Entities/Campfire.tscn" id="2_kfvvk"] -[ext_resource type="Script" path="res://Scenes/Map.cs" id="2_lfdy2"] -[ext_resource type="Script" path="res://BoundingBoxes/ConnectorBox.cs" id="5_gxtl8"] - -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_1pa1q"] -texture = ExtResource("1_nvhm1") -0:0/0 = 0 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 -1:0/0 = 0 -1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:0/0/physics_layer_0/angular_velocity = 0.0 -2:0/0 = 0 -2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:0/0/physics_layer_0/angular_velocity = 0.0 -3:0/0 = 0 -3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:0/0/physics_layer_0/angular_velocity = 0.0 -4:0/0 = 0 -4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:0/0/physics_layer_0/angular_velocity = 0.0 -5:0/0 = 0 -5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:0/0/physics_layer_0/angular_velocity = 0.0 -6:0/0 = 0 -6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:0/0/physics_layer_0/angular_velocity = 0.0 -10:0/0 = 0 -10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:0/0/physics_layer_0/angular_velocity = 0.0 -11:0/0 = 0 -11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:0/0/physics_layer_0/angular_velocity = 0.0 -12:0/0 = 0 -12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:0/0/physics_layer_0/angular_velocity = 0.0 -13:0/0 = 0 -13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:0/0/physics_layer_0/angular_velocity = 0.0 -14:0/0 = 0 -14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:0/0/physics_layer_0/angular_velocity = 0.0 -15:0/0 = 0 -15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:0/0/physics_layer_0/angular_velocity = 0.0 -16:0/0 = 0 -16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:0/0/physics_layer_0/angular_velocity = 0.0 -17:0/0 = 0 -17:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:0/0/physics_layer_0/angular_velocity = 0.0 -18:0/0 = 0 -18:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:0/0/physics_layer_0/angular_velocity = 0.0 -19:0/0 = 0 -19:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:0/0/physics_layer_0/angular_velocity = 0.0 -20:0/0 = 0 -20:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -20:0/0/physics_layer_0/angular_velocity = 0.0 -21:0/0 = 0 -21:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -21:0/0/physics_layer_0/angular_velocity = 0.0 -22:0/0 = 0 -22:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:0/0/physics_layer_0/angular_velocity = 0.0 -23:0/0 = 0 -23:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:0/0/physics_layer_0/angular_velocity = 0.0 -24:0/0 = 0 -24:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:0/0/physics_layer_0/angular_velocity = 0.0 -25:0/0 = 0 -25:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:0/0/physics_layer_0/angular_velocity = 0.0 -26:0/0 = 0 -26:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -26:0/0/physics_layer_0/angular_velocity = 0.0 -0:1/0 = 0 -0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:1/0/physics_layer_0/angular_velocity = 0.0 -2:1/0 = 0 -2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:1/0/physics_layer_0/angular_velocity = 0.0 -3:1/0 = 0 -3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:1/0/physics_layer_0/angular_velocity = 0.0 -4:1/0 = 0 -4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:1/0/physics_layer_0/angular_velocity = 0.0 -5:1/0 = 0 -5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:1/0/physics_layer_0/angular_velocity = 0.0 -6:1/0 = 0 -6:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:1/0/physics_layer_0/angular_velocity = 0.0 -10:1/0 = 0 -10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:1/0/physics_layer_0/angular_velocity = 0.0 -11:1/0 = 0 -11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:1/0/physics_layer_0/angular_velocity = 0.0 -12:1/0 = 0 -12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:1/0/physics_layer_0/angular_velocity = 0.0 -13:1/0 = 0 -13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:1/0/physics_layer_0/angular_velocity = 0.0 -15:1/0 = 0 -15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:1/0/physics_layer_0/angular_velocity = 0.0 -16:1/0 = 0 -16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:1/0/physics_layer_0/angular_velocity = 0.0 -17:1/0 = 0 -17:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:1/0/physics_layer_0/angular_velocity = 0.0 -18:1/0 = 0 -18:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:1/0/physics_layer_0/angular_velocity = 0.0 -19:1/0 = 0 -19:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:1/0/physics_layer_0/angular_velocity = 0.0 -21:1/0 = 0 -21:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -21:1/0/physics_layer_0/angular_velocity = 0.0 -22:1/0 = 0 -22:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:1/0/physics_layer_0/angular_velocity = 0.0 -23:1/0 = 0 -23:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:1/0/physics_layer_0/angular_velocity = 0.0 -24:1/0 = 0 -24:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:1/0/physics_layer_0/angular_velocity = 0.0 -25:1/0 = 0 -25:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:1/0/physics_layer_0/angular_velocity = 0.0 -26:1/0 = 0 -26:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -26:1/0/physics_layer_0/angular_velocity = 0.0 -0:2/0 = 0 -0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:2/0/physics_layer_0/angular_velocity = 0.0 -1:2/0 = 0 -1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:2/0/physics_layer_0/angular_velocity = 0.0 -2:2/0 = 0 -2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:2/0/physics_layer_0/angular_velocity = 0.0 -3:2/0 = 0 -3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:2/0/physics_layer_0/angular_velocity = 0.0 -4:2/0 = 0 -4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:2/0/physics_layer_0/angular_velocity = 0.0 -5:2/0 = 0 -5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:2/0/physics_layer_0/angular_velocity = 0.0 -6:2/0 = 0 -6:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:2/0/physics_layer_0/angular_velocity = 0.0 -10:2/0 = 0 -10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:2/0/physics_layer_0/angular_velocity = 0.0 -11:2/0 = 0 -11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:2/0/physics_layer_0/angular_velocity = 0.0 -12:2/0 = 0 -12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:2/0/physics_layer_0/angular_velocity = 0.0 -13:2/0 = 0 -13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:2/0/physics_layer_0/angular_velocity = 0.0 -14:2/0 = 0 -14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:2/0/physics_layer_0/angular_velocity = 0.0 -15:2/0 = 0 -15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:2/0/physics_layer_0/angular_velocity = 0.0 -16:2/0 = 0 -16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:2/0/physics_layer_0/angular_velocity = 0.0 -17:2/0 = 0 -17:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:2/0/physics_layer_0/angular_velocity = 0.0 -18:2/0 = 0 -18:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:2/0/physics_layer_0/angular_velocity = 0.0 -19:2/0 = 0 -19:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:2/0/physics_layer_0/angular_velocity = 0.0 -20:2/0 = 0 -20:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -20:2/0/physics_layer_0/angular_velocity = 0.0 -21:2/0 = 0 -21:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -21:2/0/physics_layer_0/angular_velocity = 0.0 -22:2/0 = 0 -22:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:2/0/physics_layer_0/angular_velocity = 0.0 -23:2/0 = 0 -23:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:2/0/physics_layer_0/angular_velocity = 0.0 -24:2/0 = 0 -24:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:2/0/physics_layer_0/angular_velocity = 0.0 -0:3/0 = 0 -0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:3/0/physics_layer_0/angular_velocity = 0.0 -1:3/0 = 0 -1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:3/0/physics_layer_0/angular_velocity = 0.0 -2:3/0 = 0 -2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:3/0/physics_layer_0/angular_velocity = 0.0 -3:3/0 = 0 -3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:3/0/physics_layer_0/angular_velocity = 0.0 -4:3/0 = 0 -4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:3/0/physics_layer_0/angular_velocity = 0.0 -5:3/0 = 0 -5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:3/0/physics_layer_0/angular_velocity = 0.0 -6:3/0 = 0 -6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:3/0/physics_layer_0/angular_velocity = 0.0 -7:3/size_in_atlas = Vector2i(1, 2) -7:3/0 = 0 -7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:3/0/physics_layer_0/angular_velocity = 0.0 -7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 2, 8, 2, 8, 12, -8, 12) -8:3/0 = 0 -8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:3/0/physics_layer_0/angular_velocity = 0.0 -9:3/0 = 0 -9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:3/0/physics_layer_0/angular_velocity = 0.0 -10:3/0 = 0 -10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:3/0/physics_layer_0/angular_velocity = 0.0 -11:3/0 = 0 -11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:3/0/physics_layer_0/angular_velocity = 0.0 -12:3/0 = 0 -12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:3/0/physics_layer_0/angular_velocity = 0.0 -13:3/0 = 0 -13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:3/0/physics_layer_0/angular_velocity = 0.0 -14:3/0 = 0 -14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:3/0/physics_layer_0/angular_velocity = 0.0 -15:3/0 = 0 -15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:3/0/physics_layer_0/angular_velocity = 0.0 -16:3/0 = 0 -16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:3/0/physics_layer_0/angular_velocity = 0.0 -17:3/0 = 0 -17:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:3/0/physics_layer_0/angular_velocity = 0.0 -18:3/0 = 0 -18:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:3/0/physics_layer_0/angular_velocity = 0.0 -19:3/0 = 0 -19:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:3/0/physics_layer_0/angular_velocity = 0.0 -20:3/0 = 0 -20:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -20:3/0/physics_layer_0/angular_velocity = 0.0 -21:3/0 = 0 -21:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -21:3/0/physics_layer_0/angular_velocity = 0.0 -22:3/0 = 0 -22:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:3/0/physics_layer_0/angular_velocity = 0.0 -23:3/0 = 0 -23:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:3/0/physics_layer_0/angular_velocity = 0.0 -24:3/0 = 0 -24:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:3/0/physics_layer_0/angular_velocity = 0.0 -25:3/0 = 0 -25:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:3/0/physics_layer_0/angular_velocity = 0.0 -27:3/0 = 0 -27:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -27:3/0/physics_layer_0/angular_velocity = 0.0 -0:4/0 = 0 -0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:4/0/physics_layer_0/angular_velocity = 0.0 -2:4/0 = 0 -2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:4/0/physics_layer_0/angular_velocity = 0.0 -3:4/0 = 0 -3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:4/0/physics_layer_0/angular_velocity = 0.0 -4:4/0 = 0 -4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:4/0/physics_layer_0/angular_velocity = 0.0 -5:4/0 = 0 -5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:4/0/physics_layer_0/angular_velocity = 0.0 -6:4/0 = 0 -6:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:4/0/physics_layer_0/angular_velocity = 0.0 -6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -1, 8, -1, 8, 8, -8, 8) -8:4/0 = 0 -8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:4/0/physics_layer_0/angular_velocity = 0.0 -9:4/0 = 0 -9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:4/0/physics_layer_0/angular_velocity = 0.0 -10:4/0 = 0 -10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:4/0/physics_layer_0/angular_velocity = 0.0 -11:4/0 = 0 -11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:4/0/physics_layer_0/angular_velocity = 0.0 -12:4/0 = 0 -12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:4/0/physics_layer_0/angular_velocity = 0.0 -13:4/0 = 0 -13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:4/0/physics_layer_0/angular_velocity = 0.0 -14:4/0 = 0 -14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:4/0/physics_layer_0/angular_velocity = 0.0 -15:4/0 = 0 -15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:4/0/physics_layer_0/angular_velocity = 0.0 -16:4/0 = 0 -16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:4/0/physics_layer_0/angular_velocity = 0.0 -17:4/0 = 0 -17:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:4/0/physics_layer_0/angular_velocity = 0.0 -18:4/0 = 0 -18:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:4/0/physics_layer_0/angular_velocity = 0.0 -19:4/0 = 0 -19:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:4/0/physics_layer_0/angular_velocity = 0.0 -20:4/0 = 0 -20:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -20:4/0/physics_layer_0/angular_velocity = 0.0 -22:4/0 = 0 -22:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:4/0/physics_layer_0/angular_velocity = 0.0 -23:4/0 = 0 -23:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:4/0/physics_layer_0/angular_velocity = 0.0 -24:4/0 = 0 -24:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:4/0/physics_layer_0/angular_velocity = 0.0 -27:4/0 = 0 -27:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -27:4/0/physics_layer_0/angular_velocity = 0.0 -0:5/0 = 0 -0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:5/0/physics_layer_0/angular_velocity = 0.0 -1:5/0 = 0 -1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:5/0/physics_layer_0/angular_velocity = 0.0 -2:5/0 = 0 -2:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:5/0/physics_layer_0/angular_velocity = 0.0 -3:5/0 = 0 -3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:5/0/physics_layer_0/angular_velocity = 0.0 -4:5/0 = 0 -4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:5/0/physics_layer_0/angular_velocity = 0.0 -5:5/0 = 0 -5:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:5/0/physics_layer_0/angular_velocity = 0.0 -6:5/0 = 0 -6:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:5/0/physics_layer_0/angular_velocity = 0.0 -7:5/0 = 0 -7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:5/0/physics_layer_0/angular_velocity = 0.0 -8:5/0 = 0 -8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:5/0/physics_layer_0/angular_velocity = 0.0 -9:5/0 = 0 -9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:5/0/physics_layer_0/angular_velocity = 0.0 -10:5/0 = 0 -10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:5/0/physics_layer_0/angular_velocity = 0.0 -11:5/0 = 0 -11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:5/0/physics_layer_0/angular_velocity = 0.0 -12:5/0 = 0 -12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:5/0/physics_layer_0/angular_velocity = 0.0 -13:5/0 = 0 -13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:5/0/physics_layer_0/angular_velocity = 0.0 -14:5/0 = 0 -14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:5/0/physics_layer_0/angular_velocity = 0.0 -15:5/0 = 0 -15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:5/0/physics_layer_0/angular_velocity = 0.0 -16:5/0 = 0 -16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:5/0/physics_layer_0/angular_velocity = 0.0 -17:5/0 = 0 -17:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:5/0/physics_layer_0/angular_velocity = 0.0 -18:5/0 = 0 -18:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:5/0/physics_layer_0/angular_velocity = 0.0 -19:5/0 = 0 -19:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:5/0/physics_layer_0/angular_velocity = 0.0 -20:5/0 = 0 -20:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -20:5/0/physics_layer_0/angular_velocity = 0.0 -21:5/0 = 0 -21:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -21:5/0/physics_layer_0/angular_velocity = 0.0 -22:5/0 = 0 -22:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:5/0/physics_layer_0/angular_velocity = 0.0 -23:5/0 = 0 -23:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:5/0/physics_layer_0/angular_velocity = 0.0 -24:5/0 = 0 -24:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:5/0/physics_layer_0/angular_velocity = 0.0 -25:5/0 = 0 -25:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:5/0/physics_layer_0/angular_velocity = 0.0 -26:5/0 = 0 -26:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -26:5/0/physics_layer_0/angular_velocity = 0.0 -27:5/0 = 0 -27:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -27:5/0/physics_layer_0/angular_velocity = 0.0 -0:6/0 = 0 -0:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:6/0/physics_layer_0/angular_velocity = 0.0 -1:6/0 = 0 -1:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:6/0/physics_layer_0/angular_velocity = 0.0 -2:6/0 = 0 -2:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:6/0/physics_layer_0/angular_velocity = 0.0 -3:6/0 = 0 -3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:6/0/physics_layer_0/angular_velocity = 0.0 -4:6/0 = 0 -4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:6/0/physics_layer_0/angular_velocity = 0.0 -5:6/0 = 0 -5:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:6/0/physics_layer_0/angular_velocity = 0.0 -6:6/0 = 0 -6:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:6/0/physics_layer_0/angular_velocity = 0.0 -7:6/0 = 0 -7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:6/0/physics_layer_0/angular_velocity = 0.0 -8:6/0 = 0 -8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:6/0/physics_layer_0/angular_velocity = 0.0 -9:6/0 = 0 -9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:6/0/physics_layer_0/angular_velocity = 0.0 -10:6/0 = 0 -10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:6/0/physics_layer_0/angular_velocity = 0.0 -11:6/0 = 0 -11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:6/0/physics_layer_0/angular_velocity = 0.0 -12:6/0 = 0 -12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:6/0/physics_layer_0/angular_velocity = 0.0 -13:6/0 = 0 -13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:6/0/physics_layer_0/angular_velocity = 0.0 -14:6/0 = 0 -14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:6/0/physics_layer_0/angular_velocity = 0.0 -15:6/0 = 0 -15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:6/0/physics_layer_0/angular_velocity = 0.0 -16:6/0 = 0 -16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:6/0/physics_layer_0/angular_velocity = 0.0 -17:6/0 = 0 -17:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:6/0/physics_layer_0/angular_velocity = 0.0 -18:6/0 = 0 -18:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:6/0/physics_layer_0/angular_velocity = 0.0 -19:6/0 = 0 -19:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:6/0/physics_layer_0/angular_velocity = 0.0 -20:6/0 = 0 -20:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -20:6/0/physics_layer_0/angular_velocity = 0.0 -21:6/0 = 0 -21:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -21:6/0/physics_layer_0/angular_velocity = 0.0 -22:6/0 = 0 -22:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:6/0/physics_layer_0/angular_velocity = 0.0 -23:6/0 = 0 -23:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:6/0/physics_layer_0/angular_velocity = 0.0 -24:6/0 = 0 -24:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:6/0/physics_layer_0/angular_velocity = 0.0 -25:6/0 = 0 -25:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:6/0/physics_layer_0/angular_velocity = 0.0 -26:6/0 = 0 -26:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -26:6/0/physics_layer_0/angular_velocity = 0.0 -27:6/0 = 0 -27:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -27:6/0/physics_layer_0/angular_velocity = 0.0 -0:7/0 = 0 -0:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:7/0/physics_layer_0/angular_velocity = 0.0 -1:7/0 = 0 -1:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:7/0/physics_layer_0/angular_velocity = 0.0 -2:7/0 = 0 -2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:7/0/physics_layer_0/angular_velocity = 0.0 -3:7/0 = 0 -3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:7/0/physics_layer_0/angular_velocity = 0.0 -4:7/0 = 0 -4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:7/0/physics_layer_0/angular_velocity = 0.0 -5:7/0 = 0 -5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:7/0/physics_layer_0/angular_velocity = 0.0 -6:7/0 = 0 -6:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:7/0/physics_layer_0/angular_velocity = 0.0 -7:7/0 = 0 -7:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:7/0/physics_layer_0/angular_velocity = 0.0 -8:7/0 = 0 -8:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:7/0/physics_layer_0/angular_velocity = 0.0 -9:7/0 = 0 -9:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:7/0/physics_layer_0/angular_velocity = 0.0 -10:7/0 = 0 -10:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:7/0/physics_layer_0/angular_velocity = 0.0 -11:7/0 = 0 -11:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:7/0/physics_layer_0/angular_velocity = 0.0 -12:7/0 = 0 -12:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:7/0/physics_layer_0/angular_velocity = 0.0 -13:7/0 = 0 -13:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:7/0/physics_layer_0/angular_velocity = 0.0 -14:7/0 = 0 -14:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:7/0/physics_layer_0/angular_velocity = 0.0 -15:7/0 = 0 -15:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:7/0/physics_layer_0/angular_velocity = 0.0 -16:7/0 = 0 -16:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:7/0/physics_layer_0/angular_velocity = 0.0 -17:7/0 = 0 -17:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:7/0/physics_layer_0/angular_velocity = 0.0 -18:7/0 = 0 -18:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:7/0/physics_layer_0/angular_velocity = 0.0 -19:7/0 = 0 -19:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:7/0/physics_layer_0/angular_velocity = 0.0 -21:7/0 = 0 -21:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -21:7/0/physics_layer_0/angular_velocity = 0.0 -22:7/0 = 0 -22:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:7/0/physics_layer_0/angular_velocity = 0.0 -23:7/0 = 0 -23:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:7/0/physics_layer_0/angular_velocity = 0.0 -24:7/0 = 0 -24:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:7/0/physics_layer_0/angular_velocity = 0.0 -25:7/0 = 0 -25:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:7/0/physics_layer_0/angular_velocity = 0.0 -26:7/0 = 0 -26:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -26:7/0/physics_layer_0/angular_velocity = 0.0 -27:7/0 = 0 -27:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -27:7/0/physics_layer_0/angular_velocity = 0.0 -0:8/0 = 0 -0:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:8/0/physics_layer_0/angular_velocity = 0.0 -1:8/0 = 0 -1:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:8/0/physics_layer_0/angular_velocity = 0.0 -2:8/0 = 0 -2:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:8/0/physics_layer_0/angular_velocity = 0.0 -3:8/0 = 0 -3:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:8/0/physics_layer_0/angular_velocity = 0.0 -4:8/0 = 0 -4:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:8/0/physics_layer_0/angular_velocity = 0.0 -5:8/0 = 0 -5:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:8/0/physics_layer_0/angular_velocity = 0.0 -6:8/0 = 0 -6:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:8/0/physics_layer_0/angular_velocity = 0.0 -7:8/0 = 0 -7:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:8/0/physics_layer_0/angular_velocity = 0.0 -8:8/0 = 0 -8:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:8/0/physics_layer_0/angular_velocity = 0.0 -9:8/0 = 0 -9:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:8/0/physics_layer_0/angular_velocity = 0.0 -10:8/0 = 0 -10:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:8/0/physics_layer_0/angular_velocity = 0.0 -12:8/0 = 0 -12:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:8/0/physics_layer_0/angular_velocity = 0.0 -13:8/0 = 0 -13:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:8/0/physics_layer_0/angular_velocity = 0.0 -14:8/0 = 0 -14:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:8/0/physics_layer_0/angular_velocity = 0.0 -15:8/0 = 0 -15:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:8/0/physics_layer_0/angular_velocity = 0.0 -16:8/0 = 0 -16:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:8/0/physics_layer_0/angular_velocity = 0.0 -17:8/0 = 0 -17:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:8/0/physics_layer_0/angular_velocity = 0.0 -18:8/0 = 0 -18:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:8/0/physics_layer_0/angular_velocity = 0.0 -19:8/0 = 0 -19:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:8/0/physics_layer_0/angular_velocity = 0.0 -20:8/0 = 0 -20:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -20:8/0/physics_layer_0/angular_velocity = 0.0 -21:8/0 = 0 -21:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -21:8/0/physics_layer_0/angular_velocity = 0.0 -22:8/0 = 0 -22:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:8/0/physics_layer_0/angular_velocity = 0.0 -23:8/0 = 0 -23:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:8/0/physics_layer_0/angular_velocity = 0.0 -24:8/0 = 0 -24:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:8/0/physics_layer_0/angular_velocity = 0.0 -25:8/0 = 0 -25:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:8/0/physics_layer_0/angular_velocity = 0.0 -26:8/0 = 0 -26:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -26:8/0/physics_layer_0/angular_velocity = 0.0 -27:8/0 = 0 -27:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) -27:8/0/physics_layer_0/angular_velocity = 0.0 -0:9/0 = 0 -0:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:9/0/physics_layer_0/angular_velocity = 0.0 -0:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -1:9/0 = 0 -1:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:9/0/physics_layer_0/angular_velocity = 0.0 -1:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 4, 8, 4, 8, 8, -8, 8) -2:9/0 = 0 -2:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:9/0/physics_layer_0/angular_velocity = 0.0 -2:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -3:9/0 = 0 -3:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:9/0/physics_layer_0/angular_velocity = 0.0 -3:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -4:9/0 = 0 -4:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:9/0/physics_layer_0/angular_velocity = 0.0 -4:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -5:9/0 = 0 -5:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:9/0/physics_layer_0/angular_velocity = 0.0 -5:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -6:9/0 = 0 -6:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:9/0/physics_layer_0/angular_velocity = 0.0 -6:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -7:9/0 = 0 -7:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:9/0/physics_layer_0/angular_velocity = 0.0 -8:9/0 = 0 -8:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:9/0/physics_layer_0/angular_velocity = 0.0 -9:9/0 = 0 -9:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:9/0/physics_layer_0/angular_velocity = 0.0 -10:9/0 = 0 -10:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:9/0/physics_layer_0/angular_velocity = 0.0 -11:9/0 = 0 -11:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:9/0/physics_layer_0/angular_velocity = 0.0 -12:9/0 = 0 -12:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:9/0/physics_layer_0/angular_velocity = 0.0 -13:9/0 = 0 -13:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:9/0/physics_layer_0/angular_velocity = 0.0 -14:9/0 = 0 -14:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:9/0/physics_layer_0/angular_velocity = 0.0 -15:9/0 = 0 -15:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:9/0/physics_layer_0/angular_velocity = 0.0 -16:9/0 = 0 -16:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:9/0/physics_layer_0/angular_velocity = 0.0 -17:9/0 = 0 -17:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:9/0/physics_layer_0/angular_velocity = 0.0 -18:9/0 = 0 -18:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:9/0/physics_layer_0/angular_velocity = 0.0 -19:9/0 = 0 -19:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:9/0/physics_layer_0/angular_velocity = 0.0 -21:9/0 = 0 -21:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -21:9/0/physics_layer_0/angular_velocity = 0.0 -23:9/0 = 0 -23:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:9/0/physics_layer_0/angular_velocity = 0.0 -24:9/0 = 0 -24:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:9/0/physics_layer_0/angular_velocity = 0.0 -25:9/0 = 0 -25:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:9/0/physics_layer_0/angular_velocity = 0.0 -26:9/0 = 0 -26:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) -26:9/0/physics_layer_0/angular_velocity = 0.0 -0:10/0 = 0 -0:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:10/0/physics_layer_0/angular_velocity = 0.0 -0:10/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -1:10/0 = 0 -1:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:10/0/physics_layer_0/angular_velocity = 0.0 -1:10/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -2:10/0 = 0 -2:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:10/0/physics_layer_0/angular_velocity = 0.0 -2:10/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -3:10/0 = 0 -3:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:10/0/physics_layer_0/angular_velocity = 0.0 -3:10/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -4:10/0 = 0 -4:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:10/0/physics_layer_0/angular_velocity = 0.0 -4:10/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -5:10/0 = 0 -5:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:10/0/physics_layer_0/angular_velocity = 0.0 -6:10/0 = 0 -6:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:10/0/physics_layer_0/angular_velocity = 0.0 -7:10/0 = 0 -7:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:10/0/physics_layer_0/angular_velocity = 0.0 -8:10/0 = 0 -8:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:10/0/physics_layer_0/angular_velocity = 0.0 -9:10/0 = 0 -9:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:10/0/physics_layer_0/angular_velocity = 0.0 -10:10/0 = 0 -10:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:10/0/physics_layer_0/angular_velocity = 0.0 -11:10/0 = 0 -11:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:10/0/physics_layer_0/angular_velocity = 0.0 -12:10/0 = 0 -12:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:10/0/physics_layer_0/angular_velocity = 0.0 -13:10/0 = 0 -13:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:10/0/physics_layer_0/angular_velocity = 0.0 -14:10/0 = 0 -14:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:10/0/physics_layer_0/angular_velocity = 0.0 -15:10/0 = 0 -15:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:10/0/physics_layer_0/angular_velocity = 0.0 -16:10/0 = 0 -16:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:10/0/physics_layer_0/angular_velocity = 0.0 -17:10/0 = 0 -17:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:10/0/physics_layer_0/angular_velocity = 0.0 -18:10/0 = 0 -18:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:10/0/physics_layer_0/angular_velocity = 0.0 -19:10/0 = 0 -19:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:10/0/physics_layer_0/angular_velocity = 0.0 -20:10/0 = 0 -20:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -20:10/0/physics_layer_0/angular_velocity = 0.0 -21:10/0 = 0 -21:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -21:10/0/physics_layer_0/angular_velocity = 0.0 -22:10/0 = 0 -22:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:10/0/physics_layer_0/angular_velocity = 0.0 -23:10/0 = 0 -23:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:10/0/physics_layer_0/angular_velocity = 0.0 -24:10/0 = 0 -24:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:10/0/physics_layer_0/angular_velocity = 0.0 -25:10/0 = 0 -25:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:10/0/physics_layer_0/angular_velocity = 0.0 -26:10/0 = 0 -26:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -26:10/0/physics_layer_0/angular_velocity = 0.0 -27:10/0 = 0 -27:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) -27:10/0/physics_layer_0/angular_velocity = 0.0 -0:11/0 = 0 -0:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:11/0/physics_layer_0/angular_velocity = 0.0 -0:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -1:11/0 = 0 -1:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:11/0/physics_layer_0/angular_velocity = 0.0 -1:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -2:11/0 = 0 -2:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:11/0/physics_layer_0/angular_velocity = 0.0 -2:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -3:11/0 = 0 -3:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:11/0/physics_layer_0/angular_velocity = 0.0 -4:11/0 = 0 -4:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:11/0/physics_layer_0/angular_velocity = 0.0 -5:11/0 = 0 -5:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:11/0/physics_layer_0/angular_velocity = 0.0 -6:11/0 = 0 -6:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:11/0/physics_layer_0/angular_velocity = 0.0 -7:11/0 = 0 -7:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:11/0/physics_layer_0/angular_velocity = 0.0 -8:11/0 = 0 -8:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:11/0/physics_layer_0/angular_velocity = 0.0 -9:11/0 = 0 -9:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:11/0/physics_layer_0/angular_velocity = 0.0 -10:11/0 = 0 -10:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:11/0/physics_layer_0/angular_velocity = 0.0 -11:11/0 = 0 -11:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:11/0/physics_layer_0/angular_velocity = 0.0 -12:11/0 = 0 -12:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:11/0/physics_layer_0/angular_velocity = 0.0 -13:11/0 = 0 -13:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:11/0/physics_layer_0/angular_velocity = 0.0 -14:11/0 = 0 -14:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:11/0/physics_layer_0/angular_velocity = 0.0 -15:11/0 = 0 -15:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:11/0/physics_layer_0/angular_velocity = 0.0 -16:11/0 = 0 -16:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:11/0/physics_layer_0/angular_velocity = 0.0 -17:11/0 = 0 -17:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:11/0/physics_layer_0/angular_velocity = 0.0 -18:11/0 = 0 -18:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:11/0/physics_layer_0/angular_velocity = 0.0 -19:11/0 = 0 -19:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:11/0/physics_layer_0/angular_velocity = 0.0 -20:11/0 = 0 -20:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -20:11/0/physics_layer_0/angular_velocity = 0.0 -22:11/0 = 0 -22:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:11/0/physics_layer_0/angular_velocity = 0.0 -23:11/0 = 0 -23:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:11/0/physics_layer_0/angular_velocity = 0.0 -24:11/0 = 0 -24:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:11/0/physics_layer_0/angular_velocity = 0.0 -25:11/0 = 0 -25:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:11/0/physics_layer_0/angular_velocity = 0.0 -26:11/0 = 0 -26:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -26:11/0/physics_layer_0/angular_velocity = 0.0 -27:11/0 = 0 -27:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) -27:11/0/physics_layer_0/angular_velocity = 0.0 -0:12/0 = 0 -0:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:12/0/physics_layer_0/angular_velocity = 0.0 -1:12/0 = 0 -1:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:12/0/physics_layer_0/angular_velocity = 0.0 -2:12/0 = 0 -2:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:12/0/physics_layer_0/angular_velocity = 0.0 -3:12/0 = 0 -3:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:12/0/physics_layer_0/angular_velocity = 0.0 -4:12/0 = 0 -4:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:12/0/physics_layer_0/angular_velocity = 0.0 -5:12/0 = 0 -5:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:12/0/physics_layer_0/angular_velocity = 0.0 -6:12/0 = 0 -6:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:12/0/physics_layer_0/angular_velocity = 0.0 -7:12/0 = 0 -7:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:12/0/physics_layer_0/angular_velocity = 0.0 -8:12/0 = 0 -8:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:12/0/physics_layer_0/angular_velocity = 0.0 -10:12/0 = 0 -10:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:12/0/physics_layer_0/angular_velocity = 0.0 -11:12/0 = 0 -11:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:12/0/physics_layer_0/angular_velocity = 0.0 -12:12/0 = 0 -12:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:12/0/physics_layer_0/angular_velocity = 0.0 -13:12/0 = 0 -13:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:12/0/physics_layer_0/angular_velocity = 0.0 -14:12/0 = 0 -14:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:12/0/physics_layer_0/angular_velocity = 0.0 -15:12/0 = 0 -15:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:12/0/physics_layer_0/angular_velocity = 0.0 -16:12/0 = 0 -16:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:12/0/physics_layer_0/angular_velocity = 0.0 -17:12/0 = 0 -17:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:12/0/physics_layer_0/angular_velocity = 0.0 -18:12/0 = 0 -18:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -18:12/0/physics_layer_0/angular_velocity = 0.0 -19:12/0 = 0 -19:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -19:12/0/physics_layer_0/angular_velocity = 0.0 -22:12/0 = 0 -22:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -22:12/0/physics_layer_0/angular_velocity = 0.0 -23:12/0 = 0 -23:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -23:12/0/physics_layer_0/angular_velocity = 0.0 -24:12/0 = 0 -24:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -24:12/0/physics_layer_0/angular_velocity = 0.0 -25:12/0 = 0 -25:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -25:12/0/physics_layer_0/angular_velocity = 0.0 -27:12/0 = 0 -27:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) -27:12/0/physics_layer_0/angular_velocity = 0.0 -0:13/0 = 0 -0:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:13/0/physics_layer_0/angular_velocity = 0.0 -2:13/0 = 0 -2:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:13/0/physics_layer_0/angular_velocity = 0.0 -3:13/0 = 0 -3:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:13/0/physics_layer_0/angular_velocity = 0.0 -5:13/0 = 0 -5:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:13/0/physics_layer_0/angular_velocity = 0.0 -6:13/0 = 0 -6:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:13/0/physics_layer_0/angular_velocity = 0.0 -7:13/0 = 0 -7:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:13/0/physics_layer_0/angular_velocity = 0.0 -8:13/0 = 0 -8:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:13/0/physics_layer_0/angular_velocity = 0.0 -9:13/0 = 0 -9:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:13/0/physics_layer_0/angular_velocity = 0.0 -10:13/0 = 0 -10:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:13/0/physics_layer_0/angular_velocity = 0.0 -11:13/0 = 0 -11:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:13/0/physics_layer_0/angular_velocity = 0.0 -12:13/0 = 0 -12:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:13/0/physics_layer_0/angular_velocity = 0.0 -13:13/0 = 0 -13:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -13:13/0/physics_layer_0/angular_velocity = 0.0 -14:13/0 = 0 -14:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -14:13/0/physics_layer_0/angular_velocity = 0.0 -15:13/0 = 0 -15:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -15:13/0/physics_layer_0/angular_velocity = 0.0 -16:13/0 = 0 -16:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -16:13/0/physics_layer_0/angular_velocity = 0.0 -17:13/0 = 0 -17:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) -17:13/0/physics_layer_0/angular_velocity = 0.0 -0:14/0 = 0 -0:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:14/0/physics_layer_0/angular_velocity = 0.0 -2:14/0 = 0 -2:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:14/0/physics_layer_0/angular_velocity = 0.0 -3:14/0 = 0 -3:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:14/0/physics_layer_0/angular_velocity = 0.0 -5:14/0 = 0 -5:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:14/0/physics_layer_0/angular_velocity = 0.0 -6:14/0 = 0 -6:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:14/0/physics_layer_0/angular_velocity = 0.0 -7:14/0 = 0 -7:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:14/0/physics_layer_0/angular_velocity = 0.0 -8:14/0 = 0 -8:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:14/0/physics_layer_0/angular_velocity = 0.0 -9:14/0 = 0 -9:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -9:14/0/physics_layer_0/angular_velocity = 0.0 -10:14/0 = 0 -10:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -10:14/0/physics_layer_0/angular_velocity = 0.0 -11:14/0 = 0 -11:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -11:14/0/physics_layer_0/angular_velocity = 0.0 -12:14/0 = 0 -12:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) -12:14/0/physics_layer_0/angular_velocity = 0.0 -7:0/size_in_atlas = Vector2i(3, 3) -7:0/0 = 0 -7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:0/0/physics_layer_0/angular_velocity = 0.0 -7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-10, -8, 10, -8, 10, 22, -10, 22) - -[sub_resource type="TileSet" id="TileSet_18c7j"] -physics_layer_0/collision_layer = 1 -sources/0 = SubResource("TileSetAtlasSource_1pa1q") - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_drg0k"] -size = Vector2(34, 14) - -[sub_resource type="Environment" id="Environment_pxx66"] -background_mode = 3 -glow_enabled = true - -[node name="TileMap" type="TileMap" node_paths=PackedStringArray("Entities", "Areas", "Spawners")] -y_sort_enabled = true -texture_filter = 3 -tile_set = SubResource("TileSet_18c7j") -format = 2 -layer_0/name = "Walls" -layer_0/y_sort_enabled = true -layer_0/tile_data = PackedInt32Array(131065, 458752, 0, -65531, 458752, 0, 327679, 458752, 3, 327687, 458752, 3, 65517, 458752, 3, 786415, 458752, 3, 65511, 458752, 3, 655339, 458752, 3, -327700, 458752, 3, 327662, 458752, 3, 917493, 458752, 3, 851969, 458752, 3, 720893, 458752, 3, 655370, 458752, 3, 983056, 458752, 3, 983051, 458752, 3, -589839, 458752, 0, -458764, 458752, 0, -589834, 458752, 0, -720902, 458752, 0, -458754, 458752, 0, -655357, 458752, 0, -458745, 458752, 0, -327678, 458752, 0, -720885, 458752, 0, -393201, 458752, 0, -327669, 458752, 0, -720920, 458752, 0, -327706, 458752, 0, -393232, 458752, 0, -196631, 458752, 0, -131089, 458752, 0, -589844, 458752, 0, -917517, 458752, 0, -1114117, 458752, 0, -917504, 458752, 0, -1114108, 458752, 0, -1114100, 458752, 0, -851961, 458752, 0, -983023, 458752, 0, -524267, 458752, 0, 18, 458752, 0, 131094, 458752, 0, 393236, 458752, 0, 589840, 458752, 0, 720920, 458752, 0, -327651, 458752, 0, -1048553, 458752, 0, 131100, 458752, 0, 393191, 458752, 0, -983070, 458752, 0, 1048548, 458752, 0, 1507311, 458752, 0, 1114110, 458752, 0, 1310747, 458752, 0) -layer_1/name = "Ground 2" -layer_1/enabled = true -layer_1/modulate = Color(1, 1, 1, 1) -layer_1/y_sort_enabled = false -layer_1/y_sort_origin = 0 -layer_1/z_index = -1 -layer_1/tile_data = PackedInt32Array(-262157, 65536, 11, -262156, 65536, 11, -262155, 65536, 11, -262154, 65536, 11, -262153, 65536, 11, -262152, 65536, 11, -262151, 65536, 11, -262150, 65536, 11, -262149, 65536, 11, -262148, 65536, 11, -262147, 65536, 11, -262146, 262144, 9, -196610, 0, 10, -131074, 0, 11, -131073, 65536, 11, -196608, 65536, 11, -196607, 65536, 11, -196606, 65536, 11, -196605, 65536, 11, -196604, 65536, 11, -196603, 65536, 11, -196602, 65536, 11, -196601, 65536, 11, -196600, 65536, 11, -196599, 65536, 11, -196598, 65536, 11, -196597, 65536, 11, -196596, 65536, 11, -196595, 65536, 11, -524301, 327680, 1, -458765, 327680, 0, -393229, 327680, 1, -327693, 393216, 1, -589811, 327680, 0, -589812, 327680, 0, -589813, 327680, 0, -589814, 393216, 1, -589815, 327680, 0, -589816, 327680, 1, -589817, 327680, 0, -589818, 393216, 1, -589819, 327680, 0, -589820, 327680, 0, -589821, 327680, 1, -589822, 327680, 0, -589823, 327680, 0, -589824, 393216, 1, -524289, 393216, 1, -524290, 327680, 1, -524291, 393216, 1, -524292, 327680, 0, -524293, 393216, 1, -524294, 327680, 1, -524295, 393216, 1, -524296, 327680, 1, -524297, 327680, 1, -524298, 327680, 0, -524299, 327680, 1, -524300, 327680, 1, -524275, 327680, 0, -458739, 327680, 1, -393203, 327680, 0, -327667, 327680, 1, -262131, 393216, 1, -458753, 327680, 0, -458754, 327680, 0, -458755, 393216, 1, -458756, 327680, 0, -458757, 327680, 0, -458758, 327680, 1, -458759, 327680, 0, -458760, 393216, 1, -458761, 393216, 1, -458762, 327680, 0, -458763, 393216, 1, -458764, 393216, 1, -393228, 327680, 1, -327692, 327680, 1, -327691, 327680, 0, -393227, 327680, 1, -393226, 327680, 0, -327690, 327680, 1, -327689, 393216, 1, -393225, 327680, 0, -393224, 327680, 1, -327688, 327680, 0, -327687, 327680, 0, -393223, 327680, 0, -393222, 327680, 0, -327686, 393216, 1, -327685, 327680, 0, -393221, 327680, 1, -393220, 327680, 1, -327684, 327680, 1, -327683, 327680, 0, -393219, 327680, 1, -393218, 327680, 1, -327682, 327680, 0, -327681, 327680, 1, -393217, 327680, 1, -458752, 393216, 1, -524288, 327680, 0, -524287, 393216, 1, -458751, 327680, 0, -393215, 327680, 1, -393216, 327680, 0, -327680, 327680, 1, -262145, 327680, 0, -196609, 393216, 1, -262144, 393216, 1, -262143, 327680, 0, -327679, 327680, 1, -327678, 327680, 0, -393214, 327680, 0, -458750, 327680, 1, -524286, 327680, 0, -524285, 327680, 0, -458749, 327680, 0, -393213, 327680, 1, -327677, 327680, 0, -262141, 393216, 1, -262142, 327680, 0, -262140, 327680, 0, -327676, 327680, 1, -393212, 327680, 1, -458748, 327680, 1, -524284, 327680, 0, -524283, 327680, 0, -458747, 393216, 1, -393211, 327680, 1, -327675, 393216, 1, -262139, 327680, 1, -262138, 327680, 1, -327674, 327680, 0, -393210, 393216, 1, -458746, 327680, 0, -524282, 327680, 0, -524281, 393216, 1, -458745, 327680, 1, -393209, 327680, 0, -327673, 327680, 0, -262137, 327680, 1, -262136, 393216, 1, -327672, 327680, 1, -393208, 327680, 0, -458744, 393216, 1, -524280, 327680, 0, -524279, 393216, 1, -458743, 327680, 0, -393207, 327680, 0, -327671, 327680, 0, -262135, 393216, 1, -262134, 327680, 0, -327670, 327680, 0, -393206, 327680, 0, -458742, 393216, 1, -524278, 327680, 1, -524277, 393216, 1, -458741, 327680, 1, -393205, 327680, 0, -327669, 327680, 1, -262133, 327680, 1, -262132, 327680, 1, -327668, 327680, 0, -393204, 393216, 1, -458740, 393216, 1, -524276, 327680, 1, -262158, 196608, 9, -196622, 131072, 10, -131086, 131072, 10, -65550, 131072, 10, -14, 131072, 10, 65522, 131072, 10, 131058, 131072, 10, 196594, 131072, 10, 262130, 131072, 10, 327666, 131072, 10, 393202, 131072, 10, 458738, 131072, 10, -327694, 327680, 0, -327695, 327680, 0, -327696, 327680, 1, -327697, 327680, 1, -327698, 327680, 0, -262162, 327680, 0, -262161, 327680, 0, -262160, 327680, 0, -262159, 327680, 0, -196626, 327680, 1, -131090, 327680, 1, -65554, 327680, 1, -18, 327680, 1, 65518, 327680, 0, 131054, 327680, 0, 196590, 327680, 0, 262126, 327680, 0, 327662, 327680, 0, 393198, 327680, 0, 458734, 327680, 0, -196625, 327680, 0, -131089, 327680, 0, -65553, 327680, 0, -17, 327680, 0, 65519, 327680, 0, 131055, 327680, 0, 196591, 327680, 0, 262127, 327680, 0, 327663, 327680, 0, 393199, 327680, 0, 458735, 393216, 0, -196624, 327680, 0, -131088, 327680, 0, -65552, 393216, 1, -16, 393216, 1, 65520, 327680, 1, 131056, 327680, 1, 196592, 327680, 0, 262128, 327680, 0, 327664, 327680, 0, 393200, 327680, 0, 458736, 327680, 0, -196623, 327680, 0, -131087, 327680, 1, -65551, 327680, 1, -15, 327680, 1, 65521, 327680, 1, 131057, 327680, 0, 196593, 327680, 0, 262129, 327680, 1, 327665, 327680, 1, 393201, 327680, 0, 458737, 327680, 0, -524306, 327680, 0, -458770, 327680, 0, -393234, 327680, 0, -524305, 327680, 0, -458769, 327680, 0, -393233, 327680, 0, -524304, 327680, 0, -458768, 327680, 0, -393232, 327680, 0, -524303, 327680, 0, -458767, 327680, 0, -393231, 327680, 0, -524302, 327680, 0, -458766, 327680, 0, -393230, 327680, 0, 589806, 393216, 1, 655342, 327680, 0, 720878, 327680, 0, 786414, 327680, 0, 851950, 327680, 0, 589807, 327680, 0, 655343, 327680, 0, 720879, 327680, 0, 786415, 327680, 0, 851951, 327680, 0, 589808, 327680, 0, 655344, 327680, 0, 720880, 327680, 0, 786416, 327680, 0, 851952, 327680, 0, 589809, 327680, 0, 655345, 327680, 1, 720881, 327680, 0, 786417, 327680, 0, 851953, 327680, 0, 589810, 393216, 1, 655346, 327680, 1, 720882, 327680, 1, 786418, 327680, 0, 851954, 327680, 0, 589811, 393216, 1, 655347, 327680, 1, 720883, 327680, 1, 786419, 327680, 0, 851955, 327680, 0, 589812, 327680, 0, 655348, 327680, 0, 720884, 327680, 0, 786420, 327680, 0, 851956, 327680, 0, 589813, 327680, 0, 655349, 327680, 0, 720885, 327680, 0, 786421, 327680, 0, 851957, 327680, 0, 589814, 327680, 0, 655350, 327680, 0, 720886, 327680, 0, 786422, 327680, 0, 851958, 327680, 0, 589815, 327680, 0, 655351, 327680, 0, 720887, 327680, 0, 786423, 327680, 0, 851959, 327680, 0, 589816, 327680, 0, 655352, 327680, 0, 720888, 327680, 1, 786424, 327680, 0, 851960, 327680, 0, 589817, 327680, 0, 655353, 327680, 1, 720889, 327680, 1, 786425, 327680, 0, 851961, 327680, 0, 589818, 327680, 0, 655354, 327680, 1, 720890, 327680, 1, 786426, 327680, 0, 851962, 327680, 0, 589819, 327680, 0, 655355, 327680, 1, 720891, 327680, 1, 786427, 327680, 0, 851963, 327680, 0, 589820, 327680, 0, 655356, 327680, 1, 720892, 393216, 1, 786428, 327680, 0, 851964, 327680, 0, 589821, 327680, 0, 655357, 327680, 1, 720893, 327680, 0, 786429, 327680, 0, 851965, 327680, 0, 589822, 327680, 0, 655358, 327680, 0, 720894, 327680, 0, 786430, 327680, 0, 851966, 327680, 0, 589823, 327680, 0, 655359, 327680, 0, 720895, 327680, 0, 786431, 327680, 0, 851967, 327680, 0, 524288, 327680, 0, 589824, 327680, 0, 655360, 327680, 0, 720896, 327680, 0, 786432, 327680, 0, 524289, 327680, 0, 589825, 327680, 0, 655361, 327680, 0, 720897, 327680, 0, 786433, 327680, 0, 524290, 327680, 0, 589826, 327680, 0, 655362, 327680, 0, 720898, 327680, 0, 786434, 327680, 0, 524291, 327680, 0, 589827, 327680, 0, 655363, 327680, 0, 720899, 327680, 0, 786435, 327680, 0, 524292, 327680, 0, 589828, 327680, 0, 655364, 327680, 1, 720900, 327680, 0, 786436, 327680, 0, 524293, 327680, 0, 589829, 393216, 1, 655365, 327680, 1, 720901, 327680, 0, 786437, 327680, 0, 524294, 327680, 0, 589830, 393216, 1, 655366, 327680, 1, 720902, 327680, 0, 786438, 327680, 0, 524295, 327680, 0, 589831, 327680, 1, 655367, 327680, 1, 720903, 327680, 0, 786439, 327680, 0, 524296, 327680, 0, 589832, 327680, 1, 655368, 327680, 0, 720904, 327680, 0, 786440, 327680, 0, 524297, 327680, 0, 589833, 327680, 1, 655369, 327680, 0, 720905, 327680, 0, 786441, 327680, 0, 524298, 327680, 0, 589834, 327680, 1, 655370, 327680, 0, 720906, 327680, 0, 786442, 327680, 0, 524299, 327680, 0, 589835, 327680, 0, 655371, 327680, 0, 720907, 327680, 0, 786443, 327680, 0, 524300, 327680, 0, 589836, 327680, 0, 655372, 327680, 0, 720908, 327680, 0, 786444, 327680, 0, 524301, 327680, 0, 589837, 327680, 0, 655373, 327680, 0, 720909, 327680, 0, 786445, 327680, 0, 524302, 327680, 0, 589838, 327680, 0, 655374, 327680, 0, 720910, 327680, 0, 786446, 327680, 0, -589809, 327680, 0, -524273, 327680, 0, -458737, 327680, 0, -393201, 327680, 0, -327665, 327680, 0, -262129, 327680, 0, -196593, 327680, 0, -131057, 327680, 0, -65521, 327680, 0, 15, 327680, 0, 65551, 327680, 0, 131087, 327680, 0, 196623, 327680, 0, 262159, 327680, 0, 327695, 327680, 0, 393231, 327680, 0, 458767, 327680, 0, 524303, 327680, 0, 589839, 327680, 0, 655375, 327680, 0, 720911, 327680, 0, 786447, 327680, 0, -589808, 327680, 0, -524272, 327680, 0, -458736, 327680, 0, -393200, 327680, 0, -327664, 327680, 0, -262128, 327680, 0, -196592, 327680, 0, -131056, 327680, 0, -65520, 327680, 0, 16, 327680, 0, 65552, 327680, 0, 131088, 327680, 0, 196624, 327680, 0, 262160, 327680, 0, 327696, 327680, 0, 393232, 327680, 0, 458768, 327680, 1, 524304, 327680, 1, 589840, 327680, 1, 655376, 327680, 0, 720912, 327680, 0, 786448, 327680, 0, -589807, 327680, 0, -524271, 327680, 1, -458735, 327680, 1, -393199, 327680, 0, -327663, 327680, 0, -262127, 327680, 0, -196591, 327680, 1, -131055, 327680, 1, -65519, 327680, 1, 17, 393216, 1, 65553, 327680, 0, 131089, 327680, 0, 196625, 327680, 1, 262161, 327680, 1, 327697, 327680, 0, 393233, 327680, 0, 458769, 393216, 1, 524305, 393216, 1, 589841, 327680, 0, 655377, 327680, 0, 720913, 327680, 0, 786449, 327680, 0, -589806, 327680, 0, -524270, 327680, 0, -458734, 327680, 0, -393198, 327680, 0, -327662, 327680, 0, -262126, 327680, 1, -196590, 327680, 1, -131054, 327680, 1, -65518, 327680, 1, 18, 327680, 1, 65554, 327680, 0, 131090, 327680, 0, 196626, 327680, 0, 262162, 327680, 0, 327698, 327680, 1, 393234, 327680, 1, 458770, 327680, 1, 524306, 327680, 0, 589842, 327680, 0, 655378, 327680, 0, 720914, 327680, 0, 786450, 327680, 0, -589805, 327680, 0, -524269, 327680, 0, -458733, 327680, 0, -393197, 327680, 0, -327661, 327680, 0, -262125, 327680, 0, -196589, 327680, 0, -131053, 327680, 0, -65517, 327680, 0, 19, 327680, 0, 65555, 327680, 0, 131091, 327680, 0, 196627, 327680, 0, 262163, 327680, 0, 327699, 327680, 0, 393235, 327680, 0, 458771, 327680, 0, 524307, 327680, 0, 589843, 327680, 0, 655379, 327680, 0, 720915, 327680, 0, 786451, 327680, 0, -196594, 262144, 9, 458766, 262144, 10, 524274, 196608, 10, 524275, 65536, 9, 524276, 65536, 9, 524277, 65536, 9, 524278, 65536, 9, 524279, 65536, 9, 524280, 65536, 9, 524281, 65536, 9, 524282, 65536, 9, 524283, 65536, 9, 524284, 65536, 9, 524285, 65536, 9, 524286, 65536, 9, 524287, 65536, 9, 458752, 65536, 9, 458753, 65536, 9, 458754, 65536, 9, 458755, 65536, 9, 458756, 65536, 9, 458757, 65536, 9, 458758, 65536, 9, 458759, 65536, 9, 458760, 65536, 9, 458761, 65536, 9, 458762, 65536, 9, 458763, 65536, 9, 458764, 65536, 9, 458765, 65536, 9, 393230, 0, 10, 327694, 0, 10, 262158, 0, 10, 196622, 0, 10, 131086, 0, 10, 65550, 0, 10, 14, 0, 10, -65522, 0, 10, -131058, 0, 10, 524273, 327680, 1, 524272, 327680, 1, 524271, 327680, 1, 524270, 327680, 1, -262130, 327680, 1, -327666, 327680, 1, -393202, 327680, 1, -458738, 327680, 1, -524274, 327680, 0, -589810, 327680, 0, -655346, 327680, 0, -851986, 327680, 0, -786450, 327680, 0, -720914, 327680, 0, -655378, 327680, 0, -589842, 327680, 0, -851985, 327680, 0, -786449, 327680, 0, -720913, 327680, 0, -655377, 327680, 0, -589841, 327680, 0, -851984, 327680, 0, -786448, 327680, 0, -720912, 327680, 0, -655376, 327680, 0, -589840, 327680, 0, -851983, 327680, 0, -786447, 327680, 0, -720911, 327680, 0, -655375, 327680, 0, -589839, 327680, 0, -851982, 327680, 0, -786446, 327680, 0, -720910, 327680, 0, -655374, 327680, 0, -589838, 327680, 0, -851981, 327680, 0, -786445, 327680, 0, -720909, 327680, 0, -655373, 327680, 0, -589837, 327680, 0, -851980, 327680, 0, -786444, 327680, 0, -720908, 327680, 0, -655372, 327680, 0, -589836, 327680, 0, -851979, 327680, 0, -786443, 327680, 0, -720907, 327680, 0, -655371, 327680, 0, -589835, 327680, 0, -851978, 327680, 0, -786442, 327680, 0, -720906, 327680, 0, -655370, 327680, 0, -589834, 327680, 0, -851977, 327680, 0, -786441, 327680, 0, -720905, 327680, 0, -655369, 327680, 0, -589833, 327680, 0, -851976, 327680, 0, -786440, 327680, 0, -720904, 327680, 0, -655368, 327680, 0, -589832, 327680, 0, -851975, 327680, 0, -786439, 327680, 0, -720903, 327680, 0, -655367, 327680, 0, -589831, 327680, 0, -851974, 327680, 0, -786438, 327680, 0, -720902, 327680, 0, -655366, 327680, 0, -589830, 327680, 0, -851973, 327680, 0, -786437, 327680, 0, -720901, 327680, 0, -655365, 327680, 0, -589829, 327680, 0, -851972, 327680, 0, -786436, 327680, 0, -720900, 327680, 0, -655364, 327680, 0, -589828, 327680, 0, -851971, 327680, 0, -786435, 327680, 0, -720899, 327680, 0, -655363, 327680, 0, -589827, 327680, 0, -851970, 327680, 0, -786434, 327680, 0, -720898, 327680, 0, -655362, 327680, 0, -589826, 327680, 0, -851969, 327680, 0, -786433, 327680, 0, -720897, 327680, 0, -655361, 327680, 0, -589825, 327680, 0, -917504, 327680, 0, -851968, 327680, 0, -786432, 327680, 0, -720896, 327680, 0, -655360, 327680, 0, -917503, 327680, 0, -851967, 327680, 0, -786431, 327680, 0, -720895, 327680, 0, -655359, 327680, 0, -917502, 327680, 0, -851966, 327680, 0, -786430, 327680, 0, -720894, 327680, 0, -655358, 327680, 0, -917501, 327680, 0, -851965, 327680, 0, -786429, 327680, 0, -720893, 327680, 0, -655357, 327680, 0, -917500, 327680, 0, -851964, 327680, 0, -786428, 327680, 0, -720892, 327680, 0, -655356, 327680, 0, -917499, 327680, 0, -851963, 327680, 0, -786427, 327680, 0, -720891, 327680, 0, -655355, 327680, 0, -917498, 327680, 0, -851962, 327680, 0, -786426, 327680, 0, -720890, 327680, 0, -655354, 327680, 0, -917497, 327680, 0, -851961, 327680, 0, -786425, 327680, 0, -720889, 327680, 0, -655353, 327680, 0, -917496, 327680, 0, -851960, 327680, 0, -786424, 327680, 0, -720888, 327680, 0, -655352, 327680, 0, -917495, 327680, 0, -851959, 327680, 0, -786423, 327680, 0, -720887, 327680, 0, -655351, 327680, 0, -917494, 327680, 0, -851958, 327680, 0, -786422, 327680, 0, -720886, 327680, 0, -655350, 327680, 0, -917493, 327680, 0, -851957, 327680, 0, -786421, 327680, 0, -720885, 327680, 0, -655349, 327680, 0, -917492, 327680, 0, -851956, 327680, 0, -786420, 327680, 0, -720884, 327680, 0, -655348, 327680, 0, -917491, 327680, 0, -851955, 327680, 0, -786419, 327680, 0, -720883, 327680, 0, -655347, 327680, 0, -917490, 327680, 0, -851954, 327680, 0, -786418, 327680, 0, -720882, 327680, 0, -917489, 327680, 0, -851953, 327680, 0, -786417, 327680, 0, -720881, 327680, 0, -655345, 327680, 0, -917488, 327680, 0, -851952, 327680, 0, -786416, 327680, 0, -720880, 327680, 0, -655344, 327680, 0, -917487, 327680, 0, -851951, 327680, 0, -786415, 327680, 0, -720879, 327680, 0, -655343, 327680, 0, -917486, 327680, 0, -851950, 327680, 0, -786414, 327680, 0, -720878, 327680, 0, -655342, 327680, 0, -917485, 327680, 0, -851949, 327680, 0, -786413, 327680, 0, -720877, 327680, 0, -655341, 327680, 0, -851994, 327680, 0, -786458, 327680, 0, -720922, 327680, 0, -655386, 327680, 0, -589850, 327680, 0, -524314, 327680, 0, -458778, 327680, 0, -393242, 327680, 0, -327706, 327680, 0, -262170, 327680, 0, -196634, 327680, 0, -131098, 327680, 0, -65562, 327680, 0, -26, 327680, 0, 65510, 327680, 0, 131046, 327680, 0, 196582, 327680, 0, 262118, 327680, 0, 327654, 327680, 0, 393190, 327680, 0, 458726, 327680, 0, 524262, 327680, 0, 589798, 327680, 0, 655334, 327680, 0, 720870, 327680, 0, 786406, 327680, 0, 851942, 327680, 0, 917478, 327680, 0, -851993, 327680, 0, -786457, 327680, 0, -720921, 327680, 0, -655385, 327680, 0, -589849, 327680, 0, -524313, 327680, 0, -458777, 327680, 0, -393241, 327680, 0, -327705, 327680, 0, -262169, 327680, 0, -196633, 327680, 0, -131097, 327680, 0, -65561, 327680, 0, -25, 327680, 0, 65511, 327680, 0, 131047, 327680, 0, 196583, 327680, 0, 262119, 327680, 0, 327655, 327680, 0, 393191, 327680, 0, 458727, 327680, 0, 524263, 327680, 0, 589799, 327680, 0, 655335, 327680, 0, 720871, 327680, 0, 786407, 327680, 0, 851943, 327680, 0, 917479, 327680, 0, -851992, 327680, 0, -786456, 327680, 0, -720920, 327680, 0, -655384, 327680, 0, -589848, 327680, 0, -524312, 327680, 0, -458776, 327680, 0, -393240, 327680, 0, -327704, 327680, 0, -262168, 327680, 0, -196632, 327680, 0, -131096, 327680, 0, -65560, 327680, 0, -24, 327680, 0, 65512, 327680, 0, 131048, 327680, 0, 196584, 327680, 0, 262120, 327680, 0, 327656, 327680, 0, 393192, 327680, 0, 458728, 327680, 0, 524264, 327680, 0, 589800, 327680, 0, 655336, 327680, 0, 720872, 327680, 0, 786408, 327680, 0, 851944, 327680, 0, 917480, 327680, 0, -851991, 327680, 0, -786455, 327680, 0, -720919, 327680, 0, -655383, 327680, 0, -589847, 327680, 0, -524311, 327680, 0, -458775, 327680, 0, -393239, 327680, 0, -327703, 327680, 0, -262167, 327680, 0, -196631, 327680, 0, -131095, 327680, 0, -65559, 327680, 0, -23, 327680, 0, 65513, 327680, 0, 131049, 327680, 0, 196585, 327680, 0, 262121, 327680, 0, 327657, 327680, 0, 393193, 327680, 0, 458729, 327680, 0, 524265, 327680, 0, 589801, 327680, 0, 655337, 327680, 0, 720873, 327680, 0, 786409, 327680, 0, 851945, 327680, 0, 917481, 327680, 0, -851990, 327680, 0, -786454, 327680, 0, -720918, 327680, 0, -655382, 327680, 0, -589846, 327680, 0, -524310, 327680, 0, -458774, 327680, 0, -393238, 327680, 0, -327702, 327680, 0, -262166, 327680, 0, -196630, 327680, 0, -131094, 327680, 0, -65558, 327680, 0, -22, 327680, 0, 65514, 327680, 0, 131050, 327680, 0, 196586, 327680, 0, 262122, 327680, 0, 327658, 327680, 0, 393194, 327680, 0, 458730, 327680, 0, 524266, 327680, 0, 589802, 327680, 0, 655338, 327680, 0, 720874, 327680, 0, 786410, 327680, 0, 851946, 327680, 0, 917482, 327680, 0, -851989, 327680, 0, -786453, 327680, 0, -720917, 327680, 0, -655381, 327680, 0, -589845, 327680, 0, -524309, 327680, 0, -458773, 327680, 0, -393237, 327680, 0, -327701, 327680, 0, -262165, 327680, 0, -196629, 327680, 0, -131093, 327680, 0, -65557, 327680, 0, -21, 327680, 0, 65515, 327680, 0, 131051, 327680, 0, 196587, 327680, 0, 262123, 327680, 0, 327659, 327680, 0, 393195, 327680, 0, 458731, 327680, 0, 524267, 327680, 0, 589803, 327680, 0, 655339, 327680, 0, 720875, 327680, 0, 786411, 327680, 0, 851947, 327680, 0, 917483, 327680, 0, -851988, 327680, 0, -786452, 327680, 0, -720916, 327680, 0, -655380, 327680, 0, -589844, 327680, 0, -524308, 327680, 0, -458772, 327680, 0, -393236, 327680, 0, -327700, 327680, 0, -262164, 327680, 0, -196628, 327680, 0, -131092, 327680, 0, -65556, 327680, 0, -20, 327680, 0, 65516, 327680, 0, 131052, 327680, 0, 196588, 327680, 0, 262124, 327680, 0, 327660, 327680, 0, 393196, 327680, 0, 458732, 327680, 0, 524268, 327680, 0, 589804, 327680, 0, 655340, 327680, 0, 720876, 327680, 0, 786412, 327680, 0, 851948, 327680, 0, 917484, 327680, 0, -851987, 327680, 0, -786451, 327680, 0, -720915, 327680, 0, -655379, 327680, 0, -589843, 327680, 0, -524307, 327680, 0, -458771, 327680, 0, -393235, 327680, 0, -327699, 327680, 0, -262163, 327680, 0, -196627, 327680, 0, -131091, 327680, 0, -65555, 327680, 0, -19, 327680, 0, 65517, 327680, 0, 131053, 327680, 0, 196589, 327680, 0, 262125, 327680, 0, 327661, 327680, 0, 393197, 327680, 0, 458733, 327680, 0, 524269, 327680, 0, 589805, 327680, 0, 655341, 327680, 0, 720877, 327680, 0, 786413, 327680, 0, 851949, 327680, 0, 917485, 327680, 0, 983015, 327680, 0, 1048551, 327680, 0, 1114087, 327680, 0, 1179623, 327680, 0, 1245159, 327680, 0, 983016, 327680, 0, 1048552, 327680, 0, 1114088, 327680, 0, 1179624, 327680, 0, 1245160, 327680, 0, 983017, 327680, 0, 1048553, 327680, 0, 1114089, 327680, 0, 1179625, 327680, 0, 1245161, 327680, 0, 983018, 327680, 0, 1048554, 327680, 0, 1114090, 327680, 0, 1179626, 327680, 0, 1245162, 327680, 0, 983019, 327680, 0, 1048555, 327680, 0, 1114091, 327680, 0, 1179627, 327680, 0, 1245163, 327680, 0, 983020, 327680, 0, 1048556, 327680, 0, 1114092, 327680, 0, 1179628, 327680, 0, 1245164, 327680, 0, 983021, 327680, 0, 1048557, 327680, 0, 1114093, 327680, 0, 1179629, 327680, 0, 1245165, 327680, 0, 917486, 327680, 0, 983022, 327680, 0, 1048558, 327680, 0, 1114094, 327680, 0, 1179630, 327680, 0, 1245166, 327680, 0, 917487, 327680, 0, 983023, 327680, 0, 1048559, 327680, 0, 1114095, 327680, 0, 1179631, 327680, 0, 1245167, 327680, 0, 917488, 327680, 0, 983024, 327680, 0, 1048560, 327680, 0, 1114096, 327680, 0, 1179632, 327680, 0, 1245168, 327680, 0, 917489, 327680, 0, 983025, 327680, 0, 1048561, 327680, 0, 1114097, 327680, 0, 1179633, 327680, 0, 1245169, 327680, 0, 917490, 327680, 0, 983026, 327680, 0, 1048562, 327680, 0, 1114098, 327680, 0, 1179634, 327680, 0, 1245170, 327680, 0, 917491, 327680, 0, 983027, 327680, 0, 1048563, 327680, 0, 1114099, 327680, 0, 1179635, 327680, 0, 1245171, 327680, 0, 917492, 327680, 0, 983028, 327680, 0, 1048564, 327680, 0, 1114100, 327680, 0, 1179636, 327680, 0, 1245172, 327680, 0, 917493, 327680, 0, 983029, 327680, 0, 1048565, 327680, 0, 1114101, 327680, 0, 1179637, 327680, 0, 1245173, 327680, 0, 917494, 327680, 0, 983030, 327680, 0, 1048566, 327680, 0, 1114102, 327680, 0, 1179638, 327680, 0, 1245174, 327680, 0, 917495, 327680, 0, 983031, 327680, 0, 1048567, 327680, 0, 1114103, 327680, 0, 1179639, 327680, 0, 1245175, 327680, 0, 917496, 327680, 0, 983032, 327680, 0, 1048568, 327680, 0, 1114104, 327680, 0, 1179640, 327680, 0, 1245176, 327680, 0, 917497, 327680, 0, 983033, 327680, 0, 1048569, 327680, 0, 1114105, 327680, 0, 1179641, 327680, 0, 1245177, 327680, 0, 917498, 327680, 0, 983034, 327680, 0, 1048570, 327680, 0, 1114106, 327680, 0, 1179642, 327680, 0, 1245178, 327680, 0, 917499, 327680, 0, 983035, 327680, 0, 1048571, 327680, 0, 1114107, 327680, 0, 1179643, 327680, 0, 1245179, 327680, 0, 917500, 327680, 0, 983036, 327680, 0, 1048572, 327680, 0, 1114108, 327680, 0, 1179644, 327680, 0, 1245180, 327680, 0, 917501, 327680, 0, 983037, 327680, 0, 1048573, 327680, 0, 1114109, 327680, 0, 1179645, 327680, 0, 1245181, 327680, 0, 917502, 327680, 0, 983038, 327680, 0, 1048574, 327680, 0, 1114110, 327680, 0, 1179646, 327680, 0, 1245182, 327680, 0, 917503, 327680, 0, 983039, 327680, 0, 1048575, 327680, 0, 1114111, 327680, 0, 1179647, 327680, 0, 1245183, 327680, 0, 851968, 327680, 0, 917504, 327680, 0, 983040, 327680, 0, 1048576, 327680, 0, 1114112, 327680, 0, 1179648, 327680, 0, 851969, 327680, 0, 917505, 327680, 0, 983041, 327680, 0, 1048577, 327680, 0, 1114113, 327680, 0, 1179649, 327680, 0, 851970, 327680, 0, 917506, 327680, 0, 983042, 327680, 0, 1048578, 327680, 0, 1114114, 327680, 0, 1179650, 327680, 0, 851971, 327680, 0, 917507, 327680, 0, 983043, 327680, 0, 1048579, 327680, 0, 1114115, 327680, 0, 1179651, 327680, 0, 851972, 327680, 0, 917508, 327680, 0, 983044, 327680, 0, 1048580, 327680, 0, 1114116, 327680, 0, 1179652, 327680, 0, 851973, 327680, 0, 917509, 327680, 0, 983045, 327680, 0, 1048581, 327680, 0, 1114117, 327680, 0, 1179653, 327680, 0, 851974, 327680, 0, 917510, 327680, 0, 983046, 327680, 0, 1048582, 327680, 0, 1114118, 327680, 0, 1179654, 327680, 0, 851975, 327680, 0, 917511, 327680, 0, 983047, 327680, 0, 1048583, 327680, 0, 1114119, 327680, 0, 1179655, 327680, 0, 851976, 327680, 0, 917512, 327680, 0, 983048, 327680, 0, 1048584, 327680, 0, 1114120, 327680, 0, 1179656, 327680, 0, 851977, 327680, 0, 917513, 327680, 0, 983049, 327680, 0, 1048585, 327680, 0, 1114121, 327680, 0, 1179657, 327680, 0, 851978, 327680, 0, 917514, 327680, 0, 983050, 327680, 0, 1048586, 327680, 0, 1114122, 327680, 0, 1179658, 327680, 0, 851979, 327680, 0, 917515, 327680, 0, 983051, 327680, 0, 1048587, 327680, 0, 1114123, 327680, 0, 1179659, 327680, 0, 851980, 327680, 0, 917516, 327680, 0, 983052, 327680, 0, 1048588, 327680, 0, 1114124, 327680, 0, 1179660, 327680, 0, 851981, 327680, 0, 917517, 327680, 0, 983053, 327680, 0, 1048589, 327680, 0, 1114125, 327680, 0, 1179661, 327680, 0, 851982, 327680, 0, 917518, 327680, 0, 983054, 327680, 0, 1048590, 327680, 0, 1114126, 327680, 0, 1179662, 327680, 0, 851983, 327680, 0, 917519, 327680, 0, 983055, 327680, 0, 1048591, 327680, 0, 1114127, 327680, 0, 1179663, 327680, 0, 851984, 327680, 0, 917520, 327680, 0, 983056, 327680, 0, 1048592, 327680, 0, 1114128, 327680, 0, 1179664, 327680, 0, 851985, 327680, 0, 917521, 327680, 0, 983057, 327680, 0, 1048593, 327680, 0, 1114129, 327680, 0, 1179665, 327680, 0, 851986, 327680, 0, 917522, 327680, 0, 983058, 327680, 0, 1048594, 327680, 0, 1114130, 327680, 0, 1179666, 327680, 0, 851987, 327680, 0, 917523, 327680, 0, 983059, 327680, 0, 1048595, 327680, 0, 1114131, 327680, 0, 1179667, 327680, 0, 983014, 327680, 0, 1048550, 327680, 0, 1114086, 327680, 0, 1179622, 327680, 0, 1245158, 327680, 0, -917484, 327680, 0, -851948, 327680, 0, -786412, 327680, 0, -720876, 327680, 0, -655340, 327680, 0, -589804, 327680, 0, -524268, 327680, 0, -458732, 327680, 0, -393196, 327680, 0, -327660, 327680, 0, -262124, 327680, 0, -196588, 327680, 0, -131052, 327680, 0, -65516, 327680, 0, 20, 327680, 0, 65556, 327680, 0, 131092, 327680, 0, 196628, 327680, 0, 262164, 327680, 0, 327700, 327680, 0, 393236, 327680, 0, 458772, 327680, 0, 524308, 327680, 0, 589844, 327680, 0, 655380, 327680, 0, 720916, 327680, 0, 786452, 327680, 0, 851988, 327680, 0, 917524, 327680, 0, 983060, 327680, 0, 1048596, 327680, 0, 1114132, 327680, 0, 1179668, 327680, 0, -917483, 327680, 0, -851947, 327680, 0, -786411, 327680, 0, -720875, 327680, 0, -655339, 327680, 0, -589803, 327680, 0, -524267, 327680, 0, -458731, 327680, 0, -393195, 327680, 0, -327659, 327680, 0, -262123, 327680, 0, -196587, 327680, 0, -131051, 327680, 0, -65515, 327680, 0, 21, 327680, 0, 65557, 327680, 0, 131093, 327680, 0, 196629, 327680, 0, 262165, 327680, 0, 327701, 327680, 0, 393237, 327680, 0, 458773, 327680, 0, 524309, 327680, 0, 589845, 327680, 0, 655381, 327680, 0, 720917, 327680, 0, 786453, 327680, 0, 851989, 327680, 0, 917525, 327680, 0, 983061, 327680, 0, 1048597, 327680, 0, 1114133, 327680, 0, 1179669, 327680, 0, -917482, 327680, 0, -851946, 327680, 0, -786410, 327680, 0, -720874, 327680, 0, -655338, 327680, 0, -589802, 327680, 0, -524266, 327680, 0, -458730, 327680, 0, -393194, 327680, 0, -327658, 327680, 0, -262122, 327680, 0, -196586, 327680, 0, -131050, 327680, 0, -65514, 327680, 0, 22, 327680, 0, 65558, 327680, 0, 131094, 327680, 0, 196630, 327680, 0, 262166, 327680, 0, 327702, 327680, 0, 393238, 327680, 0, 458774, 327680, 0, 524310, 327680, 0, 589846, 327680, 0, 655382, 327680, 0, 720918, 327680, 0, 786454, 327680, 0, 851990, 327680, 0, 917526, 327680, 0, 983062, 327680, 0, 1048598, 327680, 0, 1114134, 327680, 0, 1179670, 327680, 0, -917481, 327680, 0, -851945, 327680, 0, -786409, 327680, 0, -720873, 327680, 0, -655337, 327680, 0, -589801, 327680, 0, -524265, 327680, 0, -458729, 327680, 0, -393193, 327680, 0, -327657, 327680, 0, -262121, 327680, 0, -196585, 327680, 0, -131049, 327680, 0, -65513, 327680, 0, 23, 327680, 0, 65559, 327680, 0, 131095, 327680, 0, 196631, 327680, 0, 262167, 327680, 0, 327703, 327680, 0, 393239, 327680, 0, 458775, 327680, 0, 524311, 327680, 0, 589847, 327680, 0, 655383, 327680, 0, 720919, 327680, 0, 786455, 327680, 0, 851991, 327680, 0, 917527, 327680, 0, 983063, 327680, 0, 1048599, 327680, 0, 1114135, 327680, 0, 1179671, 327680, 0, -852000, 327680, 0, -786464, 327680, 0, -720928, 327680, 0, -655392, 327680, 0, -589856, 327680, 0, -524320, 327680, 0, -458784, 327680, 0, -393248, 327680, 0, -327712, 327680, 0, -262176, 327680, 0, -196640, 327680, 0, -131104, 327680, 0, -65568, 327680, 0, -32, 327680, 0, 65504, 327680, 0, 131040, 327680, 0, 196576, 327680, 0, 262112, 327680, 0, 327648, 327680, 0, 393184, 327680, 0, 458720, 327680, 0, 524256, 327680, 0, 589792, 327680, 0, 655328, 327680, 0, 720864, 327680, 0, 786400, 327680, 0, 851936, 327680, 0, 917472, 327680, 0, 983008, 327680, 0, 1048544, 327680, 0, 1114080, 327680, 0, 1179616, 327680, 0, 1245152, 327680, 0, -851999, 327680, 0, -786463, 327680, 0, -720927, 327680, 0, -655391, 327680, 0, -589855, 327680, 0, -524319, 327680, 0, -458783, 327680, 0, -393247, 327680, 0, -327711, 327680, 0, -262175, 327680, 0, -196639, 327680, 0, -131103, 327680, 0, -65567, 327680, 0, -31, 327680, 0, 65505, 327680, 0, 131041, 327680, 0, 196577, 327680, 0, 262113, 327680, 0, 327649, 327680, 0, 393185, 327680, 0, 458721, 327680, 0, 524257, 327680, 0, 589793, 327680, 0, 655329, 327680, 0, 720865, 327680, 0, 786401, 327680, 0, 851937, 327680, 0, 917473, 327680, 0, 983009, 327680, 0, 1048545, 327680, 0, 1114081, 327680, 0, 1179617, 327680, 0, 1245153, 327680, 0, -851998, 327680, 0, -786462, 327680, 0, -720926, 327680, 0, -655390, 327680, 0, -589854, 327680, 0, -524318, 327680, 0, -458782, 327680, 0, -393246, 327680, 0, -327710, 327680, 0, -262174, 327680, 0, -196638, 327680, 0, -131102, 327680, 0, -65566, 327680, 0, -30, 327680, 0, 65506, 327680, 0, 131042, 327680, 0, 196578, 327680, 0, 262114, 327680, 0, 327650, 327680, 0, 393186, 327680, 0, 458722, 327680, 0, 524258, 327680, 0, 589794, 327680, 0, 655330, 327680, 0, 720866, 327680, 0, 786402, 327680, 0, 851938, 327680, 0, 917474, 327680, 0, 983010, 327680, 0, 1048546, 327680, 0, 1114082, 327680, 0, 1179618, 327680, 0, 1245154, 327680, 0, -851997, 327680, 0, -786461, 327680, 0, -720925, 327680, 0, -655389, 327680, 0, -589853, 327680, 0, -524317, 327680, 0, -458781, 327680, 0, -393245, 327680, 0, -327709, 327680, 0, -262173, 327680, 0, -196637, 327680, 0, -131101, 327680, 0, -65565, 327680, 0, -29, 327680, 0, 65507, 327680, 0, 131043, 327680, 0, 196579, 327680, 0, 262115, 327680, 0, 327651, 327680, 0, 393187, 327680, 0, 458723, 327680, 0, 524259, 327680, 0, 589795, 327680, 0, 655331, 327680, 0, 720867, 327680, 0, 786403, 327680, 0, 851939, 327680, 0, 917475, 327680, 0, 983011, 327680, 0, 1048547, 327680, 0, 1114083, 327680, 0, 1179619, 327680, 0, 1245155, 327680, 0, -851996, 327680, 0, -786460, 327680, 0, -720924, 327680, 0, -655388, 327680, 0, -589852, 327680, 0, -524316, 327680, 0, -458780, 327680, 0, -393244, 327680, 0, -327708, 327680, 0, -262172, 327680, 0, -196636, 327680, 0, -131100, 327680, 0, -65564, 327680, 0, -28, 327680, 0, 65508, 327680, 0, 131044, 327680, 0, 196580, 327680, 0, 262116, 327680, 0, 327652, 327680, 0, 393188, 327680, 0, 458724, 327680, 0, 524260, 327680, 0, 589796, 327680, 0, 655332, 327680, 0, 720868, 327680, 0, 786404, 327680, 0, 851940, 327680, 0, 917476, 327680, 0, 983012, 327680, 0, 1048548, 327680, 0, 1114084, 327680, 0, 1179620, 327680, 0, 1245156, 327680, 0, -851995, 327680, 0, -786459, 327680, 0, -720923, 327680, 0, -655387, 327680, 0, -589851, 327680, 0, -524315, 327680, 0, -458779, 327680, 0, -393243, 327680, 0, -327707, 327680, 0, -262171, 327680, 0, -196635, 327680, 0, -131099, 327680, 0, -65563, 327680, 0, -27, 327680, 0, 65509, 327680, 0, 131045, 327680, 0, 196581, 327680, 0, 262117, 327680, 0, 327653, 327680, 0, 393189, 327680, 0, 458725, 327680, 0, 524261, 327680, 0, 589797, 327680, 0, 655333, 327680, 0, 720869, 327680, 0, 786405, 327680, 0, 851941, 327680, 0, 917477, 327680, 0, 983013, 327680, 0, 1048549, 327680, 0, 1114085, 327680, 0, 1179621, 327680, 0, 1245157, 327680, 0, -1245216, 327680, 0, -1179680, 327680, 0, -1114144, 327680, 0, -1048608, 327680, 0, -983072, 327680, 0, -917536, 327680, 0, -1245215, 327680, 0, -1179679, 327680, 0, -1114143, 327680, 0, -1048607, 327680, 0, -983071, 327680, 0, -917535, 327680, 0, -1245214, 327680, 0, -1179678, 327680, 0, -1114142, 327680, 0, -1048606, 327680, 0, -983070, 327680, 0, -917534, 327680, 0, -1245213, 327680, 0, -1179677, 327680, 0, -1114141, 327680, 0, -1048605, 327680, 0, -983069, 327680, 0, -917533, 327680, 0, -1245212, 327680, 0, -1179676, 327680, 0, -1114140, 327680, 0, -1048604, 327680, 0, -983068, 327680, 0, -917532, 327680, 0, -1245211, 327680, 0, -1179675, 327680, 0, -1114139, 327680, 0, -1048603, 327680, 0, -983067, 327680, 0, -917531, 327680, 0, -1245210, 327680, 0, -1179674, 327680, 0, -1114138, 327680, 0, -1048602, 327680, 0, -983066, 327680, 0, -917530, 327680, 0, -1245209, 327680, 0, -1179673, 327680, 0, -1114137, 327680, 0, -1048601, 327680, 0, -983065, 327680, 0, -917529, 327680, 0, -1245208, 327680, 0, -1179672, 327680, 0, -1114136, 327680, 0, -1048600, 327680, 0, -983064, 327680, 0, -917528, 327680, 0, -1245207, 327680, 0, -1179671, 327680, 0, -1114135, 327680, 0, -1048599, 327680, 0, -983063, 327680, 0, -917527, 327680, 0, -1245206, 327680, 0, -1179670, 327680, 0, -1114134, 327680, 0, -1048598, 327680, 0, -983062, 327680, 0, -917526, 327680, 0, -1245205, 327680, 0, -1179669, 327680, 0, -1114133, 327680, 0, -1048597, 327680, 0, -983061, 327680, 0, -917525, 327680, 0, -1245204, 327680, 0, -1179668, 327680, 0, -1114132, 327680, 0, -1048596, 327680, 0, -983060, 327680, 0, -917524, 327680, 0, -1245203, 327680, 0, -1179667, 327680, 0, -1114131, 327680, 0, -1048595, 327680, 0, -983059, 327680, 0, -917523, 327680, 0, -1245202, 327680, 0, -1179666, 327680, 0, -1114130, 327680, 0, -1048594, 327680, 0, -983058, 327680, 0, -917522, 327680, 0, -1245201, 327680, 0, -1179665, 327680, 0, -1114129, 327680, 0, -1048593, 327680, 0, -983057, 327680, 0, -917521, 327680, 0, -1245200, 327680, 0, -1179664, 327680, 0, -1114128, 327680, 0, -1048592, 327680, 0, -983056, 327680, 0, -917520, 327680, 0, -1245199, 327680, 0, -1179663, 327680, 0, -1114127, 327680, 0, -1048591, 327680, 0, -983055, 327680, 0, -917519, 327680, 0, -1245198, 327680, 0, -1179662, 327680, 0, -1114126, 327680, 0, -1048590, 327680, 0, -983054, 327680, 0, -917518, 327680, 0, -1245197, 327680, 0, -1179661, 327680, 0, -1114125, 327680, 0, -1048589, 327680, 0, -983053, 327680, 0, -917517, 327680, 0, -1245196, 327680, 0, -1179660, 327680, 0, -1114124, 327680, 0, -1048588, 327680, 0, -983052, 327680, 0, -917516, 327680, 0, -1245195, 327680, 0, -1179659, 327680, 0, -1114123, 327680, 0, -1048587, 327680, 0, -983051, 327680, 0, -917515, 327680, 0, -1245194, 327680, 0, -1179658, 327680, 0, -1114122, 327680, 0, -1048586, 327680, 0, -983050, 327680, 0, -917514, 327680, 0, -1245193, 327680, 0, -1179657, 327680, 0, -1114121, 327680, 0, -1048585, 327680, 0, -983049, 327680, 0, -917513, 327680, 0, -1245192, 327680, 0, -1179656, 327680, 0, -1114120, 327680, 0, -1048584, 327680, 0, -983048, 327680, 0, -917512, 327680, 0, -1245191, 327680, 0, -1179655, 327680, 0, -1114119, 327680, 0, -1048583, 327680, 0, -983047, 327680, 0, -917511, 327680, 0, -1245190, 327680, 0, -1179654, 327680, 0, -1114118, 327680, 0, -1048582, 327680, 0, -983046, 327680, 0, -917510, 327680, 0, -1245189, 327680, 0, -1179653, 327680, 0, -1114117, 327680, 0, -1048581, 327680, 0, -983045, 327680, 0, -917509, 327680, 0, -1245188, 327680, 0, -1179652, 327680, 0, -1114116, 327680, 0, -1048580, 327680, 0, -983044, 327680, 0, -917508, 327680, 0, -1245187, 327680, 0, -1179651, 327680, 0, -1114115, 327680, 0, -1048579, 327680, 0, -983043, 327680, 0, -917507, 327680, 0, -1245186, 327680, 0, -1179650, 327680, 0, -1114114, 327680, 0, -1048578, 327680, 0, -983042, 327680, 0, -917506, 327680, 0, -1245185, 327680, 0, -1179649, 327680, 0, -1114113, 327680, 0, -1048577, 327680, 0, -983041, 327680, 0, -917505, 327680, 0, -1310720, 327680, 0, -1245184, 327680, 0, -1179648, 327680, 0, -1114112, 327680, 0, -1048576, 327680, 0, -983040, 327680, 0, -1310719, 327680, 0, -1245183, 327680, 0, -1179647, 327680, 0, -1114111, 327680, 0, -1048575, 327680, 0, -983039, 327680, 0, -1310718, 327680, 0, -1245182, 327680, 0, -1179646, 327680, 0, -1114110, 327680, 0, -1048574, 327680, 0, -983038, 327680, 0, -1310717, 327680, 0, -1245181, 327680, 0, -1179645, 327680, 0, -1114109, 327680, 0, -1048573, 327680, 0, -983037, 327680, 0, -1310716, 327680, 0, -1245180, 327680, 0, -1179644, 327680, 0, -1114108, 327680, 0, -1048572, 327680, 0, -983036, 327680, 0, -1310715, 327680, 0, -1245179, 327680, 0, -1179643, 327680, 0, -1114107, 327680, 0, -1048571, 327680, 0, -983035, 327680, 0, -1310714, 327680, 0, -1245178, 327680, 0, -1179642, 327680, 0, -1114106, 327680, 0, -1048570, 327680, 0, -983034, 327680, 0, -1310713, 327680, 0, -1245177, 327680, 0, -1179641, 327680, 0, -1114105, 327680, 0, -1048569, 327680, 0, -983033, 327680, 0, -1310712, 327680, 0, -1245176, 327680, 0, -1179640, 327680, 0, -1114104, 327680, 0, -1048568, 327680, 0, -983032, 327680, 0, -1310711, 327680, 0, -1245175, 327680, 0, -1179639, 327680, 0, -1114103, 327680, 0, -1048567, 327680, 0, -983031, 327680, 0, -1310710, 327680, 0, -1245174, 327680, 0, -1179638, 327680, 0, -1114102, 327680, 0, -1048566, 327680, 0, -983030, 327680, 0, -1310709, 327680, 0, -1245173, 327680, 0, -1179637, 327680, 0, -1114101, 327680, 0, -1048565, 327680, 0, -983029, 327680, 0, -1310708, 327680, 0, -1245172, 327680, 0, -1179636, 327680, 0, -1114100, 327680, 0, -1048564, 327680, 0, -983028, 327680, 0, -1310707, 327680, 0, -1245171, 327680, 0, -1179635, 327680, 0, -1114099, 327680, 0, -1048563, 327680, 0, -983027, 327680, 0, -1310706, 327680, 0, -1245170, 327680, 0, -1179634, 327680, 0, -1114098, 327680, 0, -1048562, 327680, 0, -983026, 327680, 0, -1310705, 327680, 0, -1245169, 327680, 0, -1179633, 327680, 0, -1114097, 327680, 0, -1048561, 327680, 0, -983025, 327680, 0, -1310704, 327680, 0, -1245168, 327680, 0, -1179632, 327680, 0, -1114096, 327680, 0, -1048560, 327680, 0, -983024, 327680, 0, -1310703, 327680, 0, -1245167, 327680, 0, -1179631, 327680, 0, -1114095, 327680, 0, -1048559, 327680, 0, -983023, 327680, 0, -1310702, 327680, 0, -1245166, 327680, 0, -1179630, 327680, 0, -1114094, 327680, 0, -1048558, 327680, 0, -983022, 327680, 0, -1310701, 327680, 0, -1245165, 327680, 0, -1179629, 327680, 0, -1114093, 327680, 0, -1048557, 327680, 0, -983021, 327680, 0, -1310700, 327680, 0, -1245164, 327680, 0, -1179628, 327680, 0, -1114092, 327680, 0, -1048556, 327680, 0, -983020, 327680, 0, -1310699, 327680, 0, -1245163, 327680, 0, -1179627, 327680, 0, -1114091, 327680, 0, -1048555, 327680, 0, -983019, 327680, 0, -1310698, 327680, 0, -1245162, 327680, 0, -1179626, 327680, 0, -1114090, 327680, 0, -1048554, 327680, 0, -983018, 327680, 0, -1310697, 327680, 0, -1245161, 327680, 0, -1179625, 327680, 0, -1114089, 327680, 0, -1048553, 327680, 0, -983017, 327680, 0, -1310696, 327680, 0, -1245160, 327680, 0, -1179624, 327680, 0, -1114088, 327680, 0, -1048552, 327680, 0, -983016, 327680, 0, -917480, 327680, 0, -851944, 327680, 0, -786408, 327680, 0, -720872, 327680, 0, -655336, 327680, 0, -589800, 327680, 0, -524264, 327680, 0, -458728, 327680, 0, -393192, 327680, 0, -327656, 327680, 0, -262120, 327680, 0, -196584, 327680, 0, -131048, 327680, 0, -65512, 327680, 0, 24, 327680, 0, 65560, 327680, 0, 131096, 327680, 0, 196632, 327680, 0, 262168, 327680, 0, 327704, 327680, 0, 393240, 327680, 0, 458776, 327680, 0, 524312, 327680, 0, 589848, 327680, 0, 655384, 327680, 0, 720920, 327680, 0, 786456, 327680, 0, 851992, 327680, 0, 917528, 327680, 0, 983064, 327680, 0, 1048600, 327680, 0, 1114136, 327680, 0, 1179672, 327680, 0, 1245208, 327680, 0, 1310744, 327680, 0, 1376280, 327680, 0, 1441816, 327680, 0, 1507352, 327680, 0, -1310695, 327680, 0, -1245159, 327680, 0, -1179623, 327680, 0, -1114087, 327680, 0, -1048551, 327680, 0, -983015, 327680, 0, -917479, 327680, 0, -851943, 327680, 0, -786407, 327680, 0, -720871, 327680, 0, -655335, 327680, 0, -589799, 327680, 0, -524263, 327680, 0, -458727, 327680, 0, -393191, 327680, 0, -327655, 327680, 0, -262119, 327680, 0, -196583, 327680, 0, -131047, 327680, 0, -65511, 327680, 0, 25, 327680, 0, 65561, 327680, 0, 131097, 327680, 0, 196633, 327680, 0, 262169, 327680, 0, 327705, 327680, 0, 393241, 327680, 0, 458777, 327680, 0, 524313, 327680, 0, 589849, 327680, 0, 655385, 327680, 0, 720921, 327680, 0, 786457, 327680, 0, 851993, 327680, 0, 917529, 327680, 0, 983065, 327680, 0, 1048601, 327680, 0, 1114137, 327680, 0, 1179673, 327680, 0, 1245209, 327680, 0, 1310745, 327680, 0, 1376281, 327680, 0, 1441817, 327680, 0, 1507353, 327680, 0, -1310694, 327680, 0, -1245158, 327680, 0, -1179622, 327680, 0, -1114086, 327680, 0, -1048550, 327680, 0, -983014, 327680, 0, -917478, 327680, 0, -851942, 327680, 0, -786406, 327680, 0, -720870, 327680, 0, -655334, 327680, 0, -589798, 327680, 0, -524262, 327680, 0, -458726, 327680, 0, -393190, 327680, 0, -327654, 327680, 0, -262118, 327680, 0, -196582, 327680, 0, -131046, 327680, 0, -65510, 327680, 0, 26, 327680, 0, 65562, 327680, 0, 131098, 327680, 0, 196634, 327680, 0, 262170, 327680, 0, 327706, 327680, 0, 393242, 327680, 0, 458778, 327680, 0, 524314, 327680, 0, 589850, 327680, 0, 655386, 327680, 0, 720922, 327680, 0, 786458, 327680, 0, 851994, 327680, 0, 917530, 327680, 0, 983066, 327680, 0, 1048602, 327680, 0, 1114138, 327680, 0, 1179674, 327680, 0, 1245210, 327680, 0, 1310746, 327680, 0, 1376282, 327680, 0, 1441818, 327680, 0, 1507354, 327680, 0, -1310693, 327680, 0, -1245157, 327680, 0, -1179621, 327680, 0, -1114085, 327680, 0, -1048549, 327680, 0, -983013, 327680, 0, -917477, 327680, 0, -851941, 327680, 0, -786405, 327680, 0, -720869, 327680, 0, -655333, 327680, 0, -589797, 327680, 0, -524261, 327680, 0, -458725, 327680, 0, -393189, 327680, 0, -327653, 327680, 0, -262117, 327680, 0, -196581, 327680, 0, -131045, 327680, 0, -65509, 327680, 0, 27, 327680, 0, 65563, 327680, 0, 131099, 327680, 0, 196635, 327680, 0, 262171, 327680, 0, 327707, 327680, 0, 393243, 327680, 0, 458779, 327680, 0, 524315, 327680, 0, 589851, 327680, 0, 655387, 327680, 0, 720923, 327680, 0, 786459, 327680, 0, 851995, 327680, 0, 917531, 327680, 0, 983067, 327680, 0, 1048603, 327680, 0, 1114139, 327680, 0, 1179675, 327680, 0, 1245211, 327680, 0, 1310747, 327680, 0, 1376283, 327680, 0, 1441819, 327680, 0, 1507355, 327680, 0, -1310692, 327680, 0, -1245156, 327680, 0, -1179620, 327680, 0, -1114084, 327680, 0, -1048548, 327680, 0, -983012, 327680, 0, -917476, 327680, 0, -851940, 327680, 0, -786404, 327680, 0, -720868, 327680, 0, -655332, 327680, 0, -589796, 327680, 0, -524260, 327680, 0, -458724, 327680, 0, -393188, 327680, 0, -327652, 327680, 0, -262116, 327680, 0, -196580, 327680, 0, -131044, 327680, 0, -65508, 327680, 0, 28, 327680, 0, 65564, 327680, 0, 131100, 327680, 0, 196636, 327680, 0, 262172, 327680, 0, 327708, 327680, 0, 393244, 327680, 0, 458780, 327680, 0, 524316, 327680, 0, 589852, 327680, 0, 655388, 327680, 0, 720924, 327680, 0, 786460, 327680, 0, 851996, 327680, 0, 917532, 327680, 0, 983068, 327680, 0, 1048604, 327680, 0, 1114140, 327680, 0, 1179676, 327680, 0, 1245212, 327680, 0, 1310748, 327680, 0, 1376284, 327680, 0, 1441820, 327680, 0, 1507356, 327680, 0, -1310691, 327680, 0, -1245155, 327680, 0, -1179619, 327680, 0, -1114083, 327680, 0, -1048547, 327680, 0, -983011, 327680, 0, -917475, 327680, 0, -851939, 327680, 0, -786403, 327680, 0, -720867, 327680, 0, -655331, 327680, 0, -589795, 327680, 0, -524259, 327680, 0, -458723, 327680, 0, -393187, 327680, 0, -327651, 327680, 0, -262115, 327680, 0, -196579, 327680, 0, -131043, 327680, 0, -65507, 327680, 0, 29, 327680, 0, 65565, 327680, 0, 131101, 327680, 0, 196637, 327680, 0, 262173, 327680, 0, 327709, 327680, 0, 393245, 327680, 0, 458781, 327680, 0, 524317, 327680, 0, 589853, 327680, 0, 655389, 327680, 0, 720925, 327680, 0, 786461, 327680, 0, 851997, 327680, 0, 917533, 327680, 0, 983069, 327680, 0, 1048605, 327680, 0, 1114141, 327680, 0, 1179677, 327680, 0, 1245213, 327680, 0, 1310749, 327680, 0, 1376285, 327680, 0, 1441821, 327680, 0, 1507357, 327680, 0, -1310690, 327680, 0, -1245154, 327680, 0, -1179618, 327680, 0, -1114082, 327680, 0, -1048546, 327680, 0, -983010, 327680, 0, -917474, 327680, 0, -851938, 327680, 0, -786402, 327680, 0, -720866, 327680, 0, -655330, 327680, 0, -589794, 327680, 0, -524258, 327680, 0, -458722, 327680, 0, -393186, 327680, 0, -327650, 327680, 0, -262114, 327680, 0, -196578, 327680, 0, -131042, 327680, 0, -65506, 327680, 0, 30, 327680, 0, 65566, 327680, 0, 131102, 327680, 0, 196638, 327680, 0, 262174, 327680, 0, 327710, 327680, 0, 393246, 327680, 0, 458782, 327680, 0, 524318, 327680, 0, 589854, 327680, 0, 655390, 327680, 0, 720926, 327680, 0, 786462, 327680, 0, 851998, 327680, 0, 917534, 327680, 0, 983070, 327680, 0, 1048606, 327680, 0, 1114142, 327680, 0, 1179678, 327680, 0, 1245214, 327680, 0, 1310750, 327680, 0, 1376286, 327680, 0, 1441822, 327680, 0, 1507358, 327680, 0, -1310689, 327680, 0, -1245153, 327680, 0, -1179617, 327680, 0, -1114081, 327680, 0, -1048545, 327680, 0, -983009, 327680, 0, -917473, 327680, 0, -851937, 327680, 0, -786401, 327680, 0, -720865, 327680, 0, -655329, 327680, 0, -589793, 327680, 0, -524257, 327680, 0, -458721, 327680, 0, -393185, 327680, 0, -327649, 327680, 0, -262113, 327680, 0, -196577, 327680, 0, -131041, 327680, 0, -65505, 327680, 0, 31, 327680, 0, 65567, 327680, 0, 131103, 327680, 0, 196639, 327680, 0, 262175, 327680, 0, 327711, 327680, 0, 393247, 327680, 0, 458783, 327680, 0, 524319, 327680, 0, 589855, 327680, 0, 655391, 327680, 0, 720927, 327680, 0, 786463, 327680, 0, 851999, 327680, 0, 917535, 327680, 0, 983071, 327680, 0, 1048607, 327680, 0, 1114143, 327680, 0, 1179679, 327680, 0, 1245215, 327680, 0, 1310751, 327680, 0, 1376287, 327680, 0, 1441823, 327680, 0, 1507359, 327680, 0, -1310688, 327680, 0, -1245152, 327680, 0, -1179616, 327680, 0, -1114080, 327680, 0, -1048544, 327680, 0, -983008, 327680, 0, -917472, 327680, 0, -851936, 327680, 0, -786400, 327680, 0, -720864, 327680, 0, -655328, 327680, 0, -589792, 327680, 0, -524256, 327680, 0, -458720, 327680, 0, -393184, 327680, 0, -327648, 327680, 0, -262112, 327680, 0, -196576, 327680, 0, -131040, 327680, 0, -65504, 327680, 0, 32, 327680, 0, 65568, 327680, 0, 131104, 327680, 0, 196640, 327680, 0, 262176, 327680, 0, 327712, 327680, 0, 393248, 327680, 0, 458784, 327680, 0, 524320, 327680, 0, 589856, 327680, 0, 655392, 327680, 0, 720928, 327680, 0, 786464, 327680, 0, 852000, 327680, 0, 917536, 327680, 0, 983072, 327680, 0, 1048608, 327680, 0, 1114144, 327680, 0, 1179680, 327680, 0, 1245216, 327680, 0, 1310752, 327680, 0, 1376288, 327680, 0, 1441824, 327680, 0, 1507360, 327680, 0, -1310687, 327680, 0, -1245151, 327680, 0, -1179615, 327680, 0, -1114079, 327680, 0, -1048543, 327680, 0, -983007, 327680, 0, -917471, 327680, 0, -851935, 327680, 0, -786399, 327680, 0, -720863, 327680, 0, -655327, 327680, 0, -589791, 327680, 0, -524255, 327680, 0, -458719, 327680, 0, -393183, 327680, 0, -327647, 327680, 0, -262111, 327680, 0, -196575, 327680, 0, -131039, 327680, 0, -65503, 327680, 0, 33, 327680, 0, 65569, 327680, 0, 131105, 327680, 0, 196641, 327680, 0, 262177, 327680, 0, 327713, 327680, 0, 393249, 327680, 0, 458785, 327680, 0, 524321, 327680, 0, 589857, 327680, 0, 655393, 327680, 0, 720929, 327680, 0, 786465, 327680, 0, 852001, 327680, 0, 917537, 327680, 0, 983073, 327680, 0, 1048609, 327680, 0, 1114145, 327680, 0, 1179681, 327680, 0, 1245217, 327680, 0, 1310753, 327680, 0, 1376289, 327680, 0, 1441825, 327680, 0, 1507361, 327680, 0, -1310686, 327680, 0, -1245150, 327680, 0, -1179614, 327680, 0, -1114078, 327680, 0, -1048542, 327680, 0, -983006, 327680, 0, -917470, 327680, 0, -851934, 327680, 0, -786398, 327680, 0, -720862, 327680, 0, -655326, 327680, 0, -589790, 327680, 0, -524254, 327680, 0, -458718, 327680, 0, -393182, 327680, 0, -327646, 327680, 0, -262110, 327680, 0, -196574, 327680, 0, -131038, 327680, 0, -65502, 327680, 0, 34, 327680, 0, 65570, 327680, 0, 131106, 327680, 0, 196642, 327680, 0, 262178, 327680, 0, 327714, 327680, 0, 393250, 327680, 0, 458786, 327680, 0, 524322, 327680, 0, 589858, 327680, 0, 655394, 327680, 0, 720930, 327680, 0, 786466, 327680, 0, 852002, 327680, 0, 917538, 327680, 0, 983074, 327680, 0, 1048610, 327680, 0, 1114146, 327680, 0, 1179682, 327680, 0, 1245218, 327680, 0, 1310754, 327680, 0, 1376290, 327680, 0, 1441826, 327680, 0, 1507362, 327680, 0, 1310688, 327680, 0, 1376224, 327680, 0, 1441760, 327680, 0, 1507296, 327680, 0, 1572832, 327680, 0, 1310689, 327680, 0, 1376225, 327680, 0, 1441761, 327680, 0, 1507297, 327680, 0, 1572833, 327680, 0, 1310690, 327680, 0, 1376226, 327680, 0, 1441762, 327680, 0, 1507298, 327680, 0, 1572834, 327680, 0, 1310691, 327680, 0, 1376227, 327680, 0, 1441763, 327680, 0, 1507299, 327680, 0, 1572835, 327680, 0, 1310692, 327680, 0, 1376228, 327680, 0, 1441764, 327680, 0, 1507300, 327680, 0, 1572836, 327680, 0, 1310693, 327680, 0, 1376229, 327680, 0, 1441765, 327680, 0, 1507301, 327680, 0, 1572837, 327680, 0, 1310694, 327680, 0, 1376230, 327680, 0, 1441766, 327680, 0, 1507302, 327680, 0, 1572838, 327680, 0, 1310695, 327680, 0, 1376231, 327680, 0, 1441767, 327680, 0, 1507303, 327680, 0, 1572839, 327680, 0, 1310696, 327680, 0, 1376232, 327680, 0, 1441768, 327680, 0, 1507304, 327680, 0, 1572840, 327680, 0, 1310697, 327680, 0, 1376233, 327680, 0, 1441769, 327680, 0, 1507305, 327680, 0, 1572841, 327680, 0, 1310698, 327680, 0, 1376234, 327680, 0, 1441770, 327680, 0, 1507306, 327680, 0, 1572842, 327680, 0, 1310699, 327680, 0, 1376235, 327680, 0, 1441771, 327680, 0, 1507307, 327680, 0, 1572843, 327680, 0, 1310700, 327680, 0, 1376236, 327680, 0, 1441772, 327680, 0, 1507308, 327680, 0, 1572844, 327680, 0, 1310701, 327680, 0, 1376237, 327680, 0, 1441773, 327680, 0, 1507309, 327680, 0, 1572845, 327680, 0, 1310702, 327680, 0, 1376238, 327680, 0, 1441774, 327680, 0, 1507310, 327680, 0, 1572846, 327680, 0, 1310703, 327680, 0, 1376239, 327680, 0, 1441775, 327680, 0, 1507311, 327680, 0, 1572847, 327680, 0, 1310704, 327680, 0, 1376240, 327680, 0, 1441776, 327680, 0, 1507312, 327680, 0, 1572848, 327680, 0, 1310705, 327680, 0, 1376241, 327680, 0, 1441777, 327680, 0, 1507313, 327680, 0, 1572849, 327680, 0, 1310706, 327680, 0, 1376242, 327680, 0, 1441778, 327680, 0, 1507314, 327680, 0, 1572850, 327680, 0, 1310707, 327680, 0, 1376243, 327680, 0, 1441779, 327680, 0, 1507315, 327680, 0, 1572851, 327680, 0, 1310708, 327680, 0, 1376244, 327680, 0, 1441780, 327680, 0, 1507316, 327680, 0, 1572852, 327680, 0, 1310709, 327680, 0, 1376245, 327680, 0, 1441781, 327680, 0, 1507317, 327680, 0, 1572853, 327680, 0, 1310710, 327680, 0, 1376246, 327680, 0, 1441782, 327680, 0, 1507318, 327680, 0, 1572854, 327680, 0, 1310711, 327680, 0, 1376247, 327680, 0, 1441783, 327680, 0, 1507319, 327680, 0, 1572855, 327680, 0, 1310712, 327680, 0, 1376248, 327680, 0, 1441784, 327680, 0, 1507320, 327680, 0, 1572856, 327680, 0, 1310713, 327680, 0, 1376249, 327680, 0, 1441785, 327680, 0, 1507321, 327680, 0, 1572857, 327680, 0, 1310714, 327680, 0, 1376250, 327680, 0, 1441786, 327680, 0, 1507322, 327680, 0, 1572858, 327680, 0, 1310715, 327680, 0, 1376251, 327680, 0, 1441787, 327680, 0, 1507323, 327680, 0, 1572859, 327680, 0, 1310716, 327680, 0, 1376252, 327680, 0, 1441788, 327680, 0, 1507324, 327680, 0, 1572860, 327680, 0, 1310717, 327680, 0, 1376253, 327680, 0, 1441789, 327680, 0, 1507325, 327680, 0, 1572861, 327680, 0, 1310718, 327680, 0, 1376254, 327680, 0, 1441790, 327680, 0, 1507326, 327680, 0, 1572862, 327680, 0, 1310719, 327680, 0, 1376255, 327680, 0, 1441791, 327680, 0, 1507327, 327680, 0, 1572863, 327680, 0, 1245184, 327680, 0, 1310720, 327680, 0, 1376256, 327680, 0, 1441792, 327680, 0, 1507328, 327680, 0, 1245185, 327680, 0, 1310721, 327680, 0, 1376257, 327680, 0, 1441793, 327680, 0, 1507329, 327680, 0, 1245186, 327680, 0, 1310722, 327680, 0, 1376258, 327680, 0, 1441794, 327680, 0, 1507330, 327680, 0, 1245187, 327680, 0, 1310723, 327680, 0, 1376259, 327680, 0, 1441795, 327680, 0, 1507331, 327680, 0, 1245188, 327680, 0, 1310724, 327680, 0, 1376260, 327680, 0, 1441796, 327680, 0, 1507332, 327680, 0, 1245189, 327680, 0, 1310725, 327680, 0, 1376261, 327680, 0, 1441797, 327680, 0, 1507333, 327680, 0, 1245190, 327680, 0, 1310726, 327680, 0, 1376262, 327680, 0, 1441798, 327680, 0, 1507334, 327680, 0, 1245191, 327680, 0, 1310727, 327680, 0, 1376263, 327680, 0, 1441799, 327680, 0, 1507335, 327680, 0, 1245192, 327680, 0, 1310728, 327680, 0, 1376264, 327680, 0, 1441800, 327680, 0, 1507336, 327680, 0, 1245193, 327680, 0, 1310729, 327680, 0, 1376265, 327680, 0, 1441801, 327680, 0, 1507337, 327680, 0, 1245194, 327680, 0, 1310730, 327680, 0, 1376266, 327680, 0, 1441802, 327680, 0, 1507338, 327680, 0, 1245195, 327680, 0, 1310731, 327680, 0, 1376267, 327680, 0, 1441803, 327680, 0, 1507339, 327680, 0, 1245196, 327680, 0, 1310732, 327680, 0, 1376268, 327680, 0, 1441804, 327680, 0, 1507340, 327680, 0, 1245197, 327680, 0, 1310733, 327680, 0, 1376269, 327680, 0, 1441805, 327680, 0, 1507341, 327680, 0, 1245198, 327680, 0, 1310734, 327680, 0, 1376270, 327680, 0, 1441806, 327680, 0, 1507342, 327680, 0, 1245199, 327680, 0, 1310735, 327680, 0, 1376271, 327680, 0, 1441807, 327680, 0, 1507343, 327680, 0, 1245200, 327680, 0, 1310736, 327680, 0, 1376272, 327680, 0, 1441808, 327680, 0, 1507344, 327680, 0, 1245201, 327680, 0, 1310737, 327680, 0, 1376273, 327680, 0, 1441809, 327680, 0, 1507345, 327680, 0, 1245202, 327680, 0, 1310738, 327680, 0, 1376274, 327680, 0, 1441810, 327680, 0, 1507346, 327680, 0, 1245203, 327680, 0, 1310739, 327680, 0, 1376275, 327680, 0, 1441811, 327680, 0, 1507347, 327680, 0, 1245204, 327680, 0, 1310740, 327680, 0, 1376276, 327680, 0, 1441812, 327680, 0, 1507348, 327680, 0, 1245205, 327680, 0, 1310741, 327680, 0, 1376277, 327680, 0, 1441813, 327680, 0, 1507349, 327680, 0, 1245206, 327680, 0, 1310742, 327680, 0, 1376278, 327680, 0, 1441814, 327680, 0, 1507350, 327680, 0, 1245207, 327680, 0, 1310743, 327680, 0, 1376279, 327680, 0, 1441815, 327680, 0, 1507351, 327680, 0) -layer_2/name = "Ground Paths" -layer_2/enabled = true -layer_2/modulate = Color(1, 1, 1, 1) -layer_2/y_sort_enabled = false -layer_2/y_sort_origin = 0 -layer_2/z_index = -1 -layer_2/tile_data = PackedInt32Array(-11, 327680, 3, -10, 327680, 3, -9, 327680, 3, -8, 327680, 3, -7, 327680, 3, -6, 327680, 3, -5, 327680, 3, -4, 327680, 3, -3, 327680, 3, 65533, 327680, 3, 131069, 327680, 3, 196605, 327680, 3, 196606, 327680, 3, 196607, 327680, 3, 131072, 327680, 3, 131073, 327680, 3, 131074, 327680, 3, 131075, 327680, 3, 131076, 327680, 3, 131077, 327680, 3, 131078, 327680, 3, 131079, 327680, 3, 131080, 327680, 3, 131081, 327680, 3, 131082, 327680, 3, 131083, 327680, 3, 131084, 327680, 3, 65525, 65536, 3, 65526, 65536, 3, 65527, 65536, 3, 65528, 65536, 3, 65529, 65536, 3, 65530, 65536, 3, 65531, 65536, 3, 262141, 65536, 3, 262142, 65536, 3, 262143, 65536, 3, 196608, 65536, 3, 196609, 65536, 3, 196610, 65536, 3, 196611, 65536, 3, 196612, 65536, 3, 196613, 65536, 3, 196614, 65536, 3, 196615, 65536, 3, 196616, 65536, 3, 196617, 65536, 3, 196618, 65536, 3, 196619, 65536, 3, 196620, 65536, 3, 65532, 131072, 3, 131070, 0, 5, 65534, 0, 4, -2, 0, 4, 262140, 196608, 4, -65538, 262144, 3, 131068, 131072, 4, 196604, 131072, 4, 131071, 65536, 5, 65536, 65536, 5, 65537, 65536, 5, 65538, 65536, 5, 65539, 65536, 5, 65540, 65536, 5, 65541, 65536, 5, 65542, 65536, 5, 65543, 65536, 5, 65544, 65536, 5, 65545, 65536, 5, 65546, 65536, 5, 65547, 65536, 5, 65548, 65536, 5, -65539, 65536, 5, -65540, 65536, 5, -65541, 65536, 5, -65542, 65536, 5, -65543, 65536, 5, -65544, 65536, 5, -65545, 65536, 5, -65546, 65536, 5, -65547, 65536, 5) -layer_3/name = "Ground" -layer_3/enabled = true -layer_3/modulate = Color(1, 1, 1, 1) -layer_3/y_sort_enabled = true -layer_3/y_sort_origin = 0 -layer_3/z_index = -2 -layer_3/tile_data = PackedInt32Array(-458765, 393216, 1, -393229, 327680, 0, -393228, 393216, 0, -327692, 393216, 0, -262156, 327680, 1, -262155, 393216, 1, -196619, 327680, 1, -196618, 327680, 1, -131082, 393216, 0, -131081, 393216, 1, -131080, 327680, 1, -131079, 327680, 0, -131078, 393216, 0, -196614, 327680, 0, -262150, 327680, 0, -327687, 327680, 1, -393223, 327680, 1, -393224, 393216, 1, -458764, 327680, 0, -458763, 393216, 0, -458762, 327680, 1, -458761, 327680, 0, -458760, 327680, 1, -458759, 327680, 1, -524294, 327680, 1, -524293, 327680, 1, -524292, 327680, 1, -524291, 393216, 1, -524290, 393216, 1, -524289, 327680, 1, -589824, 327680, 0, -589823, 393216, 0, -589822, 327680, 1, -589821, 393216, 0, -589820, 393216, 1, -589819, 327680, 1, -524301, 327680, 0, -589811, 327680, 0, -589812, 327680, 0, -589813, 393216, 1, -589817, 327680, 0, -589818, 327680, 1, -589814, 393216, 0, -589815, 393216, 0, -589816, 327680, 0, -524295, 393216, 0, -524296, 393216, 0, -524297, 393216, 1, -524298, 327680, 0, -524299, 327680, 1, -524300, 327680, 1, -327693, 393216, 1, -262157, 327680, 1, -196621, 393216, 0, -131085, 327680, 0, -65549, 327680, 0, -13, 327680, 0, 65523, 327680, 0, 131059, 327680, 0, 196595, 327680, 1, 262131, 393216, 0, 327667, 327680, 0, 393203, 393216, 1, 458739, 327680, 1, 458740, 327680, 0, 458741, 393216, 1, 458742, 327680, 0, 458743, 327680, 0, 458744, 327680, 0, 458745, 393216, 1, 458746, 327680, 1, 458747, 327680, 0, 458748, 327680, 0, 458749, 327680, 0, 458750, 393216, 0, 458751, 327680, 0, 393216, 327680, 1, 393217, 327680, 0, 393218, 327680, 0, 393219, 393216, 1, 393220, 327680, 1, 393221, 327680, 1, 393222, 327680, 1, 393223, 393216, 0, 393224, 393216, 1, 393225, 327680, 0, 393226, 327680, 0, 393227, 393216, 0, 393228, 327680, 1, 393229, 327680, 1, -524275, 393216, 0, -458739, 327680, 1, -393203, 327680, 1, -327667, 393216, 0, -262131, 327680, 0, -196595, 327680, 1, -131059, 327680, 0, -65523, 393216, 0, 13, 393216, 1, 65549, 393216, 0, 131085, 393216, 0, 196621, 327680, 0, 262157, 393216, 0, 327693, 393216, 1, -327689, 393216, 1, -327688, 327680, 1, -393225, 393216, 1, -393226, 327680, 1, -393227, 327680, 1, -327691, 393216, 0, -327690, 393216, 1, -262154, 393216, 1, -262153, 327680, 1, -262152, 327680, 0, -196616, 393216, 1, -262151, 327680, 0, -196617, 327680, 0, -196615, 393216, 0, -262145, 327680, 1, -65538, 327680, 1, -2, 327680, 1, -1, 327680, 1, 65535, 327680, 0, 131071, 393216, 0, -196620, 327680, 1, -131084, 327680, 1, -65548, 393216, 0, -12, 327680, 1, -11, 327680, 0, 65525, 327680, 0, 131061, 327680, 0, 131060, 327680, 0, 196596, 327680, 1, 262132, 327680, 1, 327668, 327680, 1, 393204, 327680, 0, -65547, 327680, 1, -65546, 393216, 1, 65524, 393216, 0, -131083, 327680, 1, -10, 327680, 0, 196597, 327680, 0, 262133, 327680, 1, 262134, 327680, 0, 327670, 393216, 1, 393206, 327680, 0, 393205, 327680, 0, 327669, 327680, 1, 327671, 327680, 1, 327672, 327680, 0, 327673, 327680, 1, 327674, 327680, 1, 327675, 327680, 1, 327676, 327680, 1, 393212, 327680, 0, 393213, 327680, 0, 393214, 327680, 0, 393215, 327680, 0, 327680, 327680, 0, 393211, 327680, 0, 393210, 327680, 0, 393209, 327680, 0, 393208, 393216, 0, 393207, 327680, 1, 327677, 327680, 1, 327678, 393216, 0, 327679, 327680, 1, 262144, 327680, 0, 262145, 327680, 1, 262146, 327680, 0, 262147, 327680, 0, 262148, 327680, 0, 262149, 393216, 0, 327685, 393216, 1, 327684, 393216, 0, 327683, 327680, 0, 327682, 327680, 0, 327681, 327680, 0, 327686, 393216, 0, 327687, 393216, 1, 327688, 327680, 0, 262153, 393216, 0, 262154, 393216, 1, 262155, 327680, 1, 262156, 393216, 1, 327692, 393216, 1, 327691, 327680, 1, 327690, 327680, 1, 327689, 393216, 1, 262152, 327680, 1, 262151, 393216, 1, 262150, 327680, 0, 196615, 327680, 0, 196614, 327680, 0, 196613, 327680, 0, 196612, 327680, 0, 196611, 327680, 0, 196610, 327680, 0, 196609, 327680, 0, 196608, 327680, 0, 262143, 327680, 0, 196606, 327680, 0, 196605, 327680, 0, 196604, 327680, 1, 196603, 393216, 1, 196602, 327680, 1, 131066, 393216, 1, 131065, 327680, 1, 131064, 327680, 0, 65528, 327680, 0, 65527, 327680, 0, -9, 327680, 0, 65526, 327680, 0, 131062, 327680, 1, 131063, 327680, 0, 196599, 393216, 0, 196598, 327680, 1, 196600, 327680, 0, 196601, 393216, 0, 262139, 327680, 0, 262140, 327680, 0, 262141, 393216, 0, 262142, 327680, 0, 262138, 327680, 1, 262137, 393216, 1, 262136, 327680, 1, 262135, 393216, 0, 65529, 327680, 0, -7, 327680, 0, -65543, 327680, 0, -65544, 327680, 1, -65545, 327680, 0, -8, 327680, 0, -65542, 327680, 1, -65541, 393216, 0, -65540, 327680, 0, -6, 327680, 0, -5, 393216, 0, -65539, 393216, 1, -131074, 327680, 1, 65533, 327680, 0, 131068, 393216, 1, 131067, 327680, 1, 65532, 327680, 0, -3, 327680, 0, 131069, 327680, 0, 131070, 327680, 0, 65536, 327680, 1, 65537, 327680, 0, 65538, 327680, 0, 3, 327680, 1, -65534, 327680, 1, -131070, 327680, 0, -196607, 327680, 0, -196608, 327680, 1, -131073, 327680, 1, -131075, 327680, 0, -131076, 393216, 1, -131077, 393216, 0, 65531, 327680, 0, 196607, 327680, 1, 131072, 393216, 0, 131073, 327680, 1, 131074, 393216, 1, 131075, 327680, 1, 131076, 327680, 1, 65534, 327680, 0, -65536, 393216, 1, -131071, 327680, 1, -196606, 327680, 0, -131072, 327680, 1, -65537, 327680, 0, -4, 327680, 1, -262149, 327680, 0, -327685, 327680, 0, -393221, 393216, 0, -196613, 393216, 0, 65530, 327680, 0, -327686, 393216, 1, -393222, 393216, 1, -458757, 327680, 1, -458756, 393216, 0, -458755, 327680, 1, -458754, 393216, 1, -458753, 393216, 1, -458758, 327680, 0, -524288, 327680, 0, -524287, 327680, 1, -524286, 393216, 1, -524285, 393216, 0, -524284, 393216, 1, -524283, 327680, 0, -524282, 393216, 0, -524281, 393216, 1, -524280, 327680, 0, -524279, 393216, 1, -524278, 393216, 1, -524277, 393216, 1, -524276, 327680, 1, -458740, 393216, 0, -458741, 393216, 1, -458742, 327680, 0, -458743, 393216, 1, -458744, 393216, 1, -458745, 393216, 0, -458746, 393216, 1, -393211, 393216, 0, -393212, 327680, 0, -393213, 393216, 1, -393214, 327680, 0, -393215, 393216, 1, -393216, 393216, 1, -327681, 393216, 1, -327682, 327680, 1, -327683, 327680, 0, -327684, 327680, 0, -458748, 327680, 1, -458749, 327680, 1, -458750, 393216, 1, -458751, 327680, 0, -458752, 327680, 1, -393217, 327680, 1, -393218, 393216, 1, -393219, 393216, 1, -393220, 393216, 0, -458747, 327680, 1, -262148, 327680, 0, -262147, 393216, 0, -262146, 327680, 1, -327680, 393216, 0, -262143, 327680, 1, -262142, 393216, 1, -262141, 327680, 0, -262140, 393216, 1, -262144, 327680, 0, -196609, 327680, 0, -196610, 327680, 1, -196611, 327680, 1, -196612, 327680, 0, -327679, 327680, 0, -327678, 327680, 1, -327677, 327680, 1, -327676, 393216, 0, -327675, 327680, 1, -327674, 327680, 1, -393209, 327680, 0, -393210, 393216, 1, -393208, 393216, 1, -327673, 327680, 1, -262137, 393216, 1, -196602, 327680, 0, -131067, 327680, 0, -131068, 393216, 1, -65532, 327680, 0, -65533, 393216, 0, -131069, 327680, 0, -196605, 393216, 1, -196604, 327680, 1, -65535, 327680, 1, 0, 327680, 1, 2, 327680, 1, 65539, 327680, 1, 1, 327680, 1, -196603, 327680, 0, -262138, 327680, 1, -262139, 327680, 1, -327672, 327680, 1, -393207, 393216, 0, -393206, 393216, 1, -327670, 393216, 1, -262135, 393216, 1, -196599, 393216, 1, -196600, 393216, 1, -131064, 327680, 1, -131065, 327680, 1, -65529, 393216, 0, -65530, 393216, 0, -65531, 327680, 0, 5, 327680, 0, 4, 327680, 0, 65540, 327680, 0, 131077, 327680, 0, 131078, 327680, 1, 131079, 327680, 1, 65544, 327680, 1, 8, 327680, 0, -65528, 327680, 0, -327671, 393216, 0, 6, 327680, 0, -131066, 327680, 1, -196601, 327680, 1, -262136, 327680, 1, 65541, 327680, 1, 65542, 327680, 1, 7, 327680, 0, 65543, 327680, 1, 131080, 327680, 0, 131081, 393216, 0, 196617, 327680, 0, 196616, 327680, 0, 196618, 327680, 0, 131082, 327680, 0, 131083, 393216, 0, 131084, 393216, 1, 196620, 327680, 1, 196619, 327680, 1, 65547, 327680, 1, 11, 327680, 1, -65526, 327680, 0, -131062, 393216, 1, -131063, 327680, 1, -65527, 327680, 0, 9, 327680, 0, 65545, 327680, 1, 65546, 327680, 1, 10, 393216, 1, -196598, 393216, 0, -262134, 393216, 0, -327669, 393216, 0, -262133, 393216, 0, -196597, 393216, 1, -131061, 327680, 0, -65525, 327680, 1, -393205, 327680, 0, -327668, 393216, 0, -262132, 327680, 1, -196596, 393216, 1, -131060, 327680, 0, -65524, 393216, 1, 12, 393216, 0, -393204, 327680, 1, 65548, 327680, 1, -262158, 327680, 0, -196622, 327680, 0, -131086, 327680, 0, -65550, 327680, 0, -14, 327680, 0, 65522, 327680, 0, 131058, 327680, 0, 196594, 327680, 0, 262130, 327680, 0, 327666, 327680, 0, 393202, 327680, 0, 458738, 327680, 0, -589810, 327680, 0, -524274, 327680, 0, -458738, 327680, 0, -393202, 327680, 0, -327666, 327680, 0, -262130, 327680, 0, -196594, 327680, 0, -131058, 327680, 0, -65522, 327680, 0, 14, 327680, 0, 65550, 327680, 0, 131086, 327680, 0, 196622, 327680, 0, 262158, 327680, 0, 327694, 327680, 0, 393230, 327680, 0, 524274, 327680, 0, 524275, 327680, 0, 524276, 327680, 0, 524277, 327680, 0, 524278, 327680, 0, 524279, 327680, 0, 524280, 327680, 0, 524281, 327680, 0, 524282, 327680, 0, 524283, 327680, 0, 524284, 327680, 0, 524285, 327680, 0, 524286, 327680, 0, 524287, 327680, 0, 458752, 327680, 0, 458753, 327680, 0, 458754, 327680, 0, 458755, 327680, 0, 458756, 327680, 0, 458757, 327680, 0, 458758, 327680, 0, 458759, 327680, 0, 458760, 327680, 0, 458761, 327680, 0, 458762, 327680, 0, 458763, 327680, 0, 458764, 327680, 0, 458765, 327680, 0, 458766, 327680, 0) -script = ExtResource("2_lfdy2") -Entities = NodePath("Entities") -Areas = NodePath("Areas") -Spawners = NodePath("Spawners") - -[node name="Campfire" parent="." instance=ExtResource("2_kfvvk")] -position = Vector2(-168, 24) - -[node name="CanvasModulate" type="CanvasModulate" parent="."] - -[node name="Entities" type="Node2D" parent="."] -y_sort_enabled = true - -[node name="Areas" type="Node2D" parent="."] - -[node name="Area2D" type="Area2D" parent="Areas"] -position = Vector2(200, -24) -collision_mask = 5 -script = ExtResource("5_gxtl8") -ToArea = "res://Scenes/Maps/Meadow.tscn" -ToConnector = "meadow_start" -Identifier = "forest_to_meadow" - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Areas/Area2D"] -shape = SubResource("RectangleShape2D_drg0k") - -[node name="Spawners" type="Node2D" parent="."] - -[node name="WorldEnvironment" type="WorldEnvironment" parent="."] -environment = SubResource("Environment_pxx66") diff --git a/Scenes/Maps/ForestNew.tscn b/Scenes/Maps/ForestNew.tscn index 5bfe142..53dc15a 100644 --- a/Scenes/Maps/ForestNew.tscn +++ b/Scenes/Maps/ForestNew.tscn @@ -1,9 +1,7 @@ -[gd_scene load_steps=23 format=3 uid="uid://cumi1cbg6xfdd"] +[gd_scene load_steps=17 format=4 uid="uid://cumi1cbg6xfdd"] [ext_resource type="PackedScene" uid="uid://clwv2owvk6abe" path="res://Scenes/BaseMap.tscn" id="1_oy3cp"] -[ext_resource type="Texture2D" uid="uid://c70cn53osy56w" path="res://Assets/Sprites/dev-tileset.png" id="2_2gdry"] -[ext_resource type="Texture2D" uid="uid://lnyd6osxcu0g" path="res://Assets/Sprites/Props/tree-autumn-cluster-tiles.png" id="3_nlcn0"] -[ext_resource type="Texture2D" uid="uid://ccqfwgjkerta5" path="res://Assets/Sprites/grass-tileset-dark.png" id="3_s6sr7"] +[ext_resource type="TileSet" uid="uid://dkis3rb4n62cu" path="res://Scenes/Maps/ForestTileset.tres" id="2_q0kvn"] [ext_resource type="PackedScene" uid="uid://dhl071rj5wyvx" path="res://Entities/Campfire.tscn" id="3_ve4i2"] [ext_resource type="Texture2D" uid="uid://dtsatj8hvbstj" path="res://Assets/Sprites/Props/tree-bare-0.png" id="5_88q03"] [ext_resource type="Texture2D" uid="uid://puckmeudo5c0" path="res://Assets/Sprites/Props/tree-bare-1.png" id="6_fb6dk"] @@ -13,430 +11,6 @@ [ext_resource type="Texture2D" uid="uid://crvbsxrda5gcj" path="res://Assets/Sprites/Props/tree-autumn-leaves-3.png" id="9_exvkw"] [ext_resource type="PackedScene" uid="uid://rd08pot25h00" path="res://Characters/SnusDealer.tscn" id="12_eyny2"] -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_s1h2f"] -texture = ExtResource("2_2gdry") -0:0/0 = 0 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 -1:0/0 = 0 -1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:0/0/physics_layer_0/angular_velocity = 0.0 -2:0/0 = 0 -2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:0/0/physics_layer_0/angular_velocity = 0.0 -3:0/0 = 0 -3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:0/0/physics_layer_0/angular_velocity = 0.0 -0:1/0 = 0 -0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:1/0/physics_layer_0/angular_velocity = 0.0 -1:1/0 = 0 -1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:1/0/physics_layer_0/angular_velocity = 0.0 -2:1/0 = 0 -2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:1/0/physics_layer_0/angular_velocity = 0.0 -3:1/0 = 0 -3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:1/0/physics_layer_0/angular_velocity = 0.0 -0:2/0 = 0 -0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:2/0/physics_layer_0/angular_velocity = 0.0 -1:2/0 = 0 -1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:2/0/physics_layer_0/angular_velocity = 0.0 -2:2/0 = 0 -2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:2/0/physics_layer_0/angular_velocity = 0.0 -3:2/0 = 0 -3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:2/0/physics_layer_0/angular_velocity = 0.0 -0:3/0 = 0 -0:3/0/y_sort_origin = 8 -0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:3/0/physics_layer_0/angular_velocity = 0.0 -1:3/0 = 0 -1:3/0/y_sort_origin = 8 -1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:3/0/physics_layer_0/angular_velocity = 0.0 -2:3/0 = 0 -2:3/0/y_sort_origin = 8 -2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:3/0/physics_layer_0/angular_velocity = 0.0 -0:4/0 = 0 -0:4/0/y_sort_origin = 8 -0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:4/0/physics_layer_0/angular_velocity = 0.0 -0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(4, -8, 8, -8, 8, 8, 4, 8) -1:4/0 = 0 -1:4/0/y_sort_origin = 8 -1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:4/0/physics_layer_0/angular_velocity = 0.0 -1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -2:4/0 = 0 -2:4/0/y_sort_origin = 8 -2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:4/0/physics_layer_0/angular_velocity = 0.0 -2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -4, -8, -4, 8, -8, 8) -0:5/0 = 0 -0:5/0/y_sort_origin = 8 -0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:5/0/physics_layer_0/angular_velocity = 0.0 -0:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(3.5, -8, 8, -8, 8, -4, 4, -4) -1:5/0 = 0 -1:5/0/y_sort_origin = 8 -1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:5/0/physics_layer_0/angular_velocity = 0.0 -1:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, -4, -8, -4) -2:5/0 = 0 -2:5/0/y_sort_origin = 8 -2:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:5/0/physics_layer_0/angular_velocity = 0.0 -2:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -4, -8, -4, -4, -8, -4) -3:5/0 = 0 -3:5/0/y_sort_origin = 8 -3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:5/0/physics_layer_0/angular_velocity = 0.0 -4:5/0 = 0 -4:5/0/y_sort_origin = 8 -4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:5/0/physics_layer_0/angular_velocity = 0.0 -5:5/0 = 0 -5:5/0/y_sort_origin = 8 -5:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:5/0/physics_layer_0/angular_velocity = 0.0 -4:4/0 = 0 -4:4/0/y_sort_origin = 8 -4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:4/0/physics_layer_0/angular_velocity = 0.0 -4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(4, -8, 4, 8, 8, 8, 8, -8) -3:4/0 = 0 -3:4/0/y_sort_origin = 8 -3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:4/0/physics_layer_0/angular_velocity = 0.0 -3:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -4, -8, -4, 8, -8, 8) -4:3/0 = 0 -4:3/0/y_sort_origin = 8 -4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:3/0/physics_layer_0/angular_velocity = 0.0 -3:3/0 = 0 -3:3/0/y_sort_origin = 8 -3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:3/0/physics_layer_0/angular_velocity = 0.0 -5:2/0 = 0 -5:2/0/y_sort_origin = 8 -5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:2/0/physics_layer_0/angular_velocity = 0.0 -4:1/0 = 0 -4:1/0/y_sort_origin = 8 -4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:1/0/physics_layer_0/angular_velocity = 0.0 -4:0/0 = 0 -4:0/0/y_sort_origin = 8 -4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:0/0/physics_layer_0/angular_velocity = 0.0 -5:0/0 = 0 -5:0/0/y_sort_origin = 8 -5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:0/0/physics_layer_0/angular_velocity = 0.0 -5:1/0 = 0 -5:1/0/y_sort_origin = 8 -5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:1/0/physics_layer_0/angular_velocity = 0.0 -4:2/0 = 0 -4:2/0/y_sort_origin = 8 -4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:2/0/physics_layer_0/angular_velocity = 0.0 -5:4/0 = 0 -5:4/0/y_sort_origin = 8 -5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:4/0/physics_layer_0/angular_velocity = 0.0 -5:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(4, -8, 8, -8, 8, 8, 4, 8) -5:3/0 = 0 -5:3/0/y_sort_origin = 8 -5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:3/0/physics_layer_0/angular_velocity = 0.0 -5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -4, -8, -4, 8, -8, 8) - -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_tw0o1"] -texture = ExtResource("3_nlcn0") -0:0/0 = 0 -0:0/0/y_sort_origin = 8 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 -0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -1:0/0 = 0 -1:0/0/y_sort_origin = 8 -1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:0/0/physics_layer_0/angular_velocity = 0.0 -1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -2:0/0 = 0 -2:0/0/y_sort_origin = 8 -2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:0/0/physics_layer_0/angular_velocity = 0.0 -2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -3:0/0 = 0 -3:0/0/y_sort_origin = 8 -3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:0/0/physics_layer_0/angular_velocity = 0.0 -3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -0:1/0 = 0 -0:1/0/y_sort_origin = 8 -0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:1/0/physics_layer_0/angular_velocity = 0.0 -0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -1:1/0 = 0 -1:1/0/y_sort_origin = 8 -1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:1/0/physics_layer_0/angular_velocity = 0.0 -1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -2:1/0 = 0 -2:1/0/y_sort_origin = 8 -2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:1/0/physics_layer_0/angular_velocity = 0.0 -2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -3:1/0 = 0 -3:1/0/y_sort_origin = 8 -3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:1/0/physics_layer_0/angular_velocity = 0.0 -3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -0:2/0 = 0 -0:2/0/y_sort_origin = 8 -0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:2/0/physics_layer_0/angular_velocity = 0.0 -0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -1:2/0 = 0 -1:2/0/y_sort_origin = 8 -1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:2/0/physics_layer_0/angular_velocity = 0.0 -1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -2:2/0 = 0 -2:2/0/y_sort_origin = 8 -2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:2/0/physics_layer_0/angular_velocity = 0.0 -2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -3:2/0 = 0 -3:2/0/y_sort_origin = 8 -3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:2/0/physics_layer_0/angular_velocity = 0.0 -3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -0:3/size_in_atlas = Vector2i(1, 2) -0:3/0 = 0 -0:3/0/texture_origin = Vector2i(0, 8) -0:3/0/y_sort_origin = 8 -0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:3/0/physics_layer_0/angular_velocity = 0.0 -0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -24, 8, -24, 8, 8, -8, 8) -1:3/size_in_atlas = Vector2i(1, 2) -1:3/0 = 0 -1:3/0/texture_origin = Vector2i(0, 8) -1:3/0/y_sort_origin = 8 -1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:3/0/physics_layer_0/angular_velocity = 0.0 -1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -24, 8, -24, 8, 8, -8, 8) -2:3/size_in_atlas = Vector2i(1, 2) -2:3/0 = 0 -2:3/0/texture_origin = Vector2i(0, 8) -2:3/0/y_sort_origin = 8 -2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:3/0/physics_layer_0/angular_velocity = 0.0 -2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -24, 8, -24, 8, 8, -8, 8) -3:3/size_in_atlas = Vector2i(1, 2) -3:3/0 = 0 -3:3/0/texture_origin = Vector2i(0, 8) -3:3/0/y_sort_origin = 8 -3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:3/0/physics_layer_0/angular_velocity = 0.0 -3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -24, 8, -24, 8, 8, -8, 8) -4:0/0 = 0 -4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:0/0/physics_layer_0/angular_velocity = 0.0 -4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -5:0/0 = 0 -5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:0/0/physics_layer_0/angular_velocity = 0.0 -5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -5:1/0 = 0 -5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:1/0/physics_layer_0/angular_velocity = 0.0 -5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -4:1/0 = 0 -4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:1/0/physics_layer_0/angular_velocity = 0.0 -4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -4:2/0 = 0 -4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:2/0/physics_layer_0/angular_velocity = 0.0 -4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -5:2/0 = 0 -5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:2/0/physics_layer_0/angular_velocity = 0.0 -5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -5:3/0 = 0 -5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:3/0/physics_layer_0/angular_velocity = 0.0 -5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) -4:3/0 = 0 -4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:3/0/physics_layer_0/angular_velocity = 0.0 -4:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) - -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_w8vpx"] -texture = ExtResource("3_s6sr7") -0:0/0 = 0 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 -1:0/0 = 0 -1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:0/0/physics_layer_0/angular_velocity = 0.0 -1:1/0 = 0 -1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:1/0/physics_layer_0/angular_velocity = 0.0 -2:1/0 = 0 -2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:1/0/physics_layer_0/angular_velocity = 0.0 -3:2/0 = 0 -3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:2/0/physics_layer_0/angular_velocity = 0.0 -4:2/0 = 0 -4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:2/0/physics_layer_0/angular_velocity = 0.0 -4:3/0 = 0 -4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:3/0/physics_layer_0/angular_velocity = 0.0 -5:3/0 = 0 -5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:3/0/physics_layer_0/angular_velocity = 0.0 -0:1/0 = 0 -0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:1/0/physics_layer_0/angular_velocity = 0.0 -0:2/0 = 0 -0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:2/0/physics_layer_0/angular_velocity = 0.0 -0:3/0 = 0 -0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:3/0/physics_layer_0/angular_velocity = 0.0 -0:4/0 = 0 -0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:4/0/physics_layer_0/angular_velocity = 0.0 -0:5/0 = 0 -0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:5/0/physics_layer_0/angular_velocity = 0.0 -1:5/0 = 0 -1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:5/0/physics_layer_0/angular_velocity = 0.0 -1:6/0 = 0 -1:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:6/0/physics_layer_0/angular_velocity = 0.0 -2:6/0 = 0 -2:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:6/0/physics_layer_0/angular_velocity = 0.0 -0:6/0 = 0 -0:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:6/0/physics_layer_0/angular_velocity = 0.0 -0:7/0 = 0 -0:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:7/0/physics_layer_0/angular_velocity = 0.0 -1:7/0 = 0 -1:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:7/0/physics_layer_0/angular_velocity = 0.0 -2:7/0 = 0 -2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:7/0/physics_layer_0/angular_velocity = 0.0 -2:5/0 = 0 -2:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:5/0/physics_layer_0/angular_velocity = 0.0 -1:2/0 = 0 -1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:2/0/physics_layer_0/angular_velocity = 0.0 -1:3/0 = 0 -1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:3/0/physics_layer_0/angular_velocity = 0.0 -2:3/0 = 0 -2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:3/0/physics_layer_0/angular_velocity = 0.0 -3:3/0 = 0 -3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:3/0/physics_layer_0/angular_velocity = 0.0 -1:4/0 = 0 -1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:4/0/physics_layer_0/angular_velocity = 0.0 -6:3/0 = 0 -6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:3/0/physics_layer_0/angular_velocity = 0.0 -2:4/0 = 0 -2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:4/0/physics_layer_0/angular_velocity = 0.0 -3:4/0 = 0 -3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:4/0/physics_layer_0/angular_velocity = 0.0 -4:4/0 = 0 -4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:4/0/physics_layer_0/angular_velocity = 0.0 -2:2/0 = 0 -2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:2/0/physics_layer_0/angular_velocity = 0.0 -5:4/0 = 0 -5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:4/0/physics_layer_0/angular_velocity = 0.0 -6:4/0 = 0 -6:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:4/0/physics_layer_0/angular_velocity = 0.0 -7:4/0 = 0 -7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:4/0/physics_layer_0/angular_velocity = 0.0 -7:3/0 = 0 -7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:3/0/physics_layer_0/angular_velocity = 0.0 -2:0/0 = 0 -2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:0/0/physics_layer_0/angular_velocity = 0.0 -3:0/0 = 0 -3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:0/0/physics_layer_0/angular_velocity = 0.0 -4:0/0 = 0 -4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:0/0/physics_layer_0/angular_velocity = 0.0 -5:0/0 = 0 -5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:0/0/physics_layer_0/angular_velocity = 0.0 -6:0/0 = 0 -6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:0/0/physics_layer_0/angular_velocity = 0.0 -7:0/0 = 0 -7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:0/0/physics_layer_0/angular_velocity = 0.0 -7:1/0 = 0 -7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:1/0/physics_layer_0/angular_velocity = 0.0 -6:2/0 = 0 -6:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:2/0/physics_layer_0/angular_velocity = 0.0 -5:2/0 = 0 -5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:2/0/physics_layer_0/angular_velocity = 0.0 -4:1/0 = 0 -4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:1/0/physics_layer_0/angular_velocity = 0.0 -3:1/0 = 0 -3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:1/0/physics_layer_0/angular_velocity = 0.0 -6:1/0 = 0 -6:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:1/0/physics_layer_0/angular_velocity = 0.0 -7:2/0 = 0 -7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:2/0/physics_layer_0/angular_velocity = 0.0 -5:1/0 = 0 -5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:1/0/physics_layer_0/angular_velocity = 0.0 - -[sub_resource type="TileSet" id="TileSet_q7vkh"] -physics_layer_0/collision_layer = 1 -sources/0 = SubResource("TileSetAtlasSource_s1h2f") -sources/3 = SubResource("TileSetAtlasSource_w8vpx") -sources/1 = SubResource("TileSetAtlasSource_tw0o1") - [sub_resource type="RectangleShape2D" id="RectangleShape2D_0ifx7"] size = Vector2(272, 102) @@ -468,11 +42,6 @@ cell_size = 16.0 agent_radius = 8.0 [node name="TileMap" node_paths=PackedStringArray("Entities", "Areas", "Spawners", "Markers") groups=["navigation"] instance=ExtResource("1_oy3cp")] -tile_set = SubResource("TileSet_q7vkh") -layer_0/tile_data = PackedInt32Array(-589794, 131072, 4, -524258, 131072, 4, -458722, 131072, 4, -393186, 131072, 4, -655330, 131072, 4, -524270, 65536, 3, -524269, 65536, 3, -524268, 65536, 3, -524267, 65536, 3, -524266, 65536, 3, -524265, 262144, 4, -589801, 0, 4, -655337, 0, 4, -720873, 0, 3, -720866, 131072, 3, -720872, 65536, 3, -720869, 65536, 3, -720868, 65536, 3, -720867, 65536, 3, -458734, 65536, 4, -458733, 65536, 4, -458732, 65536, 4, -458731, 65536, 4, -458730, 65536, 4, -458729, 65536, 4, -655336, 65536, 4, -655333, 65536, 4, -655332, 65536, 4, -655331, 65536, 4, -196590, 65536, 3, -196589, 65536, 3, -196588, 65536, 3, -196587, 65536, 3, -196586, 65536, 3, -131050, 0, 3, -65514, 0, 4, 22, 0, 4, -196585, 65536, 3, -131049, 65536, 3, -196584, 65536, 3, -131048, 65536, 3, -196583, 65536, 3, -131047, 262144, 4, -196580, 65536, 3, -131044, 196608, 4, -196579, 65536, 3, -131043, 65536, 3, -262114, 131072, 4, -196578, 131072, 4, -131042, 65536, 3, -65505, 131072, 4, 31, 131072, 4, 65558, 0, 4, -65513, 65536, 4, 65559, 65536, 3, -65512, 65536, 4, 65560, 65536, 3, -65511, 65536, 4, 65561, 65536, 3, -65508, 65536, 4, 65564, 65536, 3, -65507, 65536, 4, 65565, 65536, 3, -65506, 65536, 4, 65566, 65536, 3, 65567, 131072, 4, -131041, 131072, 3, -327650, 131072, 4) -layer_3/tile_data = PackedInt32Array(-917533, 0, 1, -851997, 0, 1, -786461, 0, 1, -720925, 0, 1, -655389, 0, 1, -917532, 0, 1, -851996, 0, 1, -786460, 0, 1, -720924, 0, 1, -655388, 0, 1, -917531, 0, 1, -851995, 0, 1, -786459, 0, 1, -720923, 0, 1, -655387, 0, 1, -917530, 0, 1, -851994, 0, 1, -786458, 0, 1, -720922, 0, 1, -655386, 0, 1, -917529, 0, 1, -851993, 0, 1, -786457, 0, 1, -720921, 0, 1, -655385, 0, 1, -917528, 0, 1, -851992, 0, 1, -786456, 0, 1, -720920, 0, 1, -655384, 0, 1, -917527, 0, 1, -851991, 0, 1, -786455, 0, 1, -720919, 0, 1, -655383, 0, 1, -917526, 0, 1, -851990, 0, 1, -786454, 0, 1, -720918, 0, 1, -655382, 0, 1, -917525, 0, 1, -851989, 0, 1, -786453, 0, 1, -720917, 0, 1, -655381, 0, 1, -1310740, 0, 1, -1245204, 0, 1, -1179668, 0, 1, -1114132, 0, 1, -1048596, 0, 1, -983060, 0, 1, -917524, 0, 1, -851988, 0, 1, -786452, 0, 1, -720916, 0, 1, -655380, 0, 1, -589844, 0, 1, -524308, 0, 1, -458772, 0, 1, -393236, 0, 1, -327700, 0, 1, -262164, 0, 1, -1310739, 0, 1, -1245203, 0, 1, -1179667, 0, 1, -1114131, 0, 1, -1048595, 0, 1, -983059, 0, 1, -917523, 0, 1, -851987, 0, 1, -786451, 0, 1, -720915, 0, 1, -655379, 0, 1, -589843, 0, 1, -524307, 0, 1, -458771, 0, 1, -393235, 0, 1, -327699, 0, 1, -1310738, 0, 1, -1245202, 0, 1, -1179666, 0, 1, -1114130, 0, 1, -1048594, 0, 1, -983058, 0, 1, -917522, 0, 1, -851986, 0, 1, -786450, 0, 1, -720914, 0, 1, -655378, 0, 1, -589842, 0, 1, -524306, 0, 1, -458770, 0, 1, -393234, 0, 1, -327698, 0, 1, -1310737, 0, 1, -1245201, 0, 1, -1179665, 0, 1, -1114129, 0, 1, -1048593, 0, 1, -983057, 0, 1, -917521, 0, 1, -851985, 0, 1, -786449, 0, 1, -720913, 0, 1, -655377, 0, 1, -589841, 0, 1, -524305, 0, 1, -458769, 0, 1, -393233, 0, 1, -327697, 0, 1, -1310736, 0, 1, -1245200, 0, 1, -1179664, 0, 1, -1114128, 0, 1, -1048592, 0, 1, -983056, 0, 1, -917520, 0, 1, -851984, 0, 1, -786448, 0, 1, -720912, 0, 1, -655376, 0, 1, -589840, 0, 1, -393232, 0, 1, -327696, 0, 1, -1310735, 0, 1, -1245199, 0, 1, -1179663, 0, 1, -1114127, 0, 1, -1048591, 0, 1, -983055, 0, 1, -917519, 0, 1, -851983, 0, 1, -786447, 0, 1, -720911, 0, 1, -655375, 0, 1, -589839, 0, 1, -393231, 0, 1, -327695, 0, 1, -1310734, 0, 1, -1245198, 0, 1, -1179662, 0, 1, -1114126, 0, 1, -1048590, 0, 1, -983054, 0, 1, -917518, 0, 1, -851982, 0, 1, -786446, 0, 1, -720910, 0, 1, -655374, 0, 1, -589838, 0, 1, -393230, 0, 1, -327694, 0, 1, -1310733, 0, 1, -1245197, 0, 1, -1179661, 0, 1, -1114125, 0, 1, -1048589, 0, 1, -983053, 0, 1, -917517, 0, 1, -851981, 0, 1, -786445, 0, 1, -720909, 0, 1, -655373, 0, 1, -589837, 0, 1, -393229, 0, 1, -327693, 0, 1, -1310732, 0, 1, -1245196, 0, 1, -1179660, 0, 1, -1114124, 0, 1, -1048588, 0, 1, -983052, 0, 1, -917516, 0, 1, -851980, 0, 1, -786444, 0, 1, -720908, 0, 1, -393228, 0, 1, -327692, 0, 1, -1310731, 0, 1, -1245195, 0, 1, -1179659, 0, 1, -1114123, 0, 1, -1048587, 0, 1, -983051, 0, 1, -917515, 0, 1, -851979, 0, 1, -786443, 0, 1, -720907, 0, 1, -655371, 0, 1, -327691, 0, 1, -1310730, 0, 1, -1245194, 0, 1, -1179658, 0, 1, -1114122, 0, 1, -1048586, 0, 1, -983050, 0, 1, -917514, 0, 1, -851978, 0, 1, -786442, 0, 1, -720906, 0, 1, -655370, 0, 1, -1179650, 0, 1, -1114114, 0, 1, -1048578, 0, 1, -983042, 0, 1, -1310721, 0, 1, -1245185, 0, 1, -1179649, 0, 1, -1114113, 0, 1, -1048577, 0, 1, -983041, 0, 1, -1507328, 0, 1, -1441792, 0, 1, -1376256, 0, 1, -1310720, 0, 1, -1245184, 0, 1, -1179648, 0, 1, -1114112, 0, 1, -1048576, 0, 1, -1638399, 0, 1, -1572863, 0, 1, -1507327, 0, 1, -1441791, 0, 1, -1376255, 0, 1, -1310719, 0, 1, -1245183, 0, 1, -1179647, 0, 1, -1114111, 0, 1, -1048575, 0, 1, -1769470, 0, 1, -1703934, 0, 1, -1638398, 0, 1, -1572862, 0, 1, -1507326, 0, 1, -1441790, 0, 1, -1376254, 0, 1, -1310718, 0, 1, -1245182, 0, 1, -1179646, 0, 1, -1114110, 0, 1, -1048574, 0, 1, -1900541, 0, 1, -1835005, 0, 1, -1769469, 0, 1, -1703933, 0, 1, -1638397, 0, 1, -1572861, 0, 1, -1507325, 0, 1, -1441789, 0, 1, -1376253, 0, 1, -1310717, 0, 1, -1245181, 0, 1, -1179645, 0, 1, -1114109, 0, 1, -1048573, 0, 1, -2031612, 0, 1, -1966076, 0, 1, -1900540, 0, 1, -1835004, 0, 1, -1769468, 0, 1, -1703932, 0, 1, -1638396, 0, 1, -1572860, 0, 1, -1507324, 0, 1, -1441788, 0, 1, -1376252, 0, 1, -1310716, 0, 1, -1245180, 0, 1, -1179644, 0, 1, -1114108, 0, 1, -1048572, 0, 1, -2162683, 0, 1, -2097147, 0, 1, -2031611, 0, 1, -1966075, 0, 1, -1900539, 0, 1, -1835003, 0, 1, -1769467, 0, 1, -1703931, 0, 1, -1638395, 0, 1, -1572859, 0, 1, -1507323, 0, 1, -1441787, 0, 1, -1376251, 0, 1, -1310715, 0, 1, -1245179, 0, 1, -1179643, 0, 1, -1114107, 0, 1, -1048571, 0, 1, -2293754, 0, 1, -2228218, 0, 1, -2162682, 0, 1, -2097146, 0, 1, -2031610, 0, 1, -1966074, 0, 1, -1900538, 0, 1, -1835002, 0, 1, -1769466, 0, 1, -1703930, 0, 1, -1638394, 0, 1, -1572858, 0, 1, -1507322, 0, 1, -1441786, 0, 1, -1376250, 0, 1, -1310714, 0, 1, -1245178, 0, 1, -1179642, 0, 1, -1114106, 0, 1, -1048570, 0, 1, -2293753, 0, 1, -2228217, 0, 1, -2162681, 0, 1, -2097145, 0, 1, -2031609, 0, 1, -1966073, 0, 1, -1900537, 0, 1, -1835001, 0, 1, -1769465, 0, 1, -1703929, 0, 1, -1638393, 0, 1, -1572857, 0, 1, -1507321, 0, 1, -1441785, 0, 1, -1376249, 0, 1, -1310713, 0, 1, -1245177, 0, 1, -1179641, 0, 1, -1114105, 0, 1, -1048569, 0, 1, -2293752, 0, 1, -2228216, 0, 1, -2162680, 0, 1, -2097144, 0, 1, -2031608, 0, 1, -1966072, 0, 1, -1900536, 0, 1, -1835000, 0, 1, -1769464, 0, 1, -1703928, 0, 1, -1638392, 0, 1, -1572856, 0, 1, -1507320, 0, 1, -1441784, 0, 1, -1376248, 0, 1, -1310712, 0, 1, -1245176, 0, 1, -1179640, 0, 1, -1114104, 0, 1, -1048568, 0, 1, -2293751, 0, 1, -2228215, 0, 1, -2162679, 0, 1, -2097143, 0, 1, -2031607, 0, 1, -1966071, 0, 1, -1900535, 0, 1, -1834999, 0, 1, -1769463, 0, 1, -1703927, 0, 1, -1638391, 0, 1, -1572855, 0, 1, -1507319, 0, 1, -1441783, 0, 1, -1376247, 0, 1, -1310711, 0, 1, -1245175, 0, 1, -1179639, 0, 1, -1114103, 0, 1, -1048567, 0, 1, -2293750, 0, 1, -2228214, 0, 1, -2162678, 0, 1, -2097142, 0, 1, -2031606, 0, 1, -1966070, 0, 1, -1900534, 0, 1, -1834998, 0, 1, -1769462, 0, 1, -1703926, 0, 1, -1638390, 0, 1, -1572854, 0, 1, -1507318, 0, 1, -1441782, 0, 1, -1376246, 0, 1, -1310710, 0, 1, -1245174, 0, 1, -1179638, 0, 1, -1114102, 0, 1, -1048566, 0, 1, -2293749, 0, 1, -2228213, 0, 1, -2162677, 0, 1, -2097141, 0, 1, -2031605, 0, 1, -1966069, 0, 1, -1900533, 0, 1, -1834997, 0, 1, -1769461, 0, 1, -1703925, 0, 1, -1638389, 0, 1, -1572853, 0, 1, -1507317, 0, 1, -1441781, 0, 1, -1376245, 0, 1, -1310709, 0, 1, -1245173, 0, 1, -1179637, 0, 1, -1114101, 0, 1, -1048565, 0, 1, -2293748, 0, 1, -2228212, 0, 1, -2162676, 0, 1, -2097140, 0, 1, -2031604, 0, 1, -1966068, 0, 1, -1900532, 0, 1, -1834996, 0, 1, -1769460, 0, 1, -1703924, 0, 1, -1638388, 0, 1, -1572852, 0, 1, -1507316, 0, 1, -1441780, 0, 1, -1376244, 0, 1, -1310708, 0, 1, -1245172, 0, 1, -1179636, 0, 1, -1114100, 0, 1, -1048564, 0, 1, -2293747, 0, 1, -2228211, 0, 1, -2162675, 0, 1, -2097139, 0, 1, -2031603, 0, 1, -1966067, 0, 1, -1900531, 0, 1, -1834995, 0, 1, -1769459, 0, 1, -1703923, 0, 1, -1638387, 0, 1, -1572851, 0, 1, -1507315, 0, 1, -1441779, 0, 1, -1376243, 0, 1, -1310707, 0, 1, -1245171, 0, 1, -1179635, 0, 1, -1114099, 0, 1, -1048563, 0, 1, -2293746, 0, 1, -2228210, 0, 1, -2162674, 0, 1, -2097138, 0, 1, -2031602, 0, 1, -1966066, 0, 1, -1900530, 0, 1, -1834994, 0, 1, -1769458, 0, 1, -1703922, 0, 1, -1638386, 0, 1, -1572850, 0, 1, -1507314, 0, 1, -1441778, 0, 1, -1376242, 0, 1, -1310706, 0, 1, -1245170, 0, 1, -1179634, 0, 1, -1114098, 0, 1, -1048562, 0, 1, -2293745, 0, 1, -2228209, 0, 1, -2162673, 0, 1, -2097137, 0, 1, -2031601, 0, 1, -1966065, 0, 1, -1900529, 0, 1, -1834993, 0, 1, -1769457, 0, 1, -1703921, 0, 1, -1638385, 0, 1, -1572849, 0, 1, -1507313, 0, 1, -1441777, 0, 1, -1376241, 0, 1, -1310705, 0, 1, -1245169, 0, 1, -1179633, 0, 1, -1114097, 0, 1, -1048561, 0, 1, -2293744, 0, 1, -2228208, 0, 1, -2162672, 0, 1, -2097136, 0, 1, -2031600, 0, 1, -1966064, 0, 1, -1900528, 0, 1, -1834992, 0, 1, -1769456, 0, 1, -1703920, 0, 1, -1638384, 0, 1, -1572848, 0, 1, -1507312, 0, 1, -1441776, 0, 1, -1376240, 0, 1, -1310704, 0, 1, -1245168, 0, 1, -1179632, 0, 1, -1114096, 0, 1, -1048560, 0, 1, -2293743, 0, 1, -2228207, 0, 1, -2162671, 0, 1, -2097135, 0, 1, -2031599, 0, 1, -1966063, 0, 1, -1900527, 0, 1, -1834991, 0, 1, -1769455, 0, 1, -1703919, 0, 1, -1638383, 0, 1, -1572847, 0, 1, -1507311, 0, 1, -1441775, 0, 1, -1376239, 0, 1, -1310703, 0, 1, -1245167, 0, 1, -1179631, 0, 1, -1114095, 0, 1, -1048559, 0, 1, -2293742, 0, 1, -2228206, 0, 1, -2162670, 0, 1, -2097134, 0, 1, -2031598, 0, 1, -1966062, 0, 1, -1900526, 0, 1, -1834990, 0, 1, -1769454, 0, 1, -1703918, 0, 1, -1638382, 0, 1, -1572846, 0, 1, -1507310, 0, 1, -1441774, 0, 1, -1376238, 0, 1, -1310702, 0, 1, -1245166, 0, 1, -1179630, 0, 1, -1114094, 0, 1, -1048558, 0, 1, -983022, 0, 1, -917486, 0, 1, -851950, 0, 1, -786414, 0, 1, -720878, 0, 1, -655342, 0, 1, -589806, 0, 1, -524270, 0, 1, -2293741, 0, 1, -2228205, 0, 1, -2162669, 0, 1, -2097133, 0, 1, -2031597, 0, 1, -1966061, 0, 1, -1900525, 0, 1, -1834989, 0, 1, -1769453, 0, 1, -1703917, 0, 1, -1638381, 0, 1, -1572845, 0, 1, -1507309, 0, 1, -1441773, 0, 1, -1376237, 0, 1, -1310701, 0, 1, -1245165, 0, 1, -1179629, 0, 1, -1114093, 0, 1, -1048557, 0, 1, -983021, 0, 1, -917485, 0, 1, -851949, 0, 1, -786413, 0, 1, -720877, 0, 1, -655341, 0, 1, -589805, 0, 1, -524269, 0, 1, -2293740, 0, 1, -2228204, 0, 1, -2162668, 0, 1, -2097132, 0, 1, -2031596, 0, 1, -1966060, 0, 1, -1900524, 0, 1, -1834988, 0, 1, -1769452, 0, 1, -1703916, 0, 1, -1638380, 0, 1, -1572844, 0, 1, -1507308, 0, 1, -1441772, 0, 1, -1376236, 0, 1, -1310700, 0, 1, -1245164, 0, 1, -1179628, 0, 1, -1114092, 0, 1, -1048556, 0, 1, -983020, 0, 1, -917484, 0, 1, -851948, 0, 1, -786412, 0, 1, -720876, 0, 1, -655340, 0, 1, -589804, 0, 1, -524268, 0, 1, -2293739, 0, 1, -2228203, 0, 1, -2162667, 0, 1, -2097131, 0, 1, -2031595, 0, 1, -1966059, 0, 1, -1900523, 0, 1, -1834987, 0, 1, -1769451, 0, 1, -1703915, 0, 1, -1638379, 0, 1, -1572843, 0, 1, -1507307, 0, 1, -1441771, 0, 1, -1376235, 0, 1, -1310699, 0, 1, -1245163, 0, 1, -1179627, 0, 1, -1114091, 0, 1, -1048555, 0, 1, -983019, 0, 1, -917483, 0, 1, -851947, 0, 1, -786411, 0, 1, -720875, 0, 1, -655339, 0, 1, -589803, 0, 1, -524267, 0, 1, -2293738, 0, 1, -2228202, 0, 1, -2162666, 0, 1, -2097130, 0, 1, -2031594, 0, 1, -1966058, 0, 1, -1900522, 0, 1, -1834986, 0, 1, -1769450, 0, 1, -1703914, 0, 1, -1638378, 0, 1, -1572842, 0, 1, -1507306, 0, 1, -1441770, 0, 1, -1376234, 0, 1, -1310698, 0, 1, -1245162, 0, 1, -1179626, 0, 1, -1114090, 0, 1, -1048554, 0, 1, -983018, 0, 1, -917482, 0, 1, -851946, 0, 1, -786410, 0, 1, -720874, 0, 1, -655338, 0, 1, -589802, 0, 1, -524266, 0, 1, -2293737, 0, 1, -2228201, 0, 1, -2162665, 0, 1, -2097129, 0, 1, -2031593, 0, 1, -1966057, 0, 1, -1900521, 0, 1, -1834985, 0, 1, -1769449, 0, 1, -1703913, 0, 1, -1638377, 0, 1, -1572841, 0, 1, -1507305, 0, 1, -1441769, 0, 1, -1376233, 0, 1, -1310697, 0, 1, -1245161, 0, 1, -1179625, 0, 1, -1114089, 0, 1, -1048553, 0, 1, -983017, 0, 1, -917481, 0, 1, -851945, 0, 1, -786409, 0, 1, -720873, 0, 1, -655337, 0, 1, -589801, 0, 1, -524265, 0, 1, -393199, 3, 6, -327663, 3, 6, -262127, 3, 6, -196591, 3, 6, -65539, 3, 5, -3, 3, 6, 65533, 3, 7, -65538, 65539, 5, -2, 65539, 6, 65534, 65539, 7, -65537, 131075, 5, -1, 131075, 6, 65535, 131075, 7, -131054, 0, 1, -65518, 0, 1, 18, 0, 1, 19, 0, 1, -65517, 0, 1, -131053, 0, 1, 65555, 0, 1, 131091, 0, 1, 131090, 0, 1, 65554, 0, 1, 20, 0, 1, -65516, 0, 1, -65515, 0, 1, -131051, 0, 1, -131052, 0, 1, -131050, 0, 1, -65514, 0, 1, 131094, 0, 1, 196630, 0, 1, 196629, 0, 1, 131093, 0, 1, 65557, 0, 1, 21, 0, 1, 131092, 0, 1, 65556, 0, 1, 196628, 0, 1, 262164, 0, 1, 196627, 0, 1, 262163, 0, 1, 196626, 0, 1, 262162, 0, 1, 262161, 0, 1, 196625, 0, 1, 262165, 0, 1, 327700, 0, 1, 327699, 0, 1, 327698, 0, 1, 262160, 0, 1, 196624, 0, 1, 196623, 0, 1, 196622, 0, 1, 262158, 0, 1, 262157, 0, 1, 262156, 0, 1, 196621, 0, 1, 262127, 0, 1, 327663, 0, 1, 393199, 0, 1, 262128, 0, 1, 327664, 0, 1, 393200, 0, 1, 262129, 0, 1, 327665, 0, 1, 393201, 0, 1, 262130, 0, 1, 327666, 0, 1, 393202, 0, 1, 262131, 0, 1, 327667, 0, 1, 393203, 0, 1, 262132, 0, 1, 327668, 0, 1, 393204, 0, 1, 262133, 0, 1, 327669, 0, 1, 393205, 0, 1, 262134, 0, 1, 327670, 0, 1, 393206, 0, 1, 262135, 0, 1, 327671, 0, 1, 393207, 0, 1, 262136, 0, 1, 327672, 0, 1, 393208, 0, 1, 262137, 0, 1, 327673, 0, 1, 393209, 0, 1, 262138, 0, 1, 327674, 0, 1, 393210, 0, 1, 262139, 0, 1, 327675, 0, 1, 393211, 0, 1, 262140, 0, 1, 327676, 0, 1, 393212, 0, 1, 262141, 0, 1, 327677, 0, 1, 393213, 0, 1, 262142, 0, 1, 327678, 0, 1, 393214, 0, 1, 262143, 0, 1, 327679, 0, 1, 393215, 0, 1, 196608, 0, 1, 262144, 0, 1, 327680, 0, 1, 196609, 0, 1, 262145, 0, 1, 327681, 0, 1, 196610, 0, 1, 262146, 0, 1, 327682, 0, 1, 196611, 0, 1, 262147, 0, 1, 327683, 0, 1, 196612, 0, 1, 262148, 0, 1, 327684, 0, 1, 196613, 0, 1, 262149, 0, 1, 327685, 0, 1, 196614, 0, 1, 262150, 0, 1, 327686, 0, 1, 196615, 0, 1, 262151, 0, 1, 327687, 0, 1, 196616, 0, 1, 262152, 0, 1, 327688, 0, 1, 196617, 0, 1, 262153, 0, 1, 327689, 0, 1, 196618, 0, 1, 262154, 0, 1, 327690, 0, 1, 196619, 0, 1, 262155, 0, 1, 327691, 0, 1, 196620, 0, 1, 327692, 0, 1, 327693, 0, 1, 327694, 0, 1, 262159, 0, 1, 327695, 0, 1, 327696, 0, 1, 327697, 0, 1, 458736, 0, 1, 458737, 0, 1, 524274, 0, 1, 589811, 0, 1, 524276, 0, 1, 458740, 0, 1, 458741, 0, 1, 458739, 0, 1, 458738, 0, 1, 458742, 0, 1, 524277, 0, 1, 524278, 0, 1, 524279, 0, 1, 458744, 0, 1, 458745, 0, 1, 524280, 0, 1, 589815, 0, 1, 524275, 0, 1, 458743, 0, 1, 589816, 0, 1, 589817, 0, 1, 524282, 0, 1, 458746, 0, 1, 458747, 0, 1, 458748, 0, 1, 524283, 0, 1, 458749, 0, 1, 458750, 0, 1, 458751, 0, 1, 524287, 0, 1, 458752, 0, 1, 524284, 0, 1, 524285, 0, 1, 524286, 0, 1, 458753, 0, 1, 393218, 0, 1, 393217, 0, 1, 393216, 0, 1, 524281, 0, 1, 458754, 0, 1, 458755, 0, 1, 458756, 0, 1, 458757, 0, 1, 524293, 0, 1, 393219, 0, 1, 393220, 0, 1, 393221, 0, 1, 393222, 0, 1, 393223, 0, 1, 393224, 0, 1, 393225, 0, 1, 393226, 0, 1, 393227, 0, 1, 393228, 0, 1, -196577, 1, 2, -262113, 65537, 2, -262112, 65537, 2, -327648, 65537, 2, -393184, 65537, 1, -458720, 65537, 2, -458721, 65537, 2, -393185, 65537, 2, -327649, 131073, 2, -327650, 1, 2, -262114, 1, 1, -393186, 1, 1, -524257, 131073, 2, -196576, 65537, 1, -131040, 65537, 2, -131041, 1, 2, 131103, 1, 2, 196639, 1, 1, 196640, 65537, 2, 131104, 65537, 2, 65568, 1, 2, 32, 1, 2, 262176, 65537, 2, 262175, 1, 1, 327711, 0, 1, 393247, 1, 3, 393248, 65537, 2, 458784, 0, 1, 327712, 65537, 2, 393249, 65537, 1, 262166, 0, 1, 393236, 0, 1, 393235, 0, 1, 393234, 0, 1, 458770, 0, 1, 458769, 0, 1, 458768, 0, 1, 393232, 0, 1, 393231, 0, 1, 393230, 0, 1, 393229, 0, 1, 393233, 0, 1, 458767, 0, 1, 458766, 0, 1, 458765, 0, 1, 458764, 0, 1, -65504, 1, 2, 458785, 65537, 2, 524321, 0, 1, 589857, 65537, 3, 524320, 1, 3, -655329, 131073, 0, -655330, 1, 0, -589794, 1, 1, -524258, 1, 2, -458722, 1, 1, -589793, 65537, 1, -589792, 131073, 2, -720864, 65537, 0, -655328, 65537, 1, -524256, 65537, 2, 196631, 0, 1, 262167, 0, 1, 327701, 0, 1, 327702, 0, 1, 327703, 0, 1, 458771, 0, 1, 393237, 0, 1, -720863, 131073, 0, -655327, 65537, 2, -589791, 65537, 2, -524255, 65537, 2, -458719, 65537, 2, -393183, 65537, 2, -327647, 65537, 2, -262111, 65537, 2, -196575, 65537, 2, -131039, 65537, 2, -65503, 65537, 2, 33, 65537, 2, 65569, 65537, 2, 131105, 65537, 2, 196641, 65537, 2, 262177, 65537, 2, 327713, 65537, 2, -720862, 65537, 0, -655326, 65537, 2, -589790, 65537, 1, -524254, 65537, 2, -458718, 65537, 2, -393182, 65537, 2, -327646, 65537, 2, -262110, 65537, 2, -196574, 65537, 2, -131038, 65537, 2, -65502, 65537, 2, 34, 65537, 2, 65570, 65537, 2, 131106, 65537, 2, 196642, 131073, 1, 262178, 65537, 2, 327714, 65537, 2, 393250, 131073, 1, 458786, 131073, 2, 524322, 0, 1, 589858, 131073, 3, -720861, 131073, 0, -655325, 65537, 2, -589789, 65537, 2, -524253, 65537, 2, -458717, 65537, 1, -393181, 65537, 2, -327645, 65537, 2, -262109, 65537, 2, -196573, 65537, 2, -131037, 65537, 2, -65501, 131073, 268435457, 35, 131073, 2, 65571, 65537, 2, 131107, 65537, 1, 196643, 65537, 2, 262179, 65537, 2, 327715, 262145, 1, 393251, 262145, 2, 458787, 65537, 2, 524323, 0, 1, 589859, 65537, 3, -720860, 65537, 0, -655324, 65537, 2, -589788, 65537, 2, -524252, 65537, 1, -458716, 65537, 1, -393180, 65537, 1, -327644, 65537, 1, -262108, 65537, 2, -196572, 65537, 1, -131036, 65537, 1, -65500, 131073, 268435457, 36, 65537, 2, 65572, 65537, 2, 131108, 65537, 1, 196644, 65537, 2, 262180, 65537, 2, 327716, 327681, 1, 393252, 327681, 2, 458788, 65537, 2, 524324, 0, 1, 589860, 131073, 3, -720859, 131073, 0, -655323, 65537, 2, -589787, 65537, 2, -524251, 65537, 2, -458715, 65537, 2, -393179, 65537, 2, -327643, 65537, 2, -262107, 65537, 1, -196571, 65537, 2, -131035, 65537, 2, -65499, 65537, 2, 37, 65537, 1, 65573, 65537, 2, 131109, 65537, 1, 196645, 65537, 2, 262181, 65537, 2, 327717, 65537, 2, 393253, 131073, 1, 458789, 65537, 2, 524325, 0, 1, 589861, 65537, 3, -720858, 65537, 0, -655322, 65537, 2, -589786, 262145, 1, -524250, 262145, 2, -458714, 262145, 3, -393178, 65537, 2, -327642, 65537, 2, -262106, 65537, 2, -196570, 262145, 0, -131034, 65537, 2, -65498, 65537, 2, 38, 65537, 2, 65574, 65537, 2, 131110, 65537, 2, 196646, 65537, 2, 262182, 65537, 2, 327718, 65537, 2, 393254, 65537, 2, 458790, 65537, 2, 524326, 0, 1, 589862, 131073, 3, -720857, 131073, 0, -655321, 65537, 2, -589785, 327681, 1, -524249, 327681, 2, -458713, 327681, 3, -393177, 65537, 1, -327641, 65537, 2, -262105, 65537, 2, -196569, 327681, 0, -131033, 65537, 2, -65497, 65537, 2, 39, 262145, 0, 65575, 65537, 2, 131111, 65537, 2, 196647, 65537, 2, 262183, 65537, 2, 327719, 65537, 2, 393255, 65537, 2, 458791, 65537, 2, 524327, 0, 1, 589863, 65537, 3, -720856, 65537, 0, -655320, 65537, 2, -589784, 65537, 2, -524248, 262145, 0, -458712, 65537, 2, -393176, 65537, 2, -327640, 65537, 2, -262104, 65537, 2, -196568, 65537, 2, -131032, 65537, 2, -65496, 65537, 2, 40, 327681, 0, 65576, 262145, 1, 131112, 262145, 2, 196648, 262145, 3, 262184, 65537, 2, 327720, 65537, 2, 393256, 65537, 2, 458792, 65537, 2, 524328, 0, 1, 589864, 131073, 3, -720855, 131073, 0, -655319, 65537, 2, -589783, 65537, 2, -524247, 327681, 0, -458711, 65537, 2, -393175, 65537, 1, -327639, 65537, 1, -262103, 65537, 2, -196567, 65537, 2, -131031, 65537, 2, -65495, 65537, 2, 41, 65537, 2, 65577, 327681, 1, 131113, 327681, 2, 196649, 327681, 3, 262185, 65537, 2, 327721, 131073, 1, 393257, 65537, 2, 458793, 65537, 2, 524329, 0, 1, 589865, 65537, 3, -720854, 65537, 0, -655318, 65537, 2, -589782, 65537, 2, -524246, 65537, 2, -458710, 65537, 2, -393174, 65537, 2, -327638, 65537, 2, -262102, 65537, 1, -196566, 65537, 1, -131030, 262145, 3, -65494, 65537, 2, 42, 65537, 2, 65578, 65537, 2, 131114, 65537, 2, 196650, 65537, 2, 262186, 65537, 2, 327722, 65537, 2, 393258, 65537, 2, 458794, 65537, 2, 524330, 0, 1, 589866, 131073, 3, -720853, 65537, 0, -655317, 65537, 2, -589781, 65537, 2, -524245, 65537, 2, -458709, 65537, 2, -393173, 65537, 2, -327637, 65537, 1, -262101, 65537, 2, -196565, 65537, 2, -131029, 327681, 3, -65493, 65537, 2, 43, 65537, 2, 65579, 65537, 2, 131115, 65537, 2, 196651, 65537, 2, 262187, 65537, 2, 327723, 65537, 2, 393259, 262145, 1, 458795, 262145, 2, 524331, 0, 1, 589867, 65537, 3, -720852, 131073, 0, -655316, 65537, 2, -589780, 65537, 2, -524244, 65537, 2, -458708, 65537, 1, -393172, 65537, 1, -327636, 65537, 2, -262100, 65537, 2, -196564, 65537, 2, -131028, 65537, 2, -65492, 65537, 2, 44, 65537, 1, 65580, 65537, 2, 131116, 262145, 1, 196652, 262145, 2, 262188, 65537, 2, 327724, 65537, 2, 393260, 327681, 1, 458796, 327681, 2, 524332, 0, 1, 589868, 131073, 3, -720851, 65537, 0, -655315, 65537, 2, -589779, 65537, 1, -524243, 65537, 2, -458707, 65537, 2, -393171, 65537, 2, -327635, 65537, 1, -262099, 65537, 1, -196563, 65537, 2, -131027, 65537, 1, -65491, 65537, 2, 45, 65537, 2, 65581, 65537, 2, 131117, 327681, 1, 196653, 327681, 2, 262189, 65537, 2, 327725, 65537, 2, 393261, 65537, 2, 458797, 65537, 2, 524333, 0, 1, 589869, 65537, 3, -720850, 131073, 0, -655314, 65537, 2, -589778, 65537, 2, -524242, 65537, 2, -458706, 65537, 2, -393170, 65537, 2, -327634, 65537, 2, -262098, 65537, 2, -196562, 65537, 2, -131026, 65537, 2, -65490, 65537, 2, 46, 65537, 2, 65582, 262145, 0, 131118, 65537, 2, 196654, 65537, 2, 262190, 65537, 2, 327726, 65537, 2, 393262, 65537, 2, 458798, 65537, 2, 524334, 0, 1, 589870, 131073, 3, -720849, 65537, 0, -655313, 65537, 2, -589777, 262145, 1, -524241, 262145, 2, -458705, 262145, 3, -393169, 65537, 2, -327633, 65537, 2, -262097, 262145, 0, -196561, 65537, 2, -131025, 65537, 2, -65489, 262145, 536870915, 47, 65537, 2, 65583, 327681, 0, 131119, 65537, 2, 196655, 65537, 2, 262191, 65537, 2, 327727, 65537, 2, 393263, 262145, 1, 458799, 262145, 2, 524335, 0, 1, 589871, 65537, 3, -720848, 131073, 0, -655312, 65537, 2, -589776, 327681, 1, -524240, 327681, 2, -458704, 327681, 3, -393168, 65537, 2, -327632, 65537, 2, -262096, 327681, 0, -196560, 65537, 2, -131024, 65537, 2, -65488, 327681, 536870915, 48, 65537, 2, 65584, 65537, 2, 131120, 65537, 2, 196656, 65537, 2, 262192, 65537, 2, 327728, 131073, 1, 393264, 327681, 1, 458800, 327681, 2, 524336, 0, 1, 589872, 131073, 3, -720847, 65537, 0, -655311, 65537, 2, -589775, 65537, 2, -524239, 65537, 2, -458703, 65537, 2, -393167, 65537, 1, -327631, 65537, 2, -262095, 65537, 2, -196559, 65537, 2, -131023, 65537, 2, -65487, 65537, 2, 49, 65537, 2, 65585, 65537, 2, 131121, 65537, 2, 196657, 65537, 2, 262193, 65537, 2, 327729, 65537, 2, 393265, 65537, 2, 458801, 65537, 2, 524337, 0, 1, 589873, 65537, 3, -720846, 131073, 0, -655310, 65537, 2, -589774, 65537, 2, -524238, 65537, 2, -458702, 65537, 2, -393166, 65537, 2, -327630, 65537, 2, -262094, 65537, 2, -196558, 65537, 2, -131022, 65537, 2, -65486, 65537, 2, 50, 65537, 2, 65586, 65537, 2, 131122, 65537, 2, 196658, 65537, 2, 262194, 65537, 2, 327730, 65537, 2, 393266, 65537, 2, 458802, 65537, 2, 524338, 0, 1, 589874, 131073, 3, -720845, 196609, 0, -655309, 196609, 1, -589773, 196609, 2, -524237, 196609, 1, -458701, 196609, 2, -393165, 196609, 1, -327629, 196609, 2, -262093, 196609, 1, -196557, 196609, 2, -131021, 196609, 1, -65485, 196609, 2, 51, 196609, 1, 65587, 196609, 2, 131123, 196609, 1, 196659, 196609, 2, 262195, 196609, 1, 327731, 196609, 1, 393267, 196609, 2, 589875, 196609, 3, -720842, 1, 0, -655306, 1, 2, -589770, 1, 1, -524234, 1, 2, -458698, 1, 1, -393162, 1, 2, -327626, 65537, 2, -262090, 1, 1, -196554, 1, 2, -131018, 1, 1, -65482, 1, 2, 54, 65537, 2, 65590, 1, 1, 131126, 1, 2, 196662, 1, 1, 262198, 1, 2, 327734, 1, 1, 393270, 1, 1, 458806, 1, 2, 524342, 65537, 2, 589878, 1, 3, -720841, 65537, 0, -655305, 65537, 2, -589769, 131073, 1, -524233, 65537, 2, -458697, 65537, 2, -393161, 65537, 2, -327625, 65537, 2, -262089, 65537, 2, -196553, 65537, 2, -131017, 65537, 2, -65481, 65537, 2, 55, 65537, 2, 65591, 65537, 2, 131127, 65537, 2, 196663, 65537, 2, 262199, 65537, 2, 327735, 65537, 2, 393271, 65537, 2, 458807, 65537, 2, 524343, 65537, 2, 589879, 65537, 3, -720840, 131073, 0, -655304, 65537, 2, -589768, 65537, 2, -524232, 65537, 2, -458696, 131073, 1, -393160, 65537, 2, -327624, 262145, 3, -262088, 65537, 2, -196552, 65537, 2, -131016, 65537, 2, -65480, 65537, 1, 56, 65537, 2, 65592, 65537, 2, 131128, 65537, 2, 196664, 131073, 2, 262200, 65537, 2, 327736, 131073, 2, 393272, 65537, 2, 458808, 65537, 2, 524344, 65537, 2, 589880, 131073, 3, -720839, 65537, 0, -655303, 65537, 2, -589767, 65537, 2, -524231, 65537, 2, -458695, 65537, 2, -393159, 65537, 2, -327623, 327681, 3, -262087, 65537, 2, -196551, 65537, 2, -131015, 65537, 2, -65479, 65537, 2, 57, 65537, 2, 65593, 65537, 2, 131129, 65537, 2, 196665, 65537, 2, 262201, 65537, 2, 327737, 65537, 2, 393273, 65537, 2, 458809, 131073, 2, 524345, 65537, 2, 589881, 65537, 3, -720838, 131073, 0, -655302, 65537, 2, -589766, 65537, 2, -524230, 65537, 2, -458694, 131073, 1, -393158, 65537, 1, -327622, 65537, 2, -262086, 65537, 2, -196550, 65537, 1, -131014, 65537, 2, -65478, 65537, 2, 58, 65537, 2, 65594, 65537, 2, 131130, 65537, 2, 196666, 65537, 2, 262202, 65537, 2, 327738, 131073, 2, 393274, 65537, 2, 458810, 65537, 2, 524346, 65537, 2, 589882, 131073, 3, -720837, 65537, 0, -655301, 65537, 2, -589765, 65537, 2, -524229, 65537, 2, -458693, 65537, 2, -393157, 65537, 1, -327621, 65537, 2, -262085, 65537, 2, -196549, 65537, 2, -131013, 65537, 2, -65477, 65537, 2, 59, 65537, 2, 65595, 65537, 2, 131131, 65537, 2, 196667, 65537, 2, 262203, 65537, 2, 327739, 65537, 2, 393275, 65537, 2, 458811, 65537, 2, 524347, 65537, 2, 589883, 65537, 3, -720836, 131073, 0, -655300, 65537, 2, -589764, 65537, 2, -524228, 65537, 2, -458692, 65537, 2, -393156, 65537, 2, -327620, 65537, 2, -262084, 65537, 2, -196548, 65537, 2, -131012, 65537, 2, -65476, 65537, 2, 60, 65537, 2, 65596, 65537, 2, 131132, 262145, 1, 196668, 262145, 2, 262204, 65537, 2, 327740, 65537, 2, 393276, 65537, 2, 458812, 65537, 2, 524348, 65537, 2, 589884, 131073, 3, -720835, 65537, 0, -655299, 65537, 2, -589763, 65537, 2, -524227, 65537, 2, -458691, 65537, 2, -393155, 65537, 2, -327619, 65537, 2, -262083, 131073, 1, -196547, 65537, 2, -131011, 65537, 2, -65475, 65537, 2, 61, 65537, 2, 65597, 65537, 2, 131133, 327681, 1, 196669, 327681, 2, 262205, 65537, 2, 327741, 131073, 2, 393277, 65537, 2, 458813, 65537, 2, 524349, 65537, 2, 589885, 65537, 3, -720834, 131073, 0, -655298, 65537, 2, -589762, 65537, 2, -524226, 131073, 1, -458690, 65537, 2, -393154, 65537, 1, -327618, 65537, 2, -262082, 262145, 3, -196546, 65537, 2, -131010, 65537, 2, -65474, 65537, 2, 62, 65537, 2, 65598, 65537, 2, 131134, 65537, 1, 196670, 65537, 2, 262206, 65537, 2, 327742, 65537, 2, 393278, 65537, 2, 458814, 65537, 2, 524350, 65537, 2, 589886, 131073, 3, -720833, 65537, 0, -655297, 65537, 2, -589761, 65537, 2, -524225, 65537, 2, -458689, 65537, 2, -393153, 65537, 2, -327617, 65537, 2, -262081, 327681, 3, -196545, 65537, 2, -131009, 65537, 2, -65473, 65537, 2, 63, 65537, 1, 65599, 65537, 1, 131135, 65537, 2, 196671, 131073, 1, 262207, 65537, 2, 327743, 65537, 2, 393279, 131073, 1, 458815, 65537, 2, 524351, 65537, 2, 589887, 65537, 3, -720832, 131073, 0, -655296, 65537, 2, -589760, 65537, 2, -524224, 65537, 2, -458688, 65537, 2, -393152, 65537, 2, -327616, 65537, 2, -262080, 65537, 2, -196544, 131073, 2, -131008, 65537, 2, -65472, 65537, 2, 64, 65537, 2, 65600, 65537, 2, 131136, 65537, 2, 196672, 65537, 2, 262208, 65537, 2, 327744, 131073, 2, 393280, 131073, 2, 458816, 65537, 2, 524352, 65537, 2, 589888, 131073, 3, -720831, 65537, 0, -655295, 65537, 2, -589759, 65537, 2, -524223, 65537, 2, -458687, 65537, 2, -393151, 65537, 2, -327615, 65537, 2, -262079, 65537, 2, -196543, 65537, 2, -131007, 65537, 2, -65471, 65537, 2, 65, 65537, 2, 65601, 65537, 2, 131137, 65537, 2, 196673, 65537, 2, 262209, 65537, 2, 327745, 131073, 1, 393281, 65537, 2, 458817, 65537, 2, 524353, 131073, 2, 589889, 65537, 3, -720830, 131073, 0, -655294, 65537, 2, -589758, 65537, 2, -524222, 65537, 2, -458686, 65537, 2, -393150, 65537, 2, -327614, 65537, 2, -262078, 65537, 2, -196542, 65537, 2, -131006, 131073, 2, -65470, 131073, 1, 66, 65537, 2, 65602, 65537, 2, 131138, 65537, 2, 196674, 65537, 2, 262210, 131073, 2, 327746, 65537, 2, 393282, 65537, 2, 458818, 65537, 2, 524354, 65537, 1, 589890, 131073, 3, -720829, 65537, 0, -655293, 65537, 2, -589757, 65537, 2, -524221, 65537, 2, -458685, 65537, 2, -393149, 65537, 2, -327613, 65537, 2, -262077, 65537, 2, -196541, 65537, 2, -131005, 65537, 2, -65469, 65537, 2, 67, 131073, 2, 65603, 65537, 2, 131139, 65537, 2, 196675, 65537, 2, 262211, 65537, 2, 327747, 65537, 2, 393283, 65537, 2, 458819, 65537, 2, 524355, 65537, 2, 589891, 65537, 3, -720828, 131073, 0, -655292, 65537, 2, -589756, 65537, 2, -524220, 65537, 2, -458684, 262145, 3, -393148, 65537, 2, -327612, 65537, 2, -262076, 65537, 2, -196540, 65537, 2, -131004, 65537, 2, -65468, 131073, 1, 68, 65537, 2, 65604, 65537, 2, 131140, 65537, 2, 196676, 65537, 2, 262212, 65537, 2, 327748, 65537, 2, 393284, 131073, 2, 458820, 65537, 2, 524356, 65537, 2, 589892, 131073, 3, -720827, 65537, 0, -655291, 65537, 2, -589755, 65537, 2, -524219, 65537, 2, -458683, 327681, 3, -393147, 65537, 2, -327611, 65537, 2, -262075, 65537, 2, -196539, 65537, 2, -131003, 65537, 2, -65467, 131073, 1, 69, 65537, 1, 65605, 65537, 2, 131141, 65537, 2, 196677, 65537, 2, 262213, 65537, 2, 327749, 131073, 2, 393285, 65537, 2, 458821, 65537, 2, 524357, 65537, 2, 589893, 65537, 3, -720826, 131073, 0, -655290, 131073, 2, -589754, 65537, 2, -524218, 65537, 2, -458682, 65537, 2, -393146, 65537, 2, -327610, 65537, 2, -262074, 65537, 1, -196538, 65537, 2, -131002, 65537, 1, -65466, 65537, 2, 70, 65537, 2, 65606, 65537, 2, 131142, 65537, 2, 196678, 65537, 2, 262214, 131073, 1, 327750, 65537, 2, 393286, 65537, 2, 458822, 65537, 2, 524358, 65537, 2, 589894, 131073, 3, -2031545, 1, 1, -1966009, 1, 2, -1900473, 1, 2, -1834937, 1, 1, -1769401, 1, 2, -1703865, 1, 1, -1638329, 1, 2, -1572793, 1, 1, -1507257, 1, 2, -1441721, 1, 1, -1376185, 1, 2, -1310649, 1, 1, -1245113, 1, 2, -1179577, 1, 1, -1114041, 1, 2, -1048505, 1, 1, -982969, 1, 2, -917433, 1, 2, -851897, 1, 1, -786361, 1, 2, -720825, 65537, 2, -655289, 65537, 2, -589753, 65537, 2, -524217, 65537, 2, -458681, 65537, 2, -393145, 65537, 2, -327609, 65537, 2, -2031544, 131073, 2, -1966008, 65537, 2, -1900472, 65537, 2, -1834936, 65537, 1, -1769400, 131073, 1, -1703864, 131073, 1, -1638328, 65537, 2, -1572792, 65537, 2, -1507256, 65537, 2, -1441720, 65537, 2, -1376184, 65537, 2, -1310648, 65537, 2, -1245112, 65537, 2, -1179576, 65537, 2, -1114040, 65537, 1, -1048504, 65537, 1, -982968, 65537, 2, -917432, 65537, 2, -851896, 65537, 2, -786360, 65537, 2, -720824, 65537, 2, -655288, 65537, 2, -589752, 65537, 2, -524216, 65537, 2, -458680, 65537, 2, -393144, 65537, 2, -327608, 65537, 2, -2031543, 65537, 2, -1966007, 65537, 2, -1900471, 131073, 2, -1834935, 65537, 2, -1769399, 65537, 2, -1703863, 65537, 2, -1638327, 65537, 2, -1572791, 65537, 2, -1507255, 65537, 2, -1441719, 65537, 2, -1376183, 65537, 2, -1310647, 65537, 2, -1245111, 65537, 2, -1179575, 65537, 2, -1114039, 65537, 2, -1048503, 65537, 2, -982967, 65537, 2, -917431, 131073, 1, -851895, 65537, 2, -786359, 65537, 2, -720823, 65537, 2, -655287, 65537, 2, -589751, 65537, 2, -524215, 65537, 2, -458679, 65537, 2, -393143, 65537, 2, -327607, 65537, 2, -2031542, 65537, 2, -1966006, 65537, 2, -1900470, 65537, 2, -1834934, 65537, 2, -1769398, 65537, 2, -1703862, 65537, 2, -1638326, 65537, 2, -1572790, 65537, 2, -1507254, 65537, 2, -1441718, 65537, 2, -1376182, 65537, 1, -1310646, 65537, 2, -1245110, 65537, 2, -1179574, 65537, 2, -1114038, 65537, 2, -1048502, 65537, 2, -982966, 65537, 2, -917430, 65537, 2, -851894, 65537, 2, -786358, 65537, 2, -720822, 65537, 2, -655286, 65537, 2, -589750, 65537, 2, -524214, 65537, 2, -458678, 65537, 2, -393142, 65537, 2, -327606, 131073, 2, -2031541, 65537, 2, -1966005, 65537, 2, -1900469, 65537, 2, -1834933, 65537, 2, -1769397, 65537, 2, -1703861, 65537, 2, -1638325, 65537, 2, -1572789, 65537, 2, -1507253, 262145, 3, -1441717, 65537, 2, -1376181, 65537, 2, -1310645, 65537, 2, -1245109, 65537, 2, -1179573, 131073, 1, -1114037, 65537, 2, -1048501, 65537, 2, -982965, 65537, 2, -917429, 65537, 2, -851893, 65537, 2, -786357, 65537, 2, -720821, 65537, 2, -655285, 65537, 2, -589749, 65537, 2, -524213, 65537, 2, -458677, 65537, 2, -393141, 65537, 2, -327605, 131073, 2, -2031540, 65537, 2, -1966004, 65537, 2, -1900468, 65537, 1, -1834932, 65537, 2, -1769396, 65537, 2, -1703860, 65537, 2, -1638324, 65537, 2, -1572788, 65537, 2, -1507252, 327681, 3, -1441716, 65537, 2, -1376180, 65537, 2, -1310644, 65537, 2, -1245108, 65537, 2, -1179572, 131073, 1, -1114036, 65537, 2, -1048500, 65537, 2, -982964, 65537, 2, -917428, 65537, 2, -851892, 65537, 2, -786356, 65537, 1, -720820, 65537, 2, -655284, 262145, 3, -589748, 65537, 2, -524212, 65537, 2, -458676, 65537, 2, -393140, 65537, 2, -327604, 65537, 2, -2031539, 65537, 2, -1966003, 65537, 2, -1900467, 262145, 3, -1834931, 65537, 2, -1769395, 65537, 2, -1703859, 65537, 2, -1638323, 65537, 2, -1572787, 65537, 2, -1507251, 65537, 2, -1441715, 65537, 2, -1376179, 65537, 2, -1310643, 262145, 1, -1245107, 262145, 2, -1179571, 65537, 2, -1114035, 65537, 2, -1048499, 65537, 2, -982963, 65537, 2, -917427, 65537, 2, -851891, 131073, 2, -786355, 65537, 2, -720819, 65537, 2, -655283, 327681, 3, -589747, 65537, 2, -524211, 65537, 2, -458675, 65537, 2, -393139, 65537, 2, -327603, 65537, 2, -2031538, 65537, 2, -1966002, 65537, 2, -1900466, 327681, 3, -1834930, 65537, 2, -1769394, 65537, 2, -1703858, 65537, 2, -1638322, 65537, 2, -1572786, 65537, 2, -1507250, 65537, 2, -1441714, 65537, 1, -1376178, 65537, 1, -1310642, 327681, 1, -1245106, 327681, 2, -1179570, 65537, 2, -1114034, 65537, 2, -1048498, 65537, 2, -982962, 65537, 2, -917426, 65537, 2, -851890, 65537, 2, -786354, 65537, 2, -720818, 131073, 2, -655282, 131073, 1, -589746, 65537, 2, -524210, 65537, 2, -458674, 65537, 2, -393138, 65537, 2, -327602, 65537, 2, -2031537, 65537, 2, -1966001, 65537, 2, -1900465, 65537, 2, -1834929, 65537, 2, -1769393, 65537, 2, -1703857, 65537, 2, -1638321, 65537, 2, -1572785, 65537, 2, -1507249, 65537, 2, -1441713, 65537, 2, -1376177, 65537, 2, -1310641, 65537, 2, -1245105, 131073, 1, -1179569, 65537, 2, -1114033, 65537, 2, -1048497, 65537, 1, -982961, 262145, 3, -917425, 65537, 2, -851889, 65537, 2, -786353, 65537, 2, -720817, 65537, 2, -655281, 65537, 2, -589745, 65537, 2, -524209, 65537, 2, -458673, 65537, 2, -393137, 65537, 2, -327601, 65537, 2, -2031536, 65537, 2, -1966000, 65537, 2, -1900464, 65537, 2, -1834928, 65537, 2, -1769392, 65537, 2, -1703856, 65537, 2, -1638320, 65537, 2, -1572784, 65537, 2, -1507248, 65537, 1, -1441712, 65537, 2, -1376176, 65537, 2, -1310640, 65537, 2, -1245104, 65537, 2, -1179568, 65537, 2, -1114032, 65537, 2, -1048496, 65537, 2, -982960, 327681, 3, -917424, 65537, 2, -851888, 65537, 2, -786352, 65537, 2, -720816, 65537, 2, -655280, 131073, 1, -589744, 65537, 2, -524208, 65537, 2, -458672, 65537, 2, -393136, 65537, 2, -327600, 65537, 2, -2031535, 65537, 1, -1965999, 65537, 2, -1900463, 65537, 2, -1834927, 65537, 2, -1769391, 65537, 2, -1703855, 65537, 2, -1638319, 65537, 2, -1572783, 65537, 2, -1507247, 65537, 2, -1441711, 65537, 2, -1376175, 65537, 2, -1310639, 65537, 2, -1245103, 65537, 2, -1179567, 65537, 2, -1114031, 65537, 2, -1048495, 65537, 2, -982959, 65537, 2, -917423, 65537, 2, -851887, 65537, 2, -786351, 65537, 2, -720815, 65537, 2, -655279, 65537, 2, -589743, 65537, 2, -524207, 65537, 2, -458671, 65537, 2, -393135, 65537, 2, -327599, 65537, 2, -2031534, 65537, 2, -1965998, 65537, 2, -1900462, 65537, 2, -1834926, 65537, 2, -1769390, 65537, 2, -1703854, 65537, 2, -1638318, 65537, 2, -1572782, 65537, 2, -1507246, 131073, 2, -1441710, 65537, 1, -1376174, 65537, 2, -1310638, 65537, 2, -1245102, 131073, 1, -1179566, 65537, 2, -1114030, 65537, 2, -1048494, 65537, 2, -982958, 65537, 2, -917422, 65537, 2, -851886, 65537, 2, -786350, 65537, 2, -720814, 65537, 2, -655278, 131073, 1, -589742, 65537, 2, -524206, 65537, 2, -458670, 65537, 2, -393134, 131073, 1, -327598, 65537, 2, -2031533, 65537, 2, -1965997, 65537, 2, -1900461, 65537, 2, -1834925, 65537, 2, -1769389, 65537, 2, -1703853, 65537, 2, -1638317, 65537, 2, -1572781, 65537, 2, -1507245, 65537, 2, -1441709, 65537, 2, -1376173, 65537, 2, -1310637, 65537, 2, -1245101, 65537, 2, -1179565, 65537, 2, -1114029, 65537, 2, -1048493, 131073, 2, -982957, 65537, 2, -917421, 65537, 2, -851885, 65537, 2, -786349, 65537, 2, -720813, 65537, 1, -655277, 65537, 2, -589741, 131073, 1, -524205, 65537, 1, -458669, 65537, 2, -393133, 65537, 2, -327597, 65537, 2, -2031532, 65537, 2, -1965996, 65537, 2, -1900460, 65537, 2, -1834924, 65537, 2, -1769388, 65537, 2, -1703852, 65537, 2, -1638316, 65537, 2, -1572780, 65537, 2, -1507244, 65537, 2, -1441708, 65537, 2, -1376172, 65537, 2, -1310636, 65537, 2, -1245100, 65537, 2, -1179564, 65537, 2, -1114028, 65537, 2, -1048492, 65537, 2, -982956, 65537, 2, -917420, 65537, 1, -851884, 65537, 2, -786348, 65537, 2, -720812, 65537, 2, -655276, 65537, 2, -589740, 65537, 2, -524204, 65537, 2, -458668, 65537, 2, -393132, 65537, 2, -327596, 65537, 2, -2031531, 65537, 2, -1965995, 65537, 2, -1900459, 65537, 2, -1834923, 65537, 2, -1769387, 65537, 2, -1703851, 65537, 2, -1638315, 65537, 2, -1572779, 65537, 2, -1507243, 131073, 2, -1441707, 65537, 2, -1376171, 65537, 2, -1310635, 65537, 2, -1245099, 65537, 2, -1179563, 65537, 2, -1114027, 65537, 1, -1048491, 65537, 1, -982955, 65537, 2, -917419, 65537, 2, -851883, 65537, 1, -786347, 65537, 2, -720811, 65537, 2, -655275, 65537, 2, -589739, 65537, 2, -524203, 65537, 2, -458667, 65537, 2, -393131, 65537, 2, -327595, 65537, 2, -2031530, 65537, 2, -1965994, 65537, 2, -1900458, 65537, 2, -1834922, 65537, 2, -1769386, 65537, 2, -1703850, 65537, 2, -1638314, 65537, 2, -1572778, 65537, 2, -1507242, 65537, 2, -1441706, 65537, 2, -1376170, 65537, 2, -1310634, 65537, 2, -1245098, 65537, 2, -1179562, 65537, 2, -1114026, 65537, 2, -1048490, 65537, 2, -982954, 131073, 1, -917418, 65537, 2, -851882, 65537, 2, -786346, 65537, 2, -720810, 65537, 1, -655274, 65537, 2, -589738, 65537, 2, -524202, 65537, 2, -458666, 65537, 2, -393130, 65537, 2, -327594, 65537, 2, -2031529, 65537, 2, -1965993, 65537, 2, -1900457, 65537, 2, -1834921, 65537, 2, -1769385, 65537, 2, -1703849, 65537, 2, -1638313, 65537, 2, -1572777, 65537, 2, -1507241, 65537, 2, -1441705, 65537, 2, -1376169, 65537, 2, -1310633, 65537, 2, -1245097, 65537, 2, -1179561, 65537, 2, -1114025, 65537, 2, -1048489, 65537, 2, -982953, 65537, 2, -917417, 65537, 2, -851881, 65537, 2, -786345, 65537, 2, -720809, 65537, 2, -655273, 65537, 2, -589737, 65537, 2, -524201, 65537, 2, -458665, 65537, 2, -393129, 65537, 2, -327593, 65537, 2, -2031528, 131073, 2, -1965992, 65537, 2, -1900456, 65537, 2, -1834920, 65537, 2, -1769384, 65537, 2, -1703848, 65537, 2, -1638312, 65537, 2, -1572776, 65537, 2, -1507240, 65537, 2, -1441704, 65537, 2, -1376168, 65537, 2, -1310632, 65537, 2, -1245096, 65537, 2, -1179560, 65537, 2, -1114024, 65537, 2, -1048488, 65537, 2, -982952, 65537, 2, -917416, 65537, 1, -851880, 65537, 2, -786344, 65537, 2, -720808, 65537, 2, -655272, 131073, 1, -589736, 65537, 2, -524200, 65537, 2, -458664, 65537, 2, -393128, 65537, 2, -327592, 65537, 2, -262073, 131073, 1, -196537, 65537, 2, -131001, 65537, 2, -65465, 65537, 2, 71, 65537, 2, 65607, 65537, 2, 131143, 65537, 2, 196679, 65537, 2, 262215, 65537, 2, 327751, 65537, 2, 393287, 65537, 2, 458823, 65537, 2, 524359, 65537, 2, 589895, 65537, 2, -262072, 65537, 2, -196536, 65537, 2, -131000, 65537, 2, -65464, 65537, 2, 72, 65537, 2, 65608, 65537, 2, 131144, 65537, 1, 196680, 65537, 2, 262216, 65537, 2, 327752, 65537, 2, 393288, 65537, 2, 458824, 65537, 2, 524360, 65537, 2, 589896, 65537, 2, -262071, 65537, 2, -196535, 65537, 2, -130999, 65537, 2, -65463, 65537, 2, 73, 65537, 2, 65609, 65537, 2, 131145, 65537, 2, 196681, 65537, 2, 262217, 65537, 2, 327753, 65537, 2, 393289, 65537, 2, 458825, 65537, 2, 524361, 65537, 2, 589897, 262145, 3, -262070, 65537, 2, -196534, 65537, 1, -130998, 131073, 1, -65462, 262145, 1, 74, 262145, 2, 65610, 65537, 2, 131146, 65537, 2, 196682, 65537, 2, 262218, 65537, 2, 327754, 65537, 2, 393290, 65537, 2, 458826, 65537, 2, 524362, 65537, 2, 589898, 327681, 3, -262069, 65537, 2, -196533, 65537, 1, -130997, 65537, 2, -65461, 327681, 1, 75, 327681, 2, 65611, 65537, 2, 131147, 65537, 1, 196683, 65537, 2, 262219, 65537, 2, 327755, 65537, 2, 393291, 65537, 2, 458827, 65537, 2, 524363, 65537, 2, 589899, 65537, 2, -262068, 65537, 2, -196532, 65537, 2, -130996, 65537, 2, -65460, 65537, 2, 76, 65537, 2, 65612, 65537, 2, 131148, 65537, 2, 196684, 65537, 2, 262220, 65537, 2, 327756, 65537, 2, 393292, 65537, 2, 458828, 65537, 2, 524364, 65537, 2, 589900, 65537, 1, -262067, 65537, 1, -196531, 65537, 2, -130995, 65537, 2, -65459, 65537, 2, 77, 65537, 2, 65613, 65537, 2, 131149, 65537, 2, 196685, 65537, 2, 262221, 65537, 2, 327757, 65537, 1, 393293, 131073, 2, 458829, 65537, 2, 524365, 65537, 2, 589901, 65537, 2, -262066, 65537, 2, -196530, 65537, 2, -130994, 65537, 2, -65458, 65537, 2, 78, 65537, 2, 65614, 65537, 2, 131150, 65537, 2, 196686, 131073, 1, 262222, 65537, 2, 327758, 131073, 2, 393294, 65537, 2, 458830, 65537, 2, 524366, 65537, 2, 589902, 65537, 2, -262065, 131073, 2, -196529, 65537, 2, -130993, 131073, 2, -65457, 65537, 2, 79, 65537, 2, 65615, 65537, 2, 131151, 131073, 2, 196687, 65537, 1, 262223, 65537, 2, 327759, 65537, 2, 393295, 65537, 2, 458831, 131073, 2, 524367, 65537, 2, 589903, 65537, 2, -262064, 65537, 1, -196528, 65537, 2, -130992, 65537, 2, -65456, 65537, 2, 80, 65537, 2, 65616, 65537, 2, 131152, 65537, 2, 196688, 65537, 2, 262224, 65537, 2, 327760, 262145, 1, 393296, 262145, 2, 458832, 131073, 1, 524368, 65537, 2, 589904, 65537, 2, -262063, 65537, 1, -196527, 65537, 2, -130991, 65537, 2, -65455, 65537, 2, 81, 65537, 2, 65617, 65537, 2, 131153, 65537, 2, 196689, 65537, 2, 262225, 65537, 2, 327761, 327681, 1, 393297, 327681, 2, 458833, 65537, 2, 524369, 65537, 2, 589905, 65537, 2, -262062, 65537, 2, -196526, 65537, 2, -130990, 65537, 2, -65454, 65537, 2, 82, 65537, 2, 65618, 65537, 2, 131154, 65537, 2, 196690, 65537, 2, 262226, 65537, 2, 327762, 65537, 2, 393298, 65537, 1, 458834, 65537, 2, 524370, 65537, 2, 589906, 65537, 2, -262061, 65537, 1, -196525, 65537, 2, -130989, 65537, 1, -65453, 65537, 2, 83, 65537, 1, 65619, 65537, 2, 131155, 65537, 2, 196691, 65537, 2, 262227, 65537, 2, 327763, 65537, 2, 393299, 131073, 1, 458835, 65537, 2, 524371, 65537, 2, 589907, 65537, 2, -262060, 131073, 1, -196524, 65537, 2, -130988, 131073, 1, -65452, 65537, 2, 84, 65537, 2, 65620, 65537, 2, 131156, 65537, 2, 196692, 65537, 2, 262228, 65537, 2, 327764, 65537, 2, 393300, 65537, 2, 458836, 65537, 2, 524372, 65537, 2, 589908, 65537, 2, -262059, 65537, 2, -196523, 131073, 1, -130987, 65537, 2, -65451, 65537, 2, 85, 131073, 1, 65621, 65537, 1, 131157, 65537, 2, 196693, 65537, 2, 262229, 65537, 2, 327765, 65537, 2, 393301, 65537, 2, 458837, 65537, 2, 524373, 131073, 1, 589909, 65537, 2, -262058, 65537, 2, -196522, 131073, 2, -130986, 65537, 1, -65450, 65537, 2, 86, 65537, 2, 65622, 65537, 1, 131158, 65537, 2, 196694, 65537, 2, 262230, 131073, 2, 327766, 65537, 2, 393302, 65537, 2, 458838, 65537, 2, 524374, 65537, 2, 589910, 65537, 2, -262057, 65537, 2, -196521, 65537, 2, -130985, 65537, 2, -65449, 65537, 2, 87, 65537, 1, 65623, 65537, 2, 131159, 65537, 2, 196695, 65537, 2, 262231, 65537, 2, 327767, 65537, 2, 393303, 131073, 1, 458839, 65537, 2, 524375, 65537, 2, 589911, 65537, 2, -262056, 131073, 2, -196520, 65537, 2, -130984, 65537, 1, -65448, 65537, 2, 88, 65537, 1, 65624, 65537, 2, 131160, 65537, 2, 196696, 65537, 2, 262232, 65537, 2, 327768, 65537, 2, 393304, 262145, 3, 458840, 65537, 2, 524376, 65537, 2, 589912, 65537, 2, -524199, 65537, 2, -458663, 65537, 2, -393127, 131073, 2, -327591, 65537, 2, -262055, 65537, 2, -196519, 65537, 2, -130983, 65537, 2, -65447, 65537, 2, 89, 65537, 2, 65625, 65537, 2, 131161, 65537, 2, 196697, 65537, 2, 262233, 65537, 2, 327769, 65537, 2, 393305, 327681, 3, 458841, 65537, 2, 524377, 65537, 2, 589913, 65537, 2, -524198, 65537, 2, -458662, 65537, 2, -393126, 65537, 2, -327590, 65537, 2, -262054, 65537, 2, -196518, 65537, 2, -130982, 131073, 2, -65446, 131073, 1, 90, 65537, 2, 65626, 65537, 2, 131162, 65537, 2, 196698, 65537, 2, 262234, 65537, 2, 327770, 65537, 2, 393306, 65537, 2, 458842, 65537, 2, 524378, 65537, 2, 589914, 65537, 2, -524197, 65537, 2, -458661, 65537, 2, -393125, 65537, 2, -327589, 65537, 2, -262053, 131073, 2, -196517, 65537, 2, -130981, 65537, 2, -65445, 65537, 2, 91, 65537, 2, 65627, 131073, 2, 131163, 65537, 2, 196699, 65537, 2, 262235, 65537, 2, 327771, 131073, 2, 393307, 65537, 2, 458843, 65537, 2, 524379, 65537, 2, 589915, 65537, 2, -524196, 65537, 2, -458660, 65537, 2, -393124, 65537, 2, -327588, 131073, 1, -262052, 65537, 2, -196516, 65537, 2, -130980, 65537, 1, -65444, 65537, 2, 92, 65537, 2, 65628, 65537, 2, 131164, 65537, 2, 196700, 65537, 2, 262236, 65537, 2, 327772, 65537, 2, 393308, 65537, 2, 458844, 65537, 2, 524380, 65537, 2, 589916, 131073, 1, -524195, 65537, 2, -458659, 65537, 2, -393123, 65537, 2, -327587, 65537, 2, -262051, 65537, 2, -196515, 65537, 2, -130979, 65537, 2, -65443, 65537, 2, 93, 65537, 2, 65629, 65537, 2, 131165, 65537, 2, 196701, 65537, 2, 262237, 65537, 2, 327773, 65537, 2, 393309, 65537, 2, 458845, 65537, 2, 524381, 131073, 2, 589917, 65537, 2, -524194, 131073, 2, -458658, 65537, 2, -393122, 65537, 2, -327586, 65537, 2, -262050, 65537, 2, -196514, 65537, 2, -130978, 65537, 2, -65442, 65537, 2, 94, 65537, 2, 65630, 65537, 2, 131166, 65537, 2, 196702, 65537, 2, 262238, 65537, 2, 327774, 65537, 2, 393310, 65537, 2, 458846, 65537, 2, 524382, 65537, 2, 589918, 65537, 2, -524193, 65537, 2, -458657, 65537, 2, -393121, 65537, 2, -327585, 65537, 2, -262049, 65537, 2, -196513, 65537, 2, -130977, 65537, 2, -65441, 65537, 2, 95, 65537, 1, 65631, 65537, 2, 131167, 131073, 2, 196703, 65537, 2, 262239, 65537, 1, 327775, 65537, 2, 393311, 65537, 2, 458847, 65537, 2, 524383, 65537, 2, 589919, 65537, 2, -524192, 65537, 2, -458656, 65537, 2, -393120, 65537, 2, -327584, 65537, 2, -262048, 65537, 2, -196512, 65537, 2, -130976, 131073, 1, -65440, 65537, 2, 96, 65537, 2, 65632, 65537, 2, 131168, 131073, 1, 196704, 65537, 2, 262240, 65537, 2, 327776, 65537, 2, 393312, 65537, 2, 458848, 65537, 2, 524384, 131073, 1, 589920, 65537, 2, -524191, 65537, 2, -458655, 65537, 2, -393119, 65537, 2, -327583, 65537, 2, -262047, 131073, 1, -196511, 131073, 1, -130975, 65537, 2, -65439, 65537, 2, 97, 65537, 2, 65633, 65537, 1, 131169, 65537, 2, 196705, 65537, 1, 262241, 65537, 2, 327777, 65537, 2, 393313, 65537, 2, 458849, 65537, 2, 524385, 65537, 2, 589921, 65537, 2, -524190, 65537, 2, -458654, 65537, 2, -393118, 65537, 2, -327582, 65537, 2, -262046, 65537, 2, -196510, 262145, 1, -130974, 262145, 2, -65438, 65537, 2, 98, 65537, 2, 65634, 65537, 1, 131170, 65537, 2, 196706, 65537, 2, 262242, 65537, 2, 327778, 65537, 2, 393314, 65537, 2, 458850, 65537, 2, 524386, 65537, 2, 589922, 65537, 2, -524189, 131073, 1, -458653, 65537, 2, -393117, 65537, 2, -327581, 65537, 2, -262045, 65537, 2, -196509, 327681, 1, -130973, 327681, 2, -65437, 65537, 2, 99, 65537, 2, 65635, 65537, 2, 131171, 65537, 2, 196707, 65537, 2, 262243, 65537, 2, 327779, 65537, 1, 393315, 65537, 2, 458851, 65537, 2, 524387, 65537, 2, 589923, 65537, 1, -524188, 131073, 2, -458652, 65537, 1, -393116, 65537, 2, -327580, 131073, 2, -262044, 65537, 2, -196508, 65537, 2, -130972, 65537, 1, -65436, 65537, 2, 100, 65537, 2, 65636, 65537, 2, 131172, 65537, 2, 196708, 131073, 2, 262244, 131073, 1, 327780, 65537, 2, 393316, 65537, 2, 458852, 131073, 2, 524388, 65537, 2, 589924, 65537, 2, -524187, 65537, 2, -458651, 65537, 2, -393115, 65537, 2, -327579, 65537, 2, -262043, 65537, 2, -196507, 131073, 2, -130971, 65537, 2, -65435, 65537, 2, 101, 65537, 2, 65637, 65537, 2, 131173, 65537, 2, 196709, 262145, 1, 262245, 262145, 2, 327781, 65537, 2, 393317, 65537, 2, 458853, 65537, 2, 524389, 65537, 2, 589925, 65537, 2, -524186, 65537, 2, -458650, 131073, 2, -393114, 65537, 2, -327578, 65537, 2, -262042, 65537, 2, -196506, 65537, 2, -130970, 65537, 2, -65434, 131073, 2, 102, 65537, 2, 65638, 65537, 2, 131174, 65537, 2, 196710, 327681, 1, 262246, 327681, 2, 327782, 65537, 2, 393318, 65537, 2, 458854, 65537, 2, 524390, 65537, 2, 589926, 65537, 2, -524185, 65537, 2, -458649, 65537, 2, -393113, 65537, 2, -327577, 65537, 2, -262041, 65537, 2, -196505, 65537, 2, -130969, 65537, 2, -65433, 65537, 2, 103, 65537, 2, 65639, 131073, 1, 131175, 65537, 2, 196711, 65537, 2, 262247, 131073, 2, 327783, 65537, 2, 393319, 65537, 2, 458855, 65537, 2, 524391, 65537, 2, 589927, 65537, 2, -524184, 65537, 2, -458648, 65537, 2, -393112, 65537, 2, -327576, 65537, 2, -262040, 65537, 2, -196504, 65537, 2, -130968, 65537, 2, -65432, 65537, 2, 104, 65537, 2, 65640, 65537, 1, 131176, 65537, 2, 196712, 65537, 2, 262248, 65537, 2, 327784, 65537, 2, 393320, 65537, 2, 458856, 65537, 2, 524392, 65537, 2, 589928, 65537, 2, -524183, 65537, 2, -458647, 65537, 2, -393111, 65537, 2, -327575, 65537, 2, -262039, 65537, 2, -196503, 65537, 2, -130967, 65537, 2, -65431, 65537, 1, 105, 65537, 2, 65641, 65537, 2, 131177, 131073, 1, 196713, 65537, 2, 262249, 65537, 2, 327785, 65537, 2, 393321, 65537, 2, 458857, 65537, 2, 524393, 65537, 2, 589929, 65537, 2, -524182, 65537, 2, -458646, 131073, 2, -393110, 65537, 2, -327574, 65537, 2, -262038, 65537, 2, -196502, 65537, 2, -130966, 65537, 2, -65430, 65537, 2, 106, 131073, 1, 65642, 65537, 2, 131178, 65537, 2, 196714, 65537, 2, 262250, 65537, 2, 327786, 65537, 2, 393322, 65537, 2, 458858, 65537, 2, 524394, 65537, 2, 589930, 65537, 2, -524181, 65537, 2, -458645, 65537, 2, -393109, 65537, 2, -327573, 65537, 2, -262037, 65537, 2, -196501, 65537, 2, -130965, 65537, 2, -65429, 65537, 2, 107, 65537, 2, 65643, 65537, 2, 131179, 65537, 2, 196715, 65537, 2, 262251, 65537, 2, 327787, 65537, 2, 393323, 65537, 2, 458859, 65537, 2, 524395, 65537, 2, 589931, 65537, 2, -524180, 65537, 2, -458644, 65537, 2, -393108, 65537, 2, -327572, 65537, 2, -262036, 65537, 2, -196500, 131073, 2, -130964, 65537, 2, -65428, 65537, 2, 108, 65537, 2, 65644, 65537, 2, 131180, 65537, 2, 196716, 65537, 2, 262252, 65537, 2, 327788, 131073, 2, 393324, 65537, 2, 458860, 65537, 2, 524396, 65537, 2, 589932, 65537, 2, -524179, 65537, 2, -458643, 65537, 2, -393107, 65537, 2, -327571, 65537, 2, -262035, 65537, 1, -196499, 65537, 2, -130963, 65537, 2, -65427, 65537, 2, 109, 65537, 2, 65645, 65537, 2, 131181, 65537, 2, 196717, 65537, 2, 262253, 65537, 2, 327789, 65537, 2, 393325, 65537, 2, 458861, 65537, 2, 524397, 65537, 2, 589933, 65537, 2, -524178, 65537, 2, -458642, 65537, 1, -393106, 65537, 2, -327570, 65537, 2, -262034, 65537, 2, -196498, 65537, 2, -130962, 65537, 2, -65426, 65537, 2, 110, 65537, 1, 65646, 65537, 2, 131182, 65537, 2, 196718, 65537, 2, 262254, 65537, 2, 327790, 65537, 2, 393326, 65537, 2, 458862, 65537, 2, 524398, 65537, 2, 589934, 65537, 2, -524177, 131073, 2, -458641, 65537, 2, -393105, 65537, 2, -327569, 65537, 2, -262033, 65537, 2, -196497, 65537, 2, -130961, 65537, 2, -65425, 65537, 2, 111, 65537, 1, 65647, 65537, 2, 131183, 65537, 2, 196719, 65537, 2, 262255, 131073, 1, 327791, 65537, 2, 393327, 65537, 2, 458863, 65537, 2, 524399, 65537, 2, 589935, 65537, 2, -524176, 65537, 2, -458640, 131073, 1, -393104, 65537, 2, -327568, 131073, 2, -262032, 65537, 2, -196496, 65537, 2, -130960, 65537, 2, -65424, 65537, 2, 112, 65537, 2, 65648, 65537, 2, 131184, 65537, 2, 196720, 65537, 2, 262256, 65537, 2, 327792, 65537, 2, 393328, 65537, 2, 458864, 65537, 2, 524400, 65537, 2, 589936, 65537, 2, -524175, 65537, 2, -458639, 65537, 2, -393103, 65537, 2, -327567, 65537, 2, -262031, 65537, 2, -196495, 65537, 2, -130959, 65537, 2, -65423, 65537, 2, 113, 65537, 2, 65649, 131073, 1, 131185, 65537, 2, 196721, 65537, 2, 262257, 65537, 2, 327793, 65537, 2, 393329, 65537, 2, 458865, 65537, 2, 524401, 65537, 2, 589937, 65537, 2, -524174, 65537, 2, -458638, 65537, 2, -393102, 65537, 2, -327566, 65537, 2, -262030, 65537, 2, -196494, 65537, 2, -130958, 131073, 1, -65422, 65537, 2, 114, 65537, 2, 65650, 65537, 2, 131186, 131073, 1, 196722, 131073, 1, 262258, 65537, 2, 327794, 65537, 2, 393330, 65537, 2, 458866, 65537, 2, 524402, 65537, 2, 589938, 65537, 1, -524173, 65537, 2, -458637, 65537, 2, -393101, 65537, 2, -327565, 65537, 2, -262029, 65537, 2, -196493, 65537, 2, -130957, 65537, 2, -65421, 65537, 2, 115, 131073, 1, 65651, 65537, 2, 131187, 65537, 2, 196723, 65537, 2, 262259, 65537, 2, 327795, 65537, 2, 393331, 65537, 1, 458867, 65537, 2, 524403, 65537, 2, 589939, 65537, 2, -524172, 65537, 2, -458636, 65537, 2, -393100, 65537, 2, -327564, 65537, 2, -262028, 65537, 2, -196492, 65537, 2, -130956, 65537, 2, -65420, 65537, 2, 116, 65537, 2, 65652, 131073, 1, 131188, 65537, 2, 196724, 131073, 1, 262260, 65537, 2, 327796, 65537, 2, 393332, 65537, 2, 458868, 65537, 2, 524404, 65537, 2, 589940, 65537, 2, -524171, 131073, 2, -458635, 65537, 2, -393099, 65537, 2, -327563, 65537, 1, -262027, 65537, 2, -196491, 65537, 2, -130955, 65537, 2, -65419, 65537, 2, 117, 65537, 2, 65653, 65537, 2, 131189, 65537, 2, 196725, 65537, 2, 262261, 65537, 2, 327797, 65537, 2, 393333, 65537, 2, 458869, 131073, 1, 524405, 65537, 2, 589941, 131073, 2, -524170, 65537, 2, -458634, 65537, 1, -393098, 65537, 2, -327562, 65537, 2, -262026, 65537, 2, -196490, 65537, 2, -130954, 65537, 2, -65418, 131073, 2, 118, 65537, 2, 65654, 65537, 2, 131190, 65537, 2, 196726, 65537, 2, 262262, 65537, 2, 327798, 65537, 2, 393334, 65537, 2, 458870, 65537, 2, 524406, 65537, 2, 589942, 65537, 2, 655431, 65537, 2, 720967, 65537, 2, 786503, 65537, 2, 852039, 65537, 2, 917575, 65537, 2, 983111, 65537, 1, 1048647, 65537, 2, 1114183, 131073, 1, 1179719, 65537, 2, 655432, 65537, 2, 720968, 65537, 2, 786504, 65537, 2, 852040, 65537, 2, 917576, 65537, 1, 983112, 65537, 2, 1048648, 65537, 2, 1114184, 65537, 2, 1179720, 65537, 2, 655433, 65537, 2, 720969, 65537, 2, 786505, 65537, 2, 852041, 65537, 2, 917577, 65537, 2, 983113, 65537, 2, 1048649, 131073, 2, 1114185, 65537, 2, 1179721, 65537, 2, 655434, 65537, 2, 720970, 65537, 2, 786506, 65537, 2, 852042, 65537, 2, 917578, 65537, 2, 983114, 65537, 2, 1048650, 65537, 2, 1114186, 65537, 2, 1179722, 65537, 2, 655435, 65537, 2, 720971, 131073, 2, 786507, 65537, 2, 852043, 65537, 2, 917579, 65537, 2, 983115, 65537, 2, 1048651, 65537, 2, 1114187, 65537, 2, 1179723, 65537, 2, 655436, 65537, 2, 720972, 131073, 1, 786508, 131073, 2, 852044, 262145, 1, 917580, 262145, 2, 983116, 65537, 2, 1048652, 65537, 2, 1114188, 65537, 2, 1179724, 65537, 2, 655437, 65537, 2, 720973, 65537, 2, 786509, 65537, 2, 852045, 327681, 1, 917581, 327681, 2, 983117, 65537, 2, 1048653, 65537, 1, 1114189, 65537, 2, 1179725, 65537, 1, 655438, 65537, 2, 720974, 65537, 2, 786510, 65537, 2, 852046, 65537, 2, 917582, 65537, 2, 983118, 65537, 2, 1048654, 65537, 2, 1114190, 65537, 1, 1179726, 65537, 2, 655439, 65537, 2, 720975, 65537, 1, 786511, 65537, 2, 852047, 65537, 2, 917583, 65537, 2, 983119, 65537, 2, 1048655, 65537, 2, 1114191, 65537, 2, 1179727, 65537, 2, 655440, 65537, 2, 720976, 65537, 2, 786512, 65537, 2, 852048, 65537, 2, 917584, 65537, 2, 983120, 65537, 2, 1048656, 65537, 2, 1114192, 65537, 2, 1179728, 65537, 2, 655441, 65537, 2, 720977, 131073, 2, 786513, 65537, 2, 852049, 65537, 2, 917585, 65537, 2, 983121, 65537, 2, 1048657, 65537, 2, 1114193, 65537, 2, 1179729, 65537, 2, 119, 65537, 2, 65655, 65537, 2, 131191, 65537, 2, 196727, 65537, 2, 262263, 65537, 2, 327799, 65537, 2, 393335, 131073, 2, 458871, 65537, 2, 524407, 65537, 2, 589943, 65537, 2, 655479, 65537, 2, 721015, 65537, 2, 786551, 65537, 2, 852087, 65537, 2, 917623, 65537, 2, 983159, 65537, 2, 1048695, 65537, 2, 1114231, 65537, 2, 120, 65537, 2, 65656, 65537, 2, 131192, 65537, 2, 196728, 65537, 2, 262264, 65537, 2, 327800, 65537, 2, 393336, 65537, 2, 458872, 65537, 2, 524408, 65537, 2, 589944, 65537, 2, 655480, 65537, 2, 721016, 65537, 2, 786552, 65537, 2, 852088, 65537, 2, 917624, 65537, 2, 983160, 65537, 2, 1048696, 65537, 2, 1114232, 65537, 2, 121, 65537, 2, 65657, 65537, 2, 131193, 65537, 2, 196729, 65537, 2, 262265, 65537, 2, 327801, 131073, 1, 393337, 65537, 2, 458873, 65537, 2, 524409, 65537, 2, 589945, 65537, 2, 655481, 65537, 2, 721017, 65537, 2, 786553, 65537, 2, 852089, 65537, 2, 917625, 131073, 1, 983161, 65537, 2, 1048697, 65537, 2, 1114233, 65537, 2, 122, 65537, 2, 65658, 65537, 2, 131194, 65537, 2, 196730, 65537, 2, 262266, 65537, 2, 327802, 65537, 2, 393338, 65537, 2, 458874, 65537, 2, 524410, 65537, 2, 589946, 65537, 2, 655482, 65537, 2, 721018, 65537, 2, 786554, 65537, 2, 852090, 65537, 2, 917626, 65537, 2, 983162, 65537, 2, 1048698, 65537, 2, 1114234, 65537, 2, 123, 65537, 2, 65659, 65537, 2, 131195, 65537, 2, 196731, 65537, 2, 262267, 65537, 2, 327803, 65537, 2, 393339, 65537, 2, 458875, 65537, 2, 524411, 65537, 2, 589947, 65537, 2, 655483, 65537, 2, 721019, 65537, 2, 786555, 65537, 2, 852091, 65537, 2, 917627, 65537, 2, 983163, 131073, 2, 1048699, 65537, 2, 1114235, 65537, 2, 124, 65537, 2, 65660, 65537, 2, 131196, 65537, 2, 196732, 65537, 2, 262268, 65537, 2, 327804, 131073, 1, 393340, 65537, 2, 458876, 65537, 2, 524412, 262145, 1, 589948, 262145, 2, 655484, 65537, 2, 721020, 65537, 2, 786556, 131073, 1, 852092, 65537, 2, 917628, 65537, 2, 983164, 65537, 2, 1048700, 65537, 2, 1114236, 65537, 2, 125, 65537, 2, 65661, 65537, 2, 131197, 65537, 2, 196733, 65537, 2, 262269, 65537, 2, 327805, 65537, 2, 393341, 65537, 2, 458877, 65537, 2, 524413, 327681, 1, 589949, 327681, 2, 655485, 65537, 2, 721021, 65537, 2, 786557, 65537, 1, 852093, 65537, 2, 917629, 65537, 2, 983165, 65537, 2, 1048701, 65537, 2, 1114237, 65537, 2, 126, 65537, 2, 65662, 131073, 1, 131198, 65537, 2, 196734, 65537, 2, 262270, 65537, 2, 327806, 65537, 2, 393342, 65537, 2, 458878, 65537, 2, 524414, 65537, 2, 589950, 65537, 2, 655486, 65537, 2, 721022, 65537, 1, 786558, 65537, 2, 852094, 65537, 2, 917630, 65537, 2, 983166, 65537, 2, 1048702, 65537, 2, 1114238, 65537, 2, 127, 65537, 2, 65663, 65537, 2, 131199, 65537, 2, 196735, 65537, 2, 262271, 65537, 2, 327807, 65537, 2, 393343, 131073, 2, 458879, 65537, 2, 524415, 65537, 2, 589951, 65537, 2, 655487, 65537, 2, 721023, 65537, 2, 786559, 65537, 2, 852095, 65537, 2, 917631, 65537, 2, 983167, 131073, 2, 1048703, 131073, 1, 1114239, 65537, 2, 128, 65537, 2, 65664, 65537, 2, 131200, 65537, 1, 196736, 65537, 2, 262272, 65537, 2, 327808, 65537, 2, 393344, 65537, 2, 458880, 131073, 1, 524416, 131073, 2, 589952, 65537, 1, 655488, 65537, 2, 721024, 65537, 2, 786560, 65537, 2, 852096, 65537, 2, 917632, 65537, 2, 983168, 65537, 2, 1048704, 65537, 2, 1114240, 65537, 2, 129, 65537, 2, 65665, 65537, 2, 131201, 65537, 2, 196737, 65537, 2, 262273, 65537, 2, 327809, 131073, 2, 393345, 65537, 2, 458881, 65537, 2, 524417, 65537, 2, 589953, 65537, 2, 655489, 65537, 2, 721025, 65537, 2, 786561, 65537, 2, 852097, 65537, 2, 917633, 65537, 2, 983169, 65537, 2, 1048705, 65537, 2, 1114241, 65537, 2, 130, 65537, 2, 65666, 65537, 2, 131202, 65537, 2, 196738, 131073, 2, 262274, 65537, 2, 327810, 65537, 2, 393346, 65537, 2, 458882, 65537, 2, 524418, 65537, 2, 589954, 65537, 2, 655490, 65537, 2, 721026, 65537, 2, 786562, 65537, 2, 852098, 65537, 2, 917634, 65537, 2, 983170, 131073, 2, 1048706, 65537, 2, 1114242, 65537, 2, 131, 65537, 2, 65667, 65537, 2, 131203, 65537, 2, 196739, 65537, 2, 262275, 65537, 2, 327811, 65537, 2, 393347, 65537, 2, 458883, 65537, 2, 524419, 65537, 2, 589955, 65537, 2, 655491, 65537, 2, 721027, 65537, 2, 786563, 65537, 2, 852099, 65537, 2, 917635, 65537, 2, 983171, 131073, 1, 1048707, 65537, 2, 1114243, 65537, 1, 132, 65537, 2, 65668, 65537, 2, 131204, 65537, 2, 196740, 65537, 2, 262276, 65537, 2, 327812, 131073, 1, 393348, 65537, 2, 458884, 65537, 2, 524420, 65537, 2, 589956, 65537, 2, 655492, 65537, 2, 721028, 65537, 2, 786564, 65537, 2, 852100, 65537, 2, 917636, 65537, 2, 983172, 65537, 2, 1048708, 131073, 1, 1114244, 131073, 2, 133, 65537, 2, 65669, 65537, 2, 131205, 65537, 2, 196741, 65537, 2, 262277, 65537, 2, 327813, 65537, 2, 393349, 65537, 2, 458885, 65537, 2, 524421, 65537, 2, 589957, 65537, 2, 655493, 65537, 2, 721029, 131073, 2, 786565, 65537, 2, 852101, 65537, 2, 917637, 65537, 2, 983173, 65537, 2, 1048709, 65537, 2, 1114245, 131073, 1, 1179767, 65537, 2, 1245303, 65537, 2, 1179768, 65537, 2, 1245304, 65537, 2, 1179769, 65537, 2, 1245305, 65537, 2, 1179770, 65537, 2, 1245306, 131073, 1, 1179771, 65537, 2, 1245307, 65537, 2, 1179772, 65537, 2, 1245308, 65537, 2, 1245255, 65537, 2, 1245256, 65537, 1, 1245257, 65537, 2, 1245258, 65537, 2, 1245259, 65537, 2, 1245260, 65537, 2, 1245261, 65537, 2, 1245262, 65537, 2, 1245263, 65537, 2, 1245264, 65537, 2, 1245265, 65537, 2, 1179773, 65537, 2, 1245309, 65537, 2, 1179774, 65537, 2, 1245310, 131073, 1, 1179775, 65537, 2, 1245311, 65537, 2, 1179776, 65537, 2, 1245312, 65537, 2, 1179777, 65537, 2, 1245313, 65537, 2, 1179778, 65537, 2, 1245314, 65537, 2, 1179779, 65537, 2, 1245315, 65537, 2, 1179780, 65537, 2, 1245316, 65537, 2, 1179781, 65537, 2, 1245317, 65537, 2, 2097204, 0, 1, 2162740, 0, 1, 2228276, 0, 1, 2097205, 0, 1, 2162741, 0, 1, 2228277, 0, 1, 2097206, 0, 1, 2162742, 0, 1, 2228278, 0, 1, 2097207, 0, 1, 2162743, 0, 1, 2228279, 0, 1, 2097208, 0, 1, 2162744, 0, 1, 2228280, 0, 1, 2097209, 0, 1, 2162745, 0, 1, 2228281, 0, 1, 2097210, 0, 1, 2162746, 0, 1, 2228282, 0, 1, 2097211, 0, 1, 2162747, 0, 1, 2228283, 0, 1, 2097212, 0, 1, 2162748, 0, 1, 2228284, 0, 1, 2097213, 0, 1, 2162749, 0, 1, 2228285, 0, 1, 2097214, 0, 1, 2162750, 0, 1, 2228286, 0, 1, 2097215, 0, 1, 2162751, 0, 1, 2228287, 0, 1, 2097216, 0, 1, 2162752, 0, 1, 2228288, 0, 1, 2097217, 0, 1, 2162753, 0, 1, 2228289, 0, 1, 2097218, 0, 1, 2162754, 0, 1, 2228290, 0, 1, 2097219, 0, 1, 2162755, 0, 1, 2228291, 0, 1, 2097220, 0, 1, 2162756, 0, 1, 2228292, 0, 1, 2097221, 0, 1, 2162757, 0, 1, 2228293, 0, 1, 2097222, 0, 1, 2162758, 0, 1, 2228294, 0, 1, 2097223, 0, 1, 2162759, 0, 1, 2228295, 0, 1, 2097224, 0, 1, 2162760, 0, 1, 2228296, 0, 1, 2097225, 0, 1, 2162761, 0, 1, 2228297, 0, 1, 2097226, 0, 1, 2162762, 0, 1, 2228298, 0, 1, 2097227, 0, 1, 2162763, 0, 1, 2228299, 0, 1, 2097228, 0, 1, 2162764, 0, 1, 2228300, 0, 1, 2097229, 0, 1, 2162765, 0, 1, 2228301, 0, 1, 2097230, 0, 1, 2162766, 0, 1, 2228302, 0, 1, 2097231, 0, 1, 2162767, 0, 1, 2228303, 0, 1, 2097232, 0, 1, 2162768, 0, 1, 2228304, 0, 1, 2097233, 0, 1, 2162769, 0, 1, 2228305, 0, 1, 2097234, 0, 1, 2162770, 0, 1, 2228306, 0, 1, 2097235, 0, 1, 2162771, 0, 1, 2228307, 0, 1, 655442, 65537, 2, 720978, 131073, 2, 786514, 65537, 2, 852050, 65537, 2, 917586, 65537, 2, 983122, 65537, 2, 1048658, 65537, 2, 1114194, 65537, 2, 1179730, 65537, 1, 1245266, 131073, 2, 655443, 65537, 2, 720979, 65537, 2, 786515, 65537, 2, 852051, 65537, 2, 917587, 65537, 2, 983123, 65537, 2, 1048659, 65537, 2, 1114195, 65537, 2, 1179731, 65537, 2, 1245267, 65537, 2, 2293812, 0, 1, 2293813, 0, 1, 2293814, 0, 1, 2293815, 0, 1, 2293816, 0, 1, 2293817, 0, 1, 2293818, 0, 1, 2293819, 0, 1, 2293820, 0, 1, 2293821, 0, 1, 2293822, 0, 1, 2293823, 0, 1, 2293824, 0, 1, 2293825, 0, 1, 2293826, 0, 1, 2293827, 0, 1, 2293828, 0, 1, 2293829, 0, 1, 2293830, 0, 1, 2293831, 0, 1, 2293832, 0, 1, 2293833, 0, 1, 2293834, 0, 1, 2293835, 0, 1, 2293836, 0, 1, 2293837, 0, 1, 2293838, 0, 1, 2293839, 0, 1, 2293840, 0, 1, 2293841, 0, 1, 2293842, 0, 1, 2293843, 0, 1, 1310768, 0, 1, 1376304, 0, 1, 1310769, 0, 1, 1376305, 0, 1, 1310770, 0, 1, 1376306, 0, 1, 1310771, 0, 1, 1376307, 0, 1, 1310772, 0, 1, 1376308, 0, 1, 1310773, 0, 1, 1376309, 0, 1, 1310774, 0, 1, 1376310, 0, 1, 1310775, 0, 1, 1376311, 0, 1, 1310776, 0, 1, 1376312, 0, 1, 1310777, 0, 1, 1376313, 0, 1, 1310778, 0, 1, 1376314, 0, 1, 1310779, 0, 1, 1376315, 0, 1, 1310780, 0, 1, 1376316, 0, 1, 1310781, 0, 1, 1376317, 0, 1, 1310782, 0, 1, 1376318, 0, 1, 1310783, 0, 1, 1376319, 0, 1, 1441854, 0, 1, 1507390, 0, 1, 1572926, 0, 1, 1638462, 0, 1, 1703998, 0, 1, 1769534, 0, 1, 1835070, 0, 1, 1900606, 0, 1, 1966142, 0, 1, 2031678, 0, 1, 1441855, 0, 1, 1507391, 0, 1, 1572927, 0, 1, 1638463, 0, 1, 1703999, 0, 1, 1769535, 0, 1, 1835071, 0, 1, 1900607, 0, 1, 1966143, 0, 1, 2031679, 0, 1, -131082, 0, 1, -65546, 0, 1, -65545, 0, 1, -65544, 0, 1, -131080, 0, 1, -131081, 0, 1, -131079, 0, 1, -131078, 0, 1, -65542, 0, 1, -65543, 0, 1, -65541, 0, 1, -131077, 0, 1, -10, 65539, 7, -9, 65539, 7, -8, 65539, 7, -7, 65539, 7, -6, 65539, 7, -5, 65539, 7, -262163, 0, 1, -262162, 0, 1, -262161, 0, 1, -524304, 0, 1, -458768, 0, 1, -262160, 0, 1, -524303, 0, 1, -458767, 0, 1, -262159, 0, 1, -524302, 0, 1, -458766, 0, 1, -262158, 0, 1, -524301, 0, 1, -458765, 0, 1, -262157, 0, 1, -655372, 0, 1, -589836, 0, 1, -524300, 0, 1, -458764, 0, 1, -262156, 0, 1, -589835, 0, 1, -524299, 0, 1, -458763, 0, 1, -393227, 0, 1, -262155, 0, 1, -589834, 65537, 1, -524298, 131073, 2, -458762, 65537, 1, -393226, 65537, 1, -327690, 0, 1, -262154, 0, 1, -196618, 0, 1, -589833, 131073, 1, -524297, 131073, 1, -458761, 131073, 2, -393225, 131073, 1, -327689, 0, 1, -262153, 0, 1, -196617, 0, 1, -589832, 0, 1, -524296, 65537, 1, -458760, 65537, 2, -393224, 65537, 1, -327688, 65537, 1, -262152, 0, 1, -196616, 0, 1, -589831, 0, 1, -524295, 131073, 1, -458759, 131073, 1, -393223, 65537, 1, -327687, 131073, 1, -262151, 0, 1, -196615, 0, 1, -589830, 65537, 1, -524294, 65537, 1, -458758, 262145, 1, -393222, 262145, 2, -327686, 65537, 1, -262150, 0, 1, -196614, 0, 1, -589829, 131073, 1, -524293, 131073, 1, -458757, 327681, 1, -393221, 327681, 2, -327685, 131073, 1, -262149, 0, 1, -196613, 0, 1, -589828, 65537, 1, -524292, 262145, 0, -458756, 65537, 1, -393220, 65537, 2, -327684, 0, 1, -262148, 65537, 3, -589827, 131073, 1, -524291, 131073, 1, -458755, 65537, 2, -393219, 131073, 1, -327683, 0, 1, -262147, 131073, 3, -589826, 65537, 1, -524290, 65537, 1, -458754, 65537, 1, -393218, 65537, 1, -327682, 0, 1, -262146, 65537, 3, -589825, 131073, 1, -524289, 131073, 1, -458753, 131073, 2, -393217, 131073, 1, -327681, 0, 1, -262145, 131073, 3, -655360, 0, 1, -589824, 65537, 1, -524288, 65537, 1, -458752, 65537, 1, -393216, 65537, 2, -327680, 131073, 3, -655359, 0, 1, -589823, 131073, 1, -524287, 65537, 2, -458751, 131073, 1, -393215, 65537, 1, -327679, 65537, 3, -655358, 0, 1, -589822, 0, 1, -524286, 65537, 1, -458750, 65537, 1, -393214, 131073, 1, -327678, 131073, 3, -655357, 0, 1, -589821, 0, 1, -524285, 65537, 1, -458749, 65537, 1, -393213, 65537, 1, -327677, 65537, 3, -655356, 0, 1, -589820, 0, 1, -524284, 131073, 1, -458748, 131073, 1, -393212, 131073, 1, -327676, 131073, 3, -655355, 0, 1, -589819, 0, 1, -524283, 65537, 2, -458747, 65537, 1, -393211, 65537, 1, -327675, 65537, 3, -655354, 0, 1, -589818, 0, 1, -524282, 262145, 1, -458746, 262145, 2, -393210, 131073, 1, -327674, 131073, 3, -655353, 0, 1, -589817, 65537, 1, -524281, 327681, 1, -458745, 327681, 2, -393209, 0, 1, -327673, 65537, 3, -655352, 0, 1, -589816, 131073, 1, -524280, 131073, 1, -458744, 65537, 2, -393208, 0, 1, -327672, 131073, 3, -655351, 0, 1, -589815, 65537, 1, -524279, 65537, 1, -458743, 65537, 1, -393207, 0, 1, -327671, 65537, 3, -655350, 0, 1, -589814, 131073, 1, -524278, 65537, 2, -458742, 65537, 2, -393206, 65537, 1, -327670, 131073, 3, -655349, 0, 1, -589813, 65537, 1, -524277, 65537, 1, -458741, 65537, 1, -393205, 131073, 1, -327669, 65537, 3, -655348, 0, 1, -589812, 131073, 1, -524276, 131073, 1, -458740, 131073, 1, -393204, 0, 1, -327668, 131073, 3, 458803, 196609, 1, 1310854, 196608, 1, 1376390, 196608, 1, 1441926, 196608, 1, 1507462, 196608, 1, 1310855, 196608, 1, 1376391, 196608, 1, 1441927, 196608, 1, 1507463, 196608, 1, 1704070, 196608, 1, 1769606, 196608, 1, 1835142, 196608, 1, 1900678, 196608, 1, 1704071, 196608, 1, 1769607, 196608, 1, 1835143, 196608, 1, 1900679, 196608, 1, 1179782, 196608, 1, 1245318, 196608, 1, 1179783, 196608, 1, 1245319, 196608, 1, 1179784, 196608, 1, 1245320, 196608, 1, 1179785, 196608, 1, 1245321, 196608, 1, 1179786, 196608, 1, 1245322, 196608, 1, 1179787, 196608, 1, 1245323, 196608, 1, 1179788, 196608, 1, 1245324, 196608, 1, 1179789, 196608, 1, 1245325, 196608, 1, 1179790, 196608, 1, 1245326, 196608, 1, 1966214, 196608, 1, 2031750, 196608, 1, 1966215, 196608, 1, 2031751, 196608, 1, 1966216, 196608, 1, 2031752, 196608, 1, 1966217, 196608, 1, 2031753, 196608, 1, 1966218, 196608, 1, 2031754, 196608, 1, 1966219, 196608, 1, 2031755, 196608, 1, 1966220, 196608, 1, 2031756, 196608, 1, 1966221, 196608, 1, 2031757, 196608, 1, 1966222, 196608, 1, 2031758, 196608, 1, 1966223, 196608, 1, 2031759, 196608, 1, 1179791, 196608, 1, 1245327, 196608, 1, 144, 196608, 1, 65680, 196608, 1, 131216, 196608, 1, 196752, 196608, 1, 262288, 196608, 1, 327824, 196608, 1, 393360, 196608, 1, 458896, 196608, 1, 524432, 196608, 1, 589968, 196608, 1, 655504, 196608, 1, 721040, 196608, 1, 786576, 196608, 1, 852112, 196608, 1, 917648, 196608, 1, 983184, 196608, 1, 1048720, 196608, 1, 1114256, 196608, 1, 1179792, 196608, 1, 1245328, 196608, 1, 145, 196608, 1, 65681, 196608, 1, 131217, 196608, 1, 196753, 196608, 1, 262289, 196608, 1, 327825, 196608, 1, 393361, 196608, 1, 458897, 196608, 1, 524433, 196608, 1, 589969, 196608, 1, 655505, 196608, 1, 721041, 196608, 1, 786577, 196608, 1, 852113, 196608, 1, 917649, 196608, 1, 983185, 196608, 1, 1048721, 196608, 1, 1114257, 196608, 1, 1179793, 196608, 1, 1245329, 196608, 1, -1441648, 196608, 1, -1376112, 196608, 1, -1310576, 196608, 1, -1245040, 196608, 1, -1179504, 196608, 1, -1113968, 196608, 1, -1048432, 196608, 1, -982896, 196608, 1, -917360, 196608, 1, -851824, 196608, 1, -786288, 196608, 1, -720752, 196608, 1, -655216, 196608, 1, -589680, 196608, 1, -524144, 196608, 1, -458608, 196608, 1, -393072, 196608, 1, -327536, 196608, 1, -262000, 196608, 1, -196464, 196608, 1, -130928, 196608, 1, -65392, 196608, 1, -1441647, 196608, 1, -1376111, 196608, 1, -1310575, 196608, 1, -1245039, 196608, 1, -1179503, 196608, 1, -1113967, 196608, 1, -1048431, 196608, 1, -982895, 196608, 1, -917359, 196608, 1, -851823, 196608, 1, -786287, 196608, 1, -720751, 196608, 1, -655215, 196608, 1, -589679, 196608, 1, -524143, 196608, 1, -458607, 196608, 1, -393071, 196608, 1, -327535, 196608, 1, -261999, 196608, 1, -196463, 196608, 1, -130927, 196608, 1, -65391, 196608, 1, -1441646, 196608, 1, -1376110, 196608, 1, -1310574, 196608, 1, -1245038, 196608, 1, -1179502, 196608, 1, -1113966, 196608, 1, -1048430, 196608, 1, -982894, 196608, 1, -917358, 196608, 1, -851822, 196608, 1, -786286, 196608, 1, -720750, 196608, 1, -655214, 196608, 1, -589678, 196608, 1, -524142, 196608, 1, -458606, 196608, 1, -393070, 196608, 1, -327534, 196608, 1, -261998, 196608, 1, -196462, 196608, 1, -130926, 196608, 1, -65390, 196608, 1, -1441645, 196608, 1, -1376109, 196608, 1, -1310573, 196608, 1, -1245037, 196608, 1, -1179501, 196608, 1, -1113965, 196608, 1, -1048429, 196608, 1, -982893, 196608, 1, -917357, 196608, 1, -851821, 196608, 1, -786285, 196608, 1, -720749, 196608, 1, -655213, 196608, 1, -589677, 196608, 1, -524141, 196608, 1, -458605, 196608, 1, -393069, 196608, 1, -327533, 196608, 1, -261997, 196608, 1, -196461, 196608, 1, -130925, 196608, 1, -65389, 196608, 1, -1441644, 196608, 1, -1376108, 196608, 1, -1310572, 196608, 1, -1245036, 196608, 1, -1179500, 196608, 1, -1113964, 196608, 1, -1048428, 196608, 1, -982892, 196608, 1, -917356, 196608, 1, -851820, 196608, 1, -786284, 196608, 1, -720748, 196608, 1, -655212, 196608, 1, -589676, 196608, 1, -524140, 196608, 1, -458604, 196608, 1, -393068, 196608, 1, -327532, 196608, 1, -261996, 196608, 1, -196460, 196608, 1, -130924, 196608, 1, -65388, 196608, 1, -1441643, 196608, 1, -1376107, 196608, 1, -1310571, 196608, 1, -1245035, 196608, 1, -1179499, 196608, 1, -1113963, 196608, 1, -1048427, 196608, 1, -982891, 196608, 1, -917355, 196608, 1, -851819, 196608, 1, -786283, 196608, 1, -720747, 196608, 1, -655211, 196608, 1, -589675, 196608, 1, -524139, 196608, 1, -458603, 196608, 1, -393067, 196608, 1, -327531, 196608, 1, -261995, 196608, 1, -196459, 196608, 1, -130923, 196608, 1, -65387, 196608, 1, -1441642, 196608, 1, -1376106, 196608, 1, -1310570, 196608, 1, -1245034, 196608, 1, -1179498, 196608, 1, -1113962, 196608, 1, -1048426, 196608, 1, -982890, 196608, 1, -917354, 196608, 1, -851818, 196608, 1, -786282, 196608, 1, -720746, 196608, 1, -655210, 196608, 1, -589674, 196608, 1, -524138, 196608, 1, -458602, 196608, 1, -393066, 196608, 1, -327530, 196608, 1, -261994, 196608, 1, -196458, 196608, 1, -130922, 196608, 1, -65386, 196608, 1, -1441641, 196608, 1, -1376105, 196608, 1, -1310569, 196608, 1, -1245033, 196608, 1, -1179497, 196608, 1, -1113961, 196608, 1, -1048425, 196608, 1, -982889, 196608, 1, -917353, 196608, 1, -851817, 196608, 1, -786281, 196608, 1, -720745, 196608, 1, -655209, 196608, 1, -589673, 196608, 1, -524137, 196608, 1, -458601, 196608, 1, -393065, 196608, 1, -327529, 196608, 1, -261993, 196608, 1, -196457, 196608, 1, -130921, 196608, 1, -65385, 196608, 1, -1441640, 196608, 1, -1376104, 196608, 1, -1310568, 196608, 1, -1245032, 196608, 1, -1179496, 196608, 1, -1113960, 196608, 1, -1048424, 196608, 1, -982888, 196608, 1, -917352, 196608, 1, -851816, 196608, 1, -786280, 196608, 1, -720744, 196608, 1, -655208, 196608, 1, -589672, 196608, 1, -524136, 196608, 1, -458600, 196608, 1, -393064, 196608, 1, -327528, 196608, 1, -261992, 196608, 1, -196456, 196608, 1, -130920, 196608, 1, -65384, 196608, 1, -1441639, 196608, 1, -1376103, 196608, 1, -1310567, 196608, 1, -1245031, 196608, 1, -1179495, 196608, 1, -1113959, 196608, 1, -1048423, 196608, 1, -982887, 196608, 1, -917351, 196608, 1, -851815, 196608, 1, -786279, 196608, 1, -720743, 196608, 1, -655207, 196608, 1, -589671, 196608, 1, -524135, 196608, 1, -458599, 196608, 1, -393063, 196608, 1, -327527, 196608, 1, -261991, 196608, 1, -196455, 196608, 1, -130919, 196608, 1, -65383, 196608, 1, -1441638, 196608, 1, -1376102, 196608, 1, -1310566, 196608, 1, -1245030, 196608, 1, -1179494, 196608, 1, -1113958, 196608, 1, -1048422, 196608, 1, -982886, 196608, 1, -917350, 196608, 1, -851814, 196608, 1, -786278, 196608, 1, -720742, 196608, 1, -655206, 196608, 1, -589670, 196608, 1, -524134, 196608, 1, -458598, 196608, 1, -393062, 196608, 1, -327526, 196608, 1, -261990, 196608, 1, -196454, 196608, 1, -130918, 196608, 1, -65382, 196608, 1, -1441637, 196608, 1, -1376101, 196608, 1, -1310565, 196608, 1, -1245029, 196608, 1, -1179493, 196608, 1, -1113957, 196608, 1, -1048421, 196608, 1, -982885, 196608, 1, -917349, 196608, 1, -851813, 196608, 1, -786277, 196608, 1, -720741, 196608, 1, -655205, 196608, 1, -589669, 196608, 1, -524133, 196608, 1, -458597, 196608, 1, -393061, 196608, 1, -327525, 196608, 1, -261989, 196608, 1, -196453, 196608, 1, -130917, 196608, 1, -65381, 196608, 1, -1441636, 196608, 1, -1376100, 196608, 1, -1310564, 196608, 1, -1245028, 196608, 1, -1179492, 196608, 1, -1113956, 196608, 1, -1048420, 196608, 1, -982884, 196608, 1, -917348, 196608, 1, -851812, 196608, 1, -786276, 196608, 1, -720740, 196608, 1, -655204, 196608, 1, -589668, 196608, 1, -524132, 196608, 1, -458596, 196608, 1, -393060, 196608, 1, -327524, 196608, 1, -261988, 196608, 1, -196452, 196608, 1, -130916, 196608, 1, -65380, 196608, 1, -1441635, 196608, 1, -1376099, 196608, 1, -1310563, 196608, 1, -1245027, 196608, 1, -1179491, 196608, 1, -1113955, 196608, 1, -1048419, 196608, 1, -982883, 196608, 1, -917347, 196608, 1, -851811, 196608, 1, -786275, 196608, 1, -720739, 196608, 1, -655203, 196608, 1, -589667, 196608, 1, -524131, 196608, 1, -458595, 196608, 1, -393059, 196608, 1, -327523, 196608, 1, -261987, 196608, 1, -196451, 196608, 1, -130915, 196608, 1, -65379, 196608, 1, -1441634, 196608, 1, -1376098, 196608, 1, -1310562, 196608, 1, -1245026, 196608, 1, -1179490, 196608, 1, -1113954, 196608, 1, -1048418, 196608, 1, -982882, 196608, 1, -917346, 196608, 1, -851810, 196608, 1, -786274, 196608, 1, -720738, 196608, 1, -655202, 196608, 1, -589666, 196608, 1, -524130, 196608, 1, -458594, 196608, 1, -393058, 196608, 1, -327522, 196608, 1, -261986, 196608, 1, -196450, 196608, 1, -130914, 196608, 1, -65378, 196608, 1, -1441633, 196608, 1, -1376097, 196608, 1, -1310561, 196608, 1, -1245025, 196608, 1, -1179489, 196608, 1, -1113953, 196608, 1, -1048417, 196608, 1, -982881, 196608, 1, -917345, 196608, 1, -851809, 196608, 1, -786273, 196608, 1, -720737, 196608, 1, -655201, 196608, 1, -589665, 196608, 1, -524129, 196608, 1, -458593, 196608, 1, -393057, 196608, 1, -327521, 196608, 1, -261985, 196608, 1, -196449, 196608, 1, -130913, 196608, 1, -65377, 196608, 1, -1441632, 196608, 1, -1376096, 196608, 1, -1310560, 196608, 1, -1245024, 196608, 1, -1179488, 196608, 1, -1113952, 196608, 1, -1048416, 196608, 1, -982880, 196608, 1, -917344, 196608, 1, -851808, 196608, 1, -786272, 196608, 1, -720736, 196608, 1, -655200, 196608, 1, -589664, 196608, 1, -524128, 196608, 1, -458592, 196608, 1, -393056, 196608, 1, -327520, 196608, 1, -261984, 196608, 1, -196448, 196608, 1, -130912, 196608, 1, -65376, 196608, 1, -1441631, 196608, 1, -1376095, 196608, 1, -1310559, 196608, 1, -1245023, 196608, 1, -1179487, 196608, 1, -1113951, 196608, 1, -1048415, 196608, 1, -982879, 196608, 1, -917343, 196608, 1, -851807, 196608, 1, -786271, 196608, 1, -720735, 196608, 1, -655199, 196608, 1, -589663, 196608, 1, -524127, 196608, 1, -458591, 196608, 1, -393055, 196608, 1, -327519, 196608, 1, -261983, 196608, 1, -196447, 196608, 1, -130911, 196608, 1, -65375, 196608, 1, -1441630, 196608, 1, -1376094, 196608, 1, -1310558, 196608, 1, -1245022, 196608, 1, -1179486, 196608, 1, -1113950, 196608, 1, -1048414, 196608, 1, -982878, 196608, 1, -917342, 196608, 1, -851806, 196608, 1, -786270, 196608, 1, -720734, 196608, 1, -655198, 196608, 1, -589662, 196608, 1, -524126, 196608, 1, -458590, 196608, 1, -393054, 196608, 1, -327518, 196608, 1, -261982, 196608, 1, -196446, 196608, 1, -130910, 196608, 1, -65374, 196608, 1, -1441629, 196608, 1, -1376093, 196608, 1, -1310557, 196608, 1, -1245021, 196608, 1, -1179485, 196608, 1, -1113949, 196608, 1, -1048413, 196608, 1, -982877, 196608, 1, -917341, 196608, 1, -851805, 196608, 1, -786269, 196608, 1, -720733, 196608, 1, -655197, 196608, 1, -589661, 196608, 1, -524125, 196608, 1, -458589, 196608, 1, -393053, 196608, 1, -327517, 196608, 1, -261981, 196608, 1, -196445, 196608, 1, -130909, 196608, 1, -65373, 196608, 1, -1441628, 196608, 1, -1376092, 196608, 1, -1310556, 196608, 1, -1245020, 196608, 1, -1179484, 196608, 1, -1113948, 196608, 1, -1048412, 196608, 1, -982876, 196608, 1, -917340, 196608, 1, -851804, 196608, 1, -786268, 196608, 1, -720732, 196608, 1, -655196, 196608, 1, -589660, 196608, 1, -524124, 196608, 1, -458588, 196608, 1, -393052, 196608, 1, -327516, 196608, 1, -261980, 196608, 1, -196444, 196608, 1, -130908, 196608, 1, -65372, 196608, 1, -1441627, 196608, 1, -1376091, 196608, 1, -1310555, 196608, 1, -1245019, 196608, 1, -1179483, 196608, 1, -1113947, 196608, 1, -1048411, 196608, 1, -982875, 196608, 1, -917339, 196608, 1, -851803, 196608, 1, -786267, 196608, 1, -720731, 196608, 1, -655195, 196608, 1, -589659, 196608, 1, -524123, 196608, 1, -458587, 196608, 1, -393051, 196608, 1, -327515, 196608, 1, -261979, 196608, 1, -196443, 196608, 1, -130907, 196608, 1, -65371, 196608, 1, -1441626, 196608, 1, -1376090, 196608, 1, -1310554, 196608, 1, -1245018, 196608, 1, -1179482, 196608, 1, -1113946, 196608, 1, -1048410, 196608, 1, -982874, 196608, 1, -917338, 196608, 1, -851802, 196608, 1, -786266, 196608, 1, -720730, 196608, 1, -655194, 196608, 1, -589658, 196608, 1, -524122, 196608, 1, -458586, 196608, 1, -393050, 196608, 1, -327514, 196608, 1, -261978, 196608, 1, -196442, 196608, 1, -130906, 196608, 1, -65370, 196608, 1, -1441625, 196608, 1, -1376089, 196608, 1, -1310553, 196608, 1, -1245017, 196608, 1, -1179481, 196608, 1, -1113945, 196608, 1, -1048409, 196608, 1, -982873, 196608, 1, -917337, 196608, 1, -851801, 196608, 1, -786265, 196608, 1, -720729, 196608, 1, -655193, 196608, 1, -589657, 196608, 1, -524121, 196608, 1, -458585, 196608, 1, -393049, 196608, 1, -327513, 196608, 1, -261977, 196608, 1, -196441, 196608, 1, -130905, 196608, 1, -65369, 196608, 1, -1441624, 196608, 1, -1376088, 196608, 1, -1310552, 196608, 1, -1245016, 196608, 1, -1179480, 196608, 1, -1113944, 196608, 1, -1048408, 196608, 1, -982872, 196608, 1, -917336, 196608, 1, -851800, 196608, 1, -786264, 196608, 1, -720728, 196608, 1, -655192, 196608, 1, -589656, 196608, 1, -524120, 196608, 1, -458584, 196608, 1, -393048, 196608, 1, -327512, 196608, 1, -261976, 196608, 1, -196440, 196608, 1, -130904, 196608, 1, -65368, 196608, 1, -1441623, 196608, 1, -1376087, 196608, 1, -1310551, 196608, 1, -1245015, 196608, 1, -1179479, 196608, 1, -1113943, 196608, 1, -1048407, 196608, 1, -982871, 196608, 1, -917335, 196608, 1, -851799, 196608, 1, -786263, 196608, 1, -720727, 196608, 1, -655191, 196608, 1, -589655, 196608, 1, -524119, 196608, 1, -458583, 196608, 1, -393047, 196608, 1, -327511, 196608, 1, -261975, 196608, 1, -196439, 196608, 1, -130903, 196608, 1, -65367, 196608, 1, -1441622, 196608, 1, -1376086, 196608, 1, -1310550, 196608, 1, -1245014, 196608, 1, -1179478, 196608, 1, -1113942, 196608, 1, -1048406, 196608, 1, -982870, 196608, 1, -917334, 196608, 1, -851798, 196608, 1, -786262, 196608, 1, -720726, 196608, 1, -655190, 196608, 1, -589654, 196608, 1, -524118, 196608, 1, -458582, 196608, 1, -393046, 196608, 1, -327510, 196608, 1, -261974, 196608, 1, -196438, 196608, 1, -130902, 196608, 1, -65366, 196608, 1, -1441621, 196608, 1, -1376085, 196608, 1, -1310549, 196608, 1, -1245013, 196608, 1, -1179477, 196608, 1, -1113941, 196608, 1, -1048405, 196608, 1, -982869, 196608, 1, -917333, 196608, 1, -851797, 196608, 1, -786261, 196608, 1, -720725, 196608, 1, -655189, 196608, 1, -589653, 196608, 1, -524117, 196608, 1, -458581, 196608, 1, -393045, 196608, 1, -327509, 196608, 1, -261973, 196608, 1, -196437, 196608, 1, -130901, 196608, 1, -65365, 196608, 1, -1441620, 196608, 1, -1376084, 196608, 1, -1310548, 196608, 1, -1245012, 196608, 1, -1179476, 196608, 1, -1113940, 196608, 1, -1048404, 196608, 1, -982868, 196608, 1, -917332, 196608, 1, -851796, 196608, 1, -786260, 196608, 1, -720724, 196608, 1, -655188, 196608, 1, -589652, 196608, 1, -524116, 196608, 1, -458580, 196608, 1, -393044, 196608, 1, -327508, 196608, 1, -261972, 196608, 1, -196436, 196608, 1, -130900, 196608, 1, -65364, 196608, 1, -1441619, 196608, 1, -1376083, 196608, 1, -1310547, 196608, 1, -1245011, 196608, 1, -1179475, 196608, 1, -1113939, 196608, 1, -1048403, 196608, 1, -982867, 196608, 1, -917331, 196608, 1, -851795, 196608, 1, -786259, 196608, 1, -720723, 196608, 1, -655187, 196608, 1, -589651, 196608, 1, -524115, 196608, 1, -458579, 196608, 1, -393043, 196608, 1, -327507, 196608, 1, -261971, 196608, 1, -196435, 196608, 1, -130899, 196608, 1, -65363, 196608, 1, -1441618, 196608, 1, -1376082, 196608, 1, -1310546, 196608, 1, -1245010, 196608, 1, -1179474, 196608, 1, -1113938, 196608, 1, -1048402, 196608, 1, -982866, 196608, 1, -917330, 196608, 1, -851794, 196608, 1, -786258, 196608, 1, -720722, 196608, 1, -655186, 196608, 1, -589650, 196608, 1, -524114, 196608, 1, -458578, 196608, 1, -393042, 196608, 1, -327506, 196608, 1, -261970, 196608, 1, -196434, 196608, 1, -130898, 196608, 1, -65362, 196608, 1, -1441617, 196608, 1, -1376081, 196608, 1, -1310545, 196608, 1, -1245009, 196608, 1, -1179473, 196608, 1, -1113937, 196608, 1, -1048401, 196608, 1, -982865, 196608, 1, -917329, 196608, 1, -851793, 196608, 1, -786257, 196608, 1, -720721, 196608, 1, -655185, 196608, 1, -589649, 196608, 1, -524113, 196608, 1, -458577, 196608, 1, -393041, 196608, 1, -327505, 196608, 1, -261969, 196608, 1, -196433, 196608, 1, -130897, 196608, 1, -65361, 196608, 1, -1441616, 196608, 1, -1376080, 196608, 1, -1310544, 196608, 1, -1245008, 196608, 1, -1179472, 196608, 1, -1113936, 196608, 1, -1048400, 196608, 1, -982864, 196608, 1, -917328, 196608, 1, -851792, 196608, 1, -786256, 196608, 1, -720720, 196608, 1, -655184, 196608, 1, -589648, 196608, 1, -524112, 196608, 1, -458576, 196608, 1, -393040, 196608, 1, -327504, 196608, 1, -261968, 196608, 1, -196432, 196608, 1, -130896, 196608, 1, -65360, 196608, 1, -1441615, 196608, 1, -1376079, 196608, 1, -1310543, 196608, 1, -1245007, 196608, 1, -1179471, 196608, 1, -1113935, 196608, 1, -1048399, 196608, 1, -982863, 196608, 1, -917327, 196608, 1, -851791, 196608, 1, -786255, 196608, 1, -720719, 196608, 1, -655183, 196608, 1, -589647, 196608, 1, -524111, 196608, 1, -458575, 196608, 1, -393039, 196608, 1, -327503, 196608, 1, -261967, 196608, 1, -196431, 196608, 1, -130895, 196608, 1, -65359, 196608, 1, -1441614, 196608, 1, -1376078, 196608, 1, -1310542, 196608, 1, -1245006, 196608, 1, -1179470, 196608, 1, -1113934, 196608, 1, -1048398, 196608, 1, -982862, 196608, 1, -917326, 196608, 1, -851790, 196608, 1, -786254, 196608, 1, -720718, 196608, 1, -655182, 196608, 1, -589646, 196608, 1, -524110, 196608, 1, -458574, 196608, 1, -393038, 196608, 1, -327502, 196608, 1, -261966, 196608, 1, -196430, 196608, 1, -130894, 196608, 1, -65358, 196608, 1, -1441613, 196608, 1, -1376077, 196608, 1, -1310541, 196608, 1, -1245005, 196608, 1, -1179469, 196608, 1, -1113933, 196608, 1, -1048397, 196608, 1, -982861, 196608, 1, -917325, 196608, 1, -851789, 196608, 1, -786253, 196608, 1, -720717, 196608, 1, -655181, 196608, 1, -589645, 196608, 1, -524109, 196608, 1, -458573, 196608, 1, -393037, 196608, 1, -327501, 196608, 1, -261965, 196608, 1, -196429, 196608, 1, -130893, 196608, 1, -65357, 196608, 1, -1441612, 196608, 1, -1376076, 196608, 1, -1310540, 196608, 1, -1245004, 196608, 1, -1179468, 196608, 1, -1113932, 196608, 1, -1048396, 196608, 1, -982860, 196608, 1, -917324, 196608, 1, -851788, 196608, 1, -786252, 196608, 1, -720716, 196608, 1, -655180, 196608, 1, -589644, 196608, 1, -524108, 196608, 1, -458572, 196608, 1, -393036, 196608, 1, -327500, 196608, 1, -261964, 196608, 1, -196428, 196608, 1, -130892, 196608, 1, -65356, 196608, 1, -1441611, 196608, 1, -1376075, 196608, 1, -1310539, 196608, 1, -1245003, 196608, 1, -1179467, 196608, 1, -1113931, 196608, 1, -1048395, 196608, 1, -982859, 196608, 1, -917323, 196608, 1, -851787, 196608, 1, -786251, 196608, 1, -720715, 196608, 1, -655179, 196608, 1, -589643, 196608, 1, -524107, 196608, 1, -458571, 196608, 1, -393035, 196608, 1, -327499, 196608, 1, -261963, 196608, 1, -196427, 196608, 1, -130891, 196608, 1, -65355, 196608, 1, -1441610, 196608, 1, -1376074, 196608, 1, -1310538, 196608, 1, -1245002, 196608, 1, -1179466, 196608, 1, -1113930, 196608, 1, -1048394, 196608, 1, -982858, 196608, 1, -917322, 196608, 1, -851786, 196608, 1, -786250, 196608, 1, -720714, 196608, 1, -655178, 196608, 1, -589642, 196608, 1, -524106, 196608, 1, -458570, 196608, 1, -393034, 196608, 1, -327498, 196608, 1, -261962, 196608, 1, -196426, 196608, 1, -130890, 196608, 1, -65354, 196608, 1, -1441609, 196608, 1, -1376073, 196608, 1, -1310537, 196608, 1, -1245001, 196608, 1, -1179465, 196608, 1, -1113929, 196608, 1, -1048393, 196608, 1, -982857, 196608, 1, -917321, 196608, 1, -851785, 196608, 1, -786249, 196608, 1, -720713, 196608, 1, -655177, 196608, 1, -589641, 196608, 1, -524105, 196608, 1, -458569, 196608, 1, -393033, 196608, 1, -327497, 196608, 1, -261961, 196608, 1, -196425, 196608, 1, -130889, 196608, 1, -65353, 196608, 1, -1441608, 196608, 1, -1376072, 196608, 1, -1310536, 196608, 1, -1245000, 196608, 1, -1179464, 196608, 1, -1113928, 196608, 1, -1048392, 196608, 1, -982856, 196608, 1, -917320, 196608, 1, -851784, 196608, 1, -786248, 196608, 1, -720712, 196608, 1, -655176, 196608, 1, -589640, 196608, 1, -524104, 196608, 1, -458568, 196608, 1, -393032, 196608, 1, -327496, 196608, 1, -261960, 196608, 1, -196424, 196608, 1, -130888, 196608, 1, -65352, 196608, 1, -1441607, 196608, 1, -1376071, 196608, 1, -1310535, 196608, 1, -1244999, 196608, 1, -1179463, 196608, 1, -1113927, 196608, 1, -1048391, 196608, 1, -982855, 196608, 1, -917319, 196608, 1, -851783, 196608, 1, -786247, 196608, 1, -720711, 196608, 1, -655175, 196608, 1, -589639, 196608, 1, -524103, 196608, 1, -458567, 196608, 1, -393031, 196608, 1, -327495, 196608, 1, -261959, 196608, 1, -196423, 196608, 1, -130887, 196608, 1, -65351, 196608, 1, -1441606, 196608, 1, -1376070, 196608, 1, -1310534, 196608, 1, -1244998, 196608, 1, -1179462, 196608, 1, -1113926, 196608, 1, -1048390, 196608, 1, -982854, 196608, 1, -917318, 196608, 1, -851782, 196608, 1, -786246, 196608, 1, -720710, 196608, 1, -655174, 196608, 1, -589638, 196608, 1, -524102, 196608, 1, -458566, 196608, 1, -393030, 196608, 1, -327494, 196608, 1, -261958, 196608, 1, -196422, 196608, 1, -130886, 196608, 1, -65350, 196608, 1, -1441605, 196608, 1, -1376069, 196608, 1, -1310533, 196608, 1, -1244997, 196608, 1, -1179461, 196608, 1, -1113925, 196608, 1, -1048389, 196608, 1, -982853, 196608, 1, -917317, 196608, 1, -851781, 196608, 1, -786245, 196608, 1, -720709, 196608, 1, -655173, 196608, 1, -589637, 196608, 1, -524101, 196608, 1, -458565, 196608, 1, -393029, 196608, 1, -327493, 196608, 1, -261957, 196608, 1, -196421, 196608, 1, -130885, 196608, 1, -65349, 196608, 1, -1441604, 196608, 1, -1376068, 196608, 1, -1310532, 196608, 1, -1244996, 196608, 1, -1179460, 196608, 1, -1113924, 196608, 1, -1048388, 196608, 1, -982852, 196608, 1, -917316, 196608, 1, -851780, 196608, 1, -786244, 196608, 1, -720708, 196608, 1, -655172, 196608, 1, -589636, 196608, 1, -524100, 196608, 1, -458564, 196608, 1, -393028, 196608, 1, -327492, 196608, 1, -261956, 196608, 1, -196420, 196608, 1, -130884, 196608, 1, -65348, 196608, 1, -1441603, 196608, 1, -1376067, 196608, 1, -1310531, 196608, 1, -1244995, 196608, 1, -1179459, 196608, 1, -1113923, 196608, 1, -1048387, 196608, 1, -982851, 196608, 1, -917315, 196608, 1, -851779, 196608, 1, -786243, 196608, 1, -720707, 196608, 1, -655171, 196608, 1, -589635, 196608, 1, -524099, 196608, 1, -458563, 196608, 1, -393027, 196608, 1, -327491, 196608, 1, -261955, 196608, 1, -196419, 196608, 1, -130883, 196608, 1, -65347, 196608, 1, -1441602, 196608, 1, -1376066, 196608, 1, -1310530, 196608, 1, -1244994, 196608, 1, -1179458, 196608, 1, -1113922, 196608, 1, -1048386, 196608, 1, -982850, 196608, 1, -917314, 196608, 1, -851778, 196608, 1, -786242, 196608, 1, -720706, 196608, 1, -655170, 196608, 1, -589634, 196608, 1, -524098, 196608, 1, -458562, 196608, 1, -393026, 196608, 1, -327490, 196608, 1, -261954, 196608, 1, -196418, 196608, 1, -130882, 196608, 1, -65346, 196608, 1, -1441601, 196608, 1, -1376065, 196608, 1, -1310529, 196608, 1, -1244993, 196608, 1, -1179457, 196608, 1, -1113921, 196608, 1, -1048385, 196608, 1, -982849, 196608, 1, -917313, 196608, 1, -851777, 196608, 1, -786241, 196608, 1, -720705, 196608, 1, -655169, 196608, 1, -589633, 196608, 1, -524097, 196608, 1, -458561, 196608, 1, -393025, 196608, 1, -327489, 196608, 1, -261953, 196608, 1, -196417, 196608, 1, -130881, 196608, 1, -65345, 196608, 1, -1441600, 196608, 1, -1376064, 196608, 1, -1310528, 196608, 1, -1244992, 196608, 1, -1179456, 196608, 1, -1113920, 196608, 1, -1048384, 196608, 1, -982848, 196608, 1, -917312, 196608, 1, -851776, 196608, 1, -786240, 196608, 1, -720704, 196608, 1, -655168, 196608, 1, -589632, 196608, 1, -524096, 196608, 1, -458560, 196608, 1, -393024, 196608, 1, -327488, 196608, 1, -261952, 196608, 1, -196416, 196608, 1, -130880, 196608, 1, -65344, 196608, 1, -1441599, 196608, 1, -1376063, 196608, 1, -1310527, 196608, 1, -1244991, 196608, 1, -1179455, 196608, 1, -1113919, 196608, 1, -1048383, 196608, 1, -982847, 196608, 1, -917311, 196608, 1, -851775, 196608, 1, -786239, 196608, 1, -720703, 196608, 1, -655167, 196608, 1, -589631, 196608, 1, -524095, 196608, 1, -458559, 196608, 1, -393023, 196608, 1, -327487, 196608, 1, -261951, 196608, 1, -196415, 196608, 1, -130879, 196608, 1, -65343, 196608, 1, -1441598, 196608, 1, -1376062, 196608, 1, -1310526, 196608, 1, -1244990, 196608, 1, -1179454, 196608, 1, -1113918, 196608, 1, -1048382, 196608, 1, -982846, 196608, 1, -917310, 196608, 1, -851774, 196608, 1, -786238, 196608, 1, -720702, 196608, 1, -655166, 196608, 1, -589630, 196608, 1, -524094, 196608, 1, -458558, 196608, 1, -393022, 196608, 1, -327486, 196608, 1, -261950, 196608, 1, -196414, 196608, 1, -130878, 196608, 1, -65342, 196608, 1, -1441597, 196608, 1, -1376061, 196608, 1, -1310525, 196608, 1, -1244989, 196608, 1, -1179453, 196608, 1, -1113917, 196608, 1, -1048381, 196608, 1, -982845, 196608, 1, -917309, 196608, 1, -851773, 196608, 1, -786237, 196608, 1, -720701, 196608, 1, -655165, 196608, 1, -589629, 196608, 1, -524093, 196608, 1, -458557, 196608, 1, -393021, 196608, 1, -327485, 196608, 1, -261949, 196608, 1, -196413, 196608, 1, -130877, 196608, 1, -65341, 196608, 1, -1441596, 196608, 1, -1376060, 196608, 1, -1310524, 196608, 1, -1244988, 196608, 1, -1179452, 196608, 1, -1113916, 196608, 1, -1048380, 196608, 1, -982844, 196608, 1, -917308, 196608, 1, -851772, 196608, 1, -786236, 196608, 1, -720700, 196608, 1, -655164, 196608, 1, -589628, 196608, 1, -524092, 196608, 1, -458556, 196608, 1, -393020, 196608, 1, -327484, 196608, 1, -261948, 196608, 1, -196412, 196608, 1, -130876, 196608, 1, -65340, 196608, 1, -1441595, 196608, 1, -1376059, 196608, 1, -1310523, 196608, 1, -1244987, 196608, 1, -1179451, 196608, 1, -1113915, 196608, 1, -1048379, 196608, 1, -982843, 196608, 1, -917307, 196608, 1, -851771, 196608, 1, -786235, 196608, 1, -720699, 196608, 1, -655163, 196608, 1, -589627, 196608, 1, -524091, 196608, 1, -458555, 196608, 1, -393019, 196608, 1, -327483, 196608, 1, -261947, 196608, 1, -196411, 196608, 1, -130875, 196608, 1, -65339, 196608, 1, -1441594, 196608, 1, -1376058, 196608, 1, -1310522, 196608, 1, -1244986, 196608, 1, -1179450, 196608, 1, -1113914, 196608, 1, -1048378, 196608, 1, -982842, 196608, 1, -917306, 196608, 1, -851770, 196608, 1, -786234, 196608, 1, -720698, 196608, 1, -655162, 196608, 1, -589626, 196608, 1, -524090, 196608, 1, -458554, 196608, 1, -393018, 196608, 1, -327482, 196608, 1, -261946, 196608, 1, -196410, 196608, 1, -130874, 196608, 1, -65338, 196608, 1, -1441593, 196608, 1, -1376057, 196608, 1, -1310521, 196608, 1, -1244985, 196608, 1, -1179449, 196608, 1, -1113913, 196608, 1, -1048377, 196608, 1, -982841, 196608, 1, -917305, 196608, 1, -851769, 196608, 1, -786233, 196608, 1, -720697, 196608, 1, -655161, 196608, 1, -589625, 196608, 1, -524089, 196608, 1, -458553, 196608, 1, -393017, 196608, 1, -327481, 196608, 1, -261945, 196608, 1, -196409, 196608, 1, -130873, 196608, 1, -65337, 196608, 1, -1441592, 196608, 1, -1376056, 196608, 1, -1310520, 196608, 1, -1244984, 196608, 1, -1179448, 196608, 1, -1113912, 196608, 1, -1048376, 196608, 1, -982840, 196608, 1, -917304, 196608, 1, -851768, 196608, 1, -786232, 196608, 1, -720696, 196608, 1, -655160, 196608, 1, -589624, 196608, 1, -524088, 196608, 1, -458552, 196608, 1, -393016, 196608, 1, -327480, 196608, 1, -261944, 196608, 1, -196408, 196608, 1, -130872, 196608, 1, -65336, 196608, 1, -1441591, 196608, 1, -1376055, 196608, 1, -1310519, 196608, 1, -1244983, 196608, 1, -1179447, 196608, 1, -1113911, 196608, 1, -1048375, 196608, 1, -982839, 196608, 1, -917303, 196608, 1, -851767, 196608, 1, -786231, 196608, 1, -720695, 196608, 1, -655159, 196608, 1, -589623, 196608, 1, -524087, 196608, 1, -458551, 196608, 1, -393015, 196608, 1, -327479, 196608, 1, -261943, 196608, 1, -196407, 196608, 1, -130871, 196608, 1, -65335, 196608, 1, -1441590, 196608, 1, -1376054, 196608, 1, -1310518, 196608, 1, -1244982, 196608, 1, -1179446, 196608, 1, -1113910, 196608, 1, -1048374, 196608, 1, -982838, 196608, 1, -917302, 196608, 1, -851766, 196608, 1, -786230, 196608, 1, -720694, 196608, 1, -655158, 196608, 1, -589622, 196608, 1, -524086, 196608, 1, -458550, 196608, 1, -393014, 196608, 1, -327478, 196608, 1, -261942, 196608, 1, -196406, 196608, 1, -130870, 196608, 1, -65334, 196608, 1, -1441589, 196608, 1, -1376053, 196608, 1, -1310517, 196608, 1, -1244981, 196608, 1, -1179445, 196608, 1, -1113909, 196608, 1, -1048373, 196608, 1, -982837, 196608, 1, -917301, 196608, 1, -851765, 196608, 1, -786229, 196608, 1, -720693, 196608, 1, -655157, 196608, 1, -589621, 196608, 1, -524085, 196608, 1, -458549, 196608, 1, -393013, 196608, 1, -327477, 196608, 1, -261941, 196608, 1, -196405, 196608, 1, -130869, 196608, 1, -65333, 196608, 1, -1441588, 196608, 1, -1376052, 196608, 1, -1310516, 196608, 1, -1244980, 196608, 1, -1179444, 196608, 1, -1113908, 196608, 1, -1048372, 196608, 1, -982836, 196608, 1, -917300, 196608, 1, -851764, 196608, 1, -786228, 196608, 1, -720692, 196608, 1, -655156, 196608, 1, -589620, 196608, 1, -524084, 196608, 1, -458548, 196608, 1, -393012, 196608, 1, -327476, 196608, 1, -261940, 196608, 1, -196404, 196608, 1, -130868, 196608, 1, -65332, 196608, 1, -1441587, 196608, 1, -1376051, 196608, 1, -1310515, 196608, 1, -1244979, 196608, 1, -1179443, 196608, 1, -1113907, 196608, 1, -1048371, 196608, 1, -982835, 196608, 1, -917299, 196608, 1, -851763, 196608, 1, -786227, 196608, 1, -720691, 196608, 1, -655155, 196608, 1, -589619, 196608, 1, -524083, 196608, 1, -458547, 196608, 1, -393011, 196608, 1, -327475, 196608, 1, -261939, 196608, 1, -196403, 196608, 1, -130867, 196608, 1, -65331, 196608, 1, -1441586, 196608, 1, -1376050, 196608, 1, -1310514, 196608, 1, -1244978, 196608, 1, -1179442, 196608, 1, -1113906, 196608, 1, -1048370, 196608, 1, -982834, 196608, 1, -917298, 196608, 1, -851762, 196608, 1, -786226, 196608, 1, -720690, 196608, 1, -655154, 196608, 1, -589618, 196608, 1, -524082, 196608, 1, -458546, 196608, 1, -393010, 196608, 1, -327474, 196608, 1, -261938, 196608, 1, -196402, 196608, 1, -130866, 196608, 1, -65330, 196608, 1, -1441585, 196608, 1, -1376049, 196608, 1, -1310513, 196608, 1, -1244977, 196608, 1, -1179441, 196608, 1, -1113905, 196608, 1, -1048369, 196608, 1, -982833, 196608, 1, -917297, 196608, 1, -851761, 196608, 1, -786225, 196608, 1, -720689, 196608, 1, -655153, 196608, 1, -589617, 196608, 1, -524081, 196608, 1, -458545, 196608, 1, -393009, 196608, 1, -327473, 196608, 1, -261937, 196608, 1, -196401, 196608, 1, -130865, 196608, 1, -65329, 196608, 1, -1441584, 196608, 1, -1376048, 196608, 1, -1310512, 196608, 1, -1244976, 196608, 1, -1179440, 196608, 1, -1113904, 196608, 1, -1048368, 196608, 1, -982832, 196608, 1, -917296, 196608, 1, -851760, 196608, 1, -786224, 196608, 1, -720688, 196608, 1, -655152, 196608, 1, -589616, 196608, 1, -524080, 196608, 1, -458544, 196608, 1, -393008, 196608, 1, -327472, 196608, 1, -261936, 196608, 1, -196400, 196608, 1, -130864, 196608, 1, -65328, 196608, 1, -1441583, 196608, 1, -1376047, 196608, 1, -1310511, 196608, 1, -1244975, 196608, 1, -1179439, 196608, 1, -1113903, 196608, 1, -1048367, 196608, 1, -982831, 196608, 1, -917295, 196608, 1, -851759, 196608, 1, -786223, 196608, 1, -720687, 196608, 1, -655151, 196608, 1, -589615, 196608, 1, -524079, 196608, 1, -458543, 196608, 1, -393007, 196608, 1, -327471, 196608, 1, -261935, 196608, 1, -196399, 196608, 1, -130863, 196608, 1, -65327, 196608, 1, -1441582, 196608, 1, -1376046, 196608, 1, -1310510, 196608, 1, -1244974, 196608, 1, -1179438, 196608, 1, -1113902, 196608, 1, -1048366, 196608, 1, -982830, 196608, 1, -917294, 196608, 1, -851758, 196608, 1, -786222, 196608, 1, -720686, 196608, 1, -655150, 196608, 1, -589614, 196608, 1, -524078, 196608, 1, -458542, 196608, 1, -393006, 196608, 1, -327470, 196608, 1, -261934, 196608, 1, -196398, 196608, 1, -130862, 196608, 1, -65326, 196608, 1, -1441581, 196608, 1, -1376045, 196608, 1, -1310509, 196608, 1, -1244973, 196608, 1, -1179437, 196608, 1, -1113901, 196608, 1, -1048365, 196608, 1, -982829, 196608, 1, -917293, 196608, 1, -851757, 196608, 1, -786221, 196608, 1, -720685, 196608, 1, -655149, 196608, 1, -589613, 196608, 1, -524077, 196608, 1, -458541, 196608, 1, -393005, 196608, 1, -327469, 196608, 1, -261933, 196608, 1, -196397, 196608, 1, -130861, 196608, 1, -65325, 196608, 1, -1441580, 196608, 1, -1376044, 196608, 1, -1310508, 196608, 1, -1244972, 196608, 1, -1179436, 196608, 1, -1113900, 196608, 1, -1048364, 196608, 1, -982828, 196608, 1, -917292, 196608, 1, -851756, 196608, 1, -786220, 196608, 1, -720684, 196608, 1, -655148, 196608, 1, -589612, 196608, 1, -524076, 196608, 1, -458540, 196608, 1, -393004, 196608, 1, -327468, 196608, 1, -261932, 196608, 1, -196396, 196608, 1, -130860, 196608, 1, -65324, 196608, 1, -1441579, 196608, 1, -1376043, 196608, 1, -1310507, 196608, 1, -1244971, 196608, 1, -1179435, 196608, 1, -1113899, 196608, 1, -1048363, 196608, 1, -982827, 196608, 1, -917291, 196608, 1, -851755, 196608, 1, -786219, 196608, 1, -720683, 196608, 1, -655147, 196608, 1, -589611, 196608, 1, -524075, 196608, 1, -458539, 196608, 1, -393003, 196608, 1, -327467, 196608, 1, -261931, 196608, 1, -196395, 196608, 1, -130859, 196608, 1, -65323, 196608, 1, -1441578, 196608, 1, -1376042, 196608, 1, -1310506, 196608, 1, -1244970, 196608, 1, -1179434, 196608, 1, -1113898, 196608, 1, -1048362, 196608, 1, -982826, 196608, 1, -917290, 196608, 1, -851754, 196608, 1, -786218, 196608, 1, -720682, 196608, 1, -655146, 196608, 1, -589610, 196608, 1, -524074, 196608, 1, -458538, 196608, 1, -393002, 196608, 1, -327466, 196608, 1, -261930, 196608, 1, -196394, 196608, 1, -130858, 196608, 1, -65322, 196608, 1, -1441577, 196608, 1, -1376041, 196608, 1, -1310505, 196608, 1, -1244969, 196608, 1, -1179433, 196608, 1, -1113897, 196608, 1, -1048361, 196608, 1, -982825, 196608, 1, -917289, 196608, 1, -851753, 196608, 1, -786217, 196608, 1, -720681, 196608, 1, -655145, 196608, 1, -589609, 196608, 1, -524073, 196608, 1, -458537, 196608, 1, -393001, 196608, 1, -327465, 196608, 1, -261929, 196608, 1, -196393, 196608, 1, -130857, 196608, 1, -65321, 196608, 1, -1441576, 196608, 1, -1376040, 196608, 1, -1310504, 196608, 1, -1244968, 196608, 1, -1179432, 196608, 1, -1113896, 196608, 1, -1048360, 196608, 1, -982824, 196608, 1, -917288, 196608, 1, -851752, 196608, 1, -786216, 196608, 1, -720680, 196608, 1, -655144, 196608, 1, -589608, 196608, 1, -524072, 196608, 1, -458536, 196608, 1, -393000, 196608, 1, -327464, 196608, 1, -261928, 196608, 1, -196392, 196608, 1, -130856, 196608, 1, -65320, 196608, 1, -1441575, 196608, 1, -1376039, 196608, 1, -1310503, 196608, 1, -1244967, 196608, 1, -1179431, 196608, 1, -1113895, 196608, 1, -1048359, 196608, 1, -982823, 196608, 1, -917287, 196608, 1, -851751, 196608, 1, -786215, 196608, 1, -720679, 196608, 1, -655143, 196608, 1, -589607, 196608, 1, -524071, 196608, 1, -458535, 196608, 1, -392999, 196608, 1, -327463, 196608, 1, -261927, 196608, 1, -196391, 196608, 1, -130855, 196608, 1, -65319, 196608, 1, -1441574, 196608, 1, -1376038, 196608, 1, -1310502, 196608, 1, -1244966, 196608, 1, -1179430, 196608, 1, -1113894, 196608, 1, -1048358, 196608, 1, -982822, 196608, 1, -917286, 196608, 1, -851750, 196608, 1, -786214, 196608, 1, -720678, 196608, 1, -655142, 196608, 1, -589606, 196608, 1, -524070, 196608, 1, -458534, 196608, 1, -392998, 196608, 1, -327462, 196608, 1, -261926, 196608, 1, -196390, 196608, 1, -130854, 196608, 1, -65318, 196608, 1, -1441573, 196608, 1, -1376037, 196608, 1, -1310501, 196608, 1, -1244965, 196608, 1, -1179429, 196608, 1, -1113893, 196608, 1, -1048357, 196608, 1, -982821, 196608, 1, -917285, 196608, 1, -851749, 196608, 1, -786213, 196608, 1, -720677, 196608, 1, -655141, 196608, 1, -589605, 196608, 1, -524069, 196608, 1, -458533, 196608, 1, -392997, 196608, 1, -327461, 196608, 1, -261925, 196608, 1, -196389, 196608, 1, -130853, 196608, 1, -65317, 196608, 1, -1441572, 196608, 1, -1376036, 196608, 1, -1310500, 196608, 1, -1244964, 196608, 1, -1179428, 196608, 1, -1113892, 196608, 1, -1048356, 196608, 1, -982820, 196608, 1, -917284, 196608, 1, -851748, 196608, 1, -786212, 196608, 1, -720676, 196608, 1, -655140, 196608, 1, -589604, 196608, 1, -524068, 196608, 1, -458532, 196608, 1, -392996, 196608, 1, -327460, 196608, 1, -261924, 196608, 1, -196388, 196608, 1, -130852, 196608, 1, -65316, 196608, 1, -1441571, 196608, 1, -1376035, 196608, 1, -1310499, 196608, 1, -1244963, 196608, 1, -1179427, 196608, 1, -1113891, 196608, 1, -1048355, 196608, 1, -982819, 196608, 1, -917283, 196608, 1, -851747, 196608, 1, -786211, 196608, 1, -720675, 196608, 1, -655139, 196608, 1, -589603, 196608, 1, -524067, 196608, 1, -458531, 196608, 1, -392995, 196608, 1, -327459, 196608, 1, -261923, 196608, 1, -196387, 196608, 1, -130851, 196608, 1, -65315, 196608, 1, -1441570, 196608, 1, -1376034, 196608, 1, -1310498, 196608, 1, -1244962, 196608, 1, -1179426, 196608, 1, -1113890, 196608, 1, -1048354, 196608, 1, -982818, 196608, 1, -917282, 196608, 1, -851746, 196608, 1, -786210, 196608, 1, -720674, 196608, 1, -655138, 196608, 1, -589602, 196608, 1, -524066, 196608, 1, -458530, 196608, 1, -392994, 196608, 1, -327458, 196608, 1, -261922, 196608, 1, -196386, 196608, 1, -130850, 196608, 1, -65314, 196608, 1, -1441569, 196608, 1, -1376033, 196608, 1, -1310497, 196608, 1, -1244961, 196608, 1, -1179425, 196608, 1, -1113889, 196608, 1, -1048353, 196608, 1, -982817, 196608, 1, -917281, 196608, 1, -851745, 196608, 1, -786209, 196608, 1, -720673, 196608, 1, -655137, 196608, 1, -589601, 196608, 1, -524065, 196608, 1, -458529, 196608, 1, -392993, 196608, 1, -327457, 196608, 1, -261921, 196608, 1, -196385, 196608, 1, -130849, 196608, 1, -65313, 196608, 1, -1441568, 196608, 1, -1376032, 196608, 1, -1310496, 196608, 1, -1244960, 196608, 1, -1179424, 196608, 1, -1113888, 196608, 1, -1048352, 196608, 1, -982816, 196608, 1, -917280, 196608, 1, -851744, 196608, 1, -786208, 196608, 1, -720672, 196608, 1, -655136, 196608, 1, -589600, 196608, 1, -524064, 196608, 1, -458528, 196608, 1, -392992, 196608, 1, -327456, 196608, 1, -261920, 196608, 1, -196384, 196608, 1, -130848, 196608, 1, -65312, 196608, 1, 1966224, 196608, 1, 2031760, 196608, 1, 1966225, 196608, 1, 2031761, 196608, 1, 1966226, 196608, 1, 2031762, 196608, 1, 1966227, 196608, 1, 2031763, 196608, 1, 1966228, 196608, 1, 2031764, 196608, 1, 1966229, 196608, 1, 2031765, 196608, 1, 1966230, 196608, 1, 2031766, 196608, 1, 1966231, 196608, 1, 2031767, 196608, 1, 1966232, 196608, 1, 2031768, 196608, 1, 1966233, 196608, 1, 2031769, 196608, 1, 1966234, 196608, 1, 2031770, 196608, 1, 1966235, 196608, 1, 2031771, 196608, 1, 1966236, 196608, 1, 2031772, 196608, 1, 1966237, 196608, 1, 2031773, 196608, 1, 1966238, 196608, 1, 2031774, 196608, 1, 1966239, 196608, 1, 2031775, 196608, 1, 1966240, 196608, 1, 2031776, 196608, 1, 1966241, 196608, 1, 2031777, 196608, 1, 1966242, 196608, 1, 2031778, 196608, 1, 1966243, 196608, 1, 2031779, 196608, 1, 1966244, 196608, 1, 2031780, 196608, 1, 1966245, 196608, 1, 2031781, 196608, 1, 1966246, 196608, 1, 2031782, 196608, 1, 1966247, 196608, 1, 2031783, 196608, 1, 1966248, 196608, 1, 2031784, 196608, 1, 1966249, 196608, 1, 2031785, 196608, 1, 1966250, 196608, 1, 2031786, 196608, 1, 1966251, 196608, 1, 2031787, 196608, 1, 1966252, 196608, 1, 2031788, 196608, 1, 1966253, 196608, 1, 2031789, 196608, 1, 1966254, 196608, 1, 2031790, 196608, 1, 1966255, 196608, 1, 2031791, 196608, 1, 917666, 196608, 1, 983202, 196608, 1, 1048738, 196608, 1, 1114274, 196608, 1, 1179810, 196608, 1, 1245346, 196608, 1, 1310882, 196608, 1, 1376418, 196608, 1, 1441954, 196608, 1, 1507490, 196608, 1, 1573026, 196608, 1, 1638562, 196608, 1, 1704098, 196608, 1, 1769634, 196608, 1, 1835170, 196608, 1, 1900706, 196608, 1, 917667, 196608, 1, 983203, 196608, 1, 1048739, 196608, 1, 1114275, 196608, 1, 1179811, 196608, 1, 1245347, 196608, 1, 1310883, 196608, 1, 1376419, 196608, 1, 1441955, 196608, 1, 1507491, 196608, 1, 1573027, 196608, 1, 1638563, 196608, 1, 1704099, 196608, 1, 1769635, 196608, 1, 1835171, 196608, 1, 1900707, 196608, 1) -layer_4/tile_data = PackedInt32Array(-393198, 65536, 0, -327662, 65536, 0, -393197, 65536, 0, -327661, 65536, 0, -393196, 65536, 0, -327660, 65536, 0, -393195, 65536, 0, -327659, 65536, 0, -393194, 65536, 0, -327658, 65536, 0, -393193, 65536, 0, -327657, 65536, 0, -393192, 65536, 0, -327656, 65536, 0, -393191, 65536, 0, -327655, 65536, 0, -393190, 65536, 0, -327654, 65536, 0, -393189, 65536, 0, -327653, 65536, 0, -393188, 65536, 0, -327652, 65536, 0, -393187, 65536, 0, -327651, 65536, 0, -589800, 65536, 0, -524264, 65536, 0, -458728, 65536, 0, -589799, 65536, 0, -524263, 65536, 0, -458727, 65536, 0, -589798, 65536, 0, -524262, 65536, 0, -458726, 65536, 0, -589797, 65536, 0, -524261, 65536, 0, -458725, 65536, 0, -589796, 65536, 0, -524260, 65536, 0, -458724, 65536, 0, -589795, 65536, 0, -524259, 65536, 0, -458723, 65536, 0, 65541, 196611, 0, 5, 196611, 0, -65531, 327683, 1, -131067, 327683, 0, -196603, 196611, 0, -196604, 196611, 0, -196605, 196611, 0, -196606, 196611, 0, -196607, 196611, 0, -196608, 196611, 0, -131073, 196611, 0, -131074, 196611, 0, -131075, 196611, 0, -131076, 196611, 0, -65540, 196611, 0, -4, 196611, 0, -5, 196611, 0, -6, 196611, 0, -7, 196611, 0, -8, 196611, 0, -9, 196611, 0, -10, 196611, 0, -11, 196611, 0, -65547, 196611, 0, -131083, 196611, 0, -196619, 196611, 0, -196620, 196611, 0, -196621, 196611, 0, -196622, 196611, 0, -196623, 196611, 0, -196624, 196611, 0, -196625, 196611, 0, -131089, 196611, 0, -65553, 196611, 0, -17, 196611, 0, 65519, 458755, 0, 131055, 458755, 1, 196591, 196611, 0, 196592, 196611, 0, 131056, 196611, 0, 65520, 196611, 0, -16, 196611, 0, -65552, 196611, 0, -131088, 196611, 0, -131087, 196611, 0, -65551, 196611, 0, -15, 196611, 0, 65521, 196611, 0, 131057, 196611, 0, 196593, 196611, 0, 196594, 196611, 0, 131058, 196611, 0, 65522, 196611, 0, -14, 196611, 0, -65550, 196611, 0, -131086, 262147, 0, -131085, 196611, 0, -65549, 196611, 0, -13, 196611, 0, 65523, 196611, 0, 131059, 196611, 0, 196595, 196611, 0, 196596, 196611, 0, 131060, 196611, 0, 65524, 196611, 0, -12, 196611, 0, -65548, 196611, 0, -131084, 196611, 0, 65525, 262147, 0, 131061, 196611, 0, 196597, 196611, 0, 196598, 196611, 0, 131062, 196611, 0, 65526, 196611, 0, 65527, 196611, 0, 131063, 196611, 0, 196599, 196611, 0, 196600, 196611, 0, 131064, 196611, 0, 65528, 196611, 0, 65529, 196611, 0, 131065, 196611, 0, 196601, 196611, 0, 196602, 196611, 0, 131066, 196611, 0, 65530, 196611, 0, 65531, 196611, 0, 131067, 196611, 0, 196603, 196611, 0, 196604, 196611, 0, 131068, 196611, 0, 65532, 196611, 0, 65533, 196611, 0, -3, 196611, 0, -65539, 196611, 0, -65538, 196611, 0, -2, 196611, 0, 65534, 196611, 0, 131070, 196611, 0, 131069, 262147, 0, 196605, 196611, 0, 196606, 196611, 0, 196607, 196611, 0, 131071, 196611, 0, 65535, 196611, 0, -1, 196611, 0, -65537, 196611, 0, -131072, 196611, 0, -65536, 196611, 0, 0, 196611, 0, 65536, 196611, 0, 131072, 196611, 0, 131073, 196611, 0, 65537, 196611, 0, 1, 196611, 0, -65535, 196611, 0, -131071, 196611, 0, -131070, 196611, 0, -65534, 196611, 0, 2, 196611, 0, 65538, 196611, 0, 131074, 196611, 0, 131075, 458755, 1, 65539, 458755, 0, 3, 196611, 0, -65533, 196611, 0, -131069, 196611, 0, -131068, 196611, 0, -65532, 196611, 0, 4, 196611, 0, 65540, 196611, 0, 131076, 196611, 0, 131077, 196611, 0, 131078, 196611, 0, 65542, 196611, 0, 6, 196611, 0, -65530, 393219, 1, -131066, 393219, 0, -196602, 196611, 0, -196601, 196611, 0, -131065, 458755, 0, -65529, 458755, 1, 7, 196611, 0, 65543, 196611, 0, 131079, 196611, 0, 131080, 196611, 0, 65544, 196611, 0, 8, 196611, 0, -65528, 196611, 0, -131064, 196611, 0, -196600, 196611, 0, -196599, 196611, 0, -131063, 196611, 0, -65527, 196611, 0, 9, 196611, 0, 65545, 196611, 0, 131081, 196611, 0, 131082, 196611, 0, 65546, 196611, 0, 10, 196611, 0, -65526, 196611, 0, -131062, 196611, 0, -196598, 196611, 0, -196597, 327683, 2, -131061, 327683, 3, -65525, 196611, 0, 11, 196611, 0, 65547, 196611, 0, 131083, 196611, 0, 131084, 196611, 0, 65548, 196611, 0, 12, 196611, 0, -65524, 196611, 0, -131060, 393219, 3, -196596, 393219, 2, -196595, 458755, 2, -262131, 196611, 0, -327667, 196611, 0, -393203, 196611, 4, -458739, 196611, 3, -524275, 196611, 0, -589811, 196611, 0, -655347, 196611, 0, -720883, 196611, 0, -786419, 196611, 0, -851955, 196611, 0, -917491, 196611, 0, -983027, 196611, 0, -983028, 196611, 0, -983029, 262147, 0, -983030, 196611, 0, -983031, 196611, 0, -983032, 196611, 0, -983033, 196611, 0, -983034, 196611, 0, -983035, 262147, 3, -983036, 196611, 3, -983037, 458755, 0, -983038, 196611, 0, -983039, 196611, 0, -983040, 196611, 0, -917505, 196611, 0, -917506, 196611, 0, -917507, 196611, 0, -917508, 196611, 0, -917509, 196611, 0, -917510, 196611, 0, -917511, 196611, 0, -917512, 196611, 0, -917513, 196611, 0, -851977, 196611, 0, -786441, 196611, 0, -720905, 458755, 0, -655369, 458755, 1, -655368, 196611, 0, -720904, 196611, 0, -786440, 196611, 0, -851976, 196611, 0, -851975, 196611, 0, -786439, 196611, 0, -720903, 196611, 0, -655367, 196611, 0, -655366, 196611, 0, -720902, 196611, 0, -786438, 196611, 0, -851974, 196611, 0, -851973, 196611, 0, -786437, 196611, 0, -720901, 196611, 0, -655365, 196611, 0, -655364, 196611, 0, -720900, 262147, 0, -786436, 196611, 0, -851972, 196611, 0, -851971, 196611, 0, -786435, 196611, 0, -720899, 196611, 0, -655363, 196611, 0, -655362, 196611, 0, -720898, 196611, 0, -786434, 196611, 0, -851970, 196611, 0, -851969, 196611, 0, -786433, 196611, 0, -720897, 196611, 0, -655361, 196611, 0, -720896, 196611, 0, -786432, 196611, 0, -851968, 196611, 0, -917504, 196611, 0, -917503, 196611, 0, -851967, 196611, 0, -786431, 196611, 0, -720895, 196611, 0, -720894, 196611, 0, -786430, 196611, 0, -851966, 196611, 0, -917502, 196611, 0, -917501, 458755, 1, -851965, 196611, 0, -786429, 196611, 0, -720893, 196611, 0, -720892, 196611, 0, -786428, 196611, 0, -851964, 196611, 0, -917500, 196611, 4, -917499, 262147, 4, -851963, 196611, 0, -786427, 196611, 0, -720891, 196611, 0, -720890, 196611, 0, -786426, 196611, 0, -851962, 196611, 0, -917498, 196611, 0, -917497, 196611, 0, -851961, 196611, 0, -786425, 196611, 0, -720889, 196611, 0, -720888, 196611, 0, -786424, 196611, 0, -851960, 196611, 0, -917496, 196611, 0, -917495, 196611, 0, -851959, 196611, 0, -786423, 196611, 0, -720887, 196611, 0, -720886, 196611, 0, -786422, 196611, 0, -851958, 196611, 0, -917494, 196611, 0, -917493, 196611, 0, -851957, 196611, 0, -786421, 196611, 0, -720885, 196611, 0, -720884, 196611, 0, -786420, 196611, 0, -851956, 196611, 0, -917492, 196611, 0, -983026, 196611, 0, -917490, 196611, 0, -851954, 196611, 0, -786418, 196611, 0, -720882, 196611, 0, -655346, 196611, 0, -589810, 196611, 0, -524274, 196611, 0, -458738, 262147, 3, -393202, 262147, 4, -327666, 196611, 0, -262130, 196611, 0, -196594, 196611, 0, -131058, 196611, 0, -131059, 458755, 3, -65523, 196611, 0, 13, 196611, 0, 65549, 196611, 0, 131085, 196611, 0, 131086, 196611, 0, 65550, 196611, 0, 14, 196611, 0, -65522, 196611, 0, -65521, 196611, 0, -131057, 196611, 0, -196593, 196611, 0, -262129, 327683, 1, -327665, 327683, 0, -393201, 196611, 0, -458737, 196611, 0, -524273, 196611, 0, -589809, 196611, 0, -655345, 196611, 0, -720881, 196611, 0, -786417, 196611, 0, -851953, 196611, 0, -917489, 196611, 0, -983025, 196611, 0, -983024, 196611, 0, -917488, 327683, 2, -851952, 327683, 3, -786416, 196611, 0, -720880, 196611, 0, -655344, 196611, 0, -589808, 196611, 0, -524272, 196611, 0, -458736, 196611, 0, -393200, 196611, 0, -327664, 393219, 0, -262128, 393219, 1, -196592, 196611, 0, -131056, 196611, 0, -65520, 196611, 0, 16, 196611, 0, 15, 196611, 0, 65551, 196611, 0, 131087, 196611, 0, 131088, 196611, 0, 65552, 262147, 0, 65553, 196611, 0, 17, 196611, 0, -327663, 458755, 0, -393199, 196611, 0, -458735, 196611, 0, -524271, 196611, 0, -589807, 196611, 0, -655343, 262147, 2, -720879, 196611, 0, -786415, 196611, 0, -851951, 393219, 3, -917487, 393219, 2, -983023, 196611, 0, 131089, 196611, 0, 65562, 65536, 0, 65563, 65536, 0, 131099, 131072, 2, 131098, 131072, 2, 196634, 131072, 2, 196635, 131072, 2, 262171, 131072, 2, 262170, 131072, 2, 131124, 131072, 2, 196660, 131072, 2, 262196, 131072, 2, 327732, 131072, 2, 131125, 131072, 2, 196661, 131072, 2, 262197, 131072, 2, 327733, 131072, 2, -131020, 131072, 2, -65484, 131072, 2, 52, 131072, 2, 65588, 131072, 2, -131019, 131072, 2, -65483, 131072, 2, 53, 131072, 2, 65589, 131072, 2, 327693, 196611, 0, 393229, 196611, 0, 458765, 196611, 0, 524301, 196611, 0, 589837, 196611, 0, 655373, 196611, 0, 720909, 196611, 0, 786445, 196611, 0, 851981, 196611, 0, 327694, 196611, 0, 393230, 196611, 0, 458766, 196611, 0, 524302, 196611, 0, 589838, 196611, 0, 655374, 196611, 0, 720910, 196611, 0, 786446, 196611, 0, 851982, 196611, 0, 327695, 196611, 0, 393231, 196611, 0, 458767, 196611, 0, 524303, 196611, 0, 589839, 196611, 0, 655375, 196611, 0, 720911, 196611, 0, 786447, 196611, 0, 851983, 196611, 0, 327696, 196611, 0, 393232, 196611, 0, 458768, 196611, 0, 524304, 196611, 0, 589840, 196611, 0, 655376, 196611, 0, 720912, 196611, 0, 786448, 196611, 0, 851984, 196611, 0, 327697, 196611, 0, 393233, 196611, 0, 458769, 196611, 0, 524305, 196611, 0, 589841, 196611, 0, 655377, 196611, 0, 720913, 196611, 0, 786449, 196611, 0, 851985, 196611, 0, 327698, 196611, 0, 393234, 196611, 0, 458770, 196611, 0, 524306, 196611, 0, 589842, 196611, 0, 655378, 196611, 0, 720914, 196611, 0, 786450, 196611, 0, 851986, 196611, 0, 327699, 196611, 0, 393235, 196611, 0, 458771, 196611, 0, 524307, 196611, 0, 589843, 196611, 0, 655379, 196611, 0, 720915, 196611, 0, 786451, 196611, 0, 851987, 196611, 0, 327700, 196611, 0, 393236, 196611, 0, 458772, 196611, 0, 524308, 196611, 0, 589844, 196611, 0, 655380, 196611, 0, 720916, 196611, 0, 786452, 196611, 0, 851988, 196611, 0, 327701, 196611, 0, 393237, 196611, 0, 458773, 131075, 268435459, 524309, 131075, 268435460, 589845, 196611, 0, 655381, 196611, 0, 720917, 196611, 0, 786453, 196611, 0, 851989, 196611, 0, 327702, 196611, 0, 393238, 196611, 0, 458774, 65539, 268435459, 524310, 65539, 268435460, 589846, 196611, 0, 655382, 196611, 0, 720918, 196611, 0, 786454, 196611, 0, 851990, 196611, 0, 327703, 196611, 0, 393239, 196611, 0, 458775, 3, 268435459, 524311, 3, 268435460, 589847, 196611, 0, 655383, 196611, 0, 720919, 196611, 0, 786455, 196611, 0, 851991, 196611, 0, 327704, 196611, 0, 393240, 196611, 0, 458776, 196611, 0, 524312, 196611, 0, 589848, 196611, 0, 655384, 196611, 0, 720920, 196611, 0, 786456, 196611, 0, 851992, 196611, 0, 327705, 196611, 0, 393241, 196611, 0, 458777, 196611, 0, 524313, 196611, 0, 589849, 196611, 0, 655385, 196611, 0, 720921, 196611, 0, 786457, 196611, 0, 851993, 196611, 0, 327706, 131072, 0, 393242, 131072, 0, 458778, 131072, 0, 524314, 131072, 0, 589850, 131072, 0, 655386, 131072, 0, 720922, 131072, 0, 786458, 196611, 0, 851994, 196611, 0, 327707, 131072, 0, 393243, 131072, 0, 458779, 131072, 0, 524315, 131072, 0, 589851, 131072, 0, 655387, 131072, 0, 720923, 131072, 0, 786459, 196611, 0, 851995, 196611, 0, 327708, 196611, 0, 393244, 196611, 0, 458780, 196611, 0, 524316, 327683, 2, 589852, 327683, 3, 655388, 196611, 0, 720924, 196611, 0, 786460, 196611, 0, 851996, 196611, 0, 327709, 196611, 0, 393245, 196611, 0, 458781, 196611, 0, 524317, 393219, 2, 589853, 393219, 3, 655389, 196611, 0, 720925, 196611, 0, 786461, 196611, 0, 851997, 196611, 0, 327710, 196611, 0, 393246, 196611, 0, 458782, 196611, 0, 524318, 458755, 2, 589854, 458755, 3, 655390, 196611, 0, 720926, 196611, 0, 786462, 196611, 0, 851998, 196611, 0, 327711, 196611, 0, 393247, 196611, 0, 458783, 196611, 0, 524319, 196611, 0, 589855, 196611, 0, 655391, 196611, 0, 720927, 196611, 0, 786463, 196611, 0, 851999, 196611, 0, 327712, 196611, 0, 393248, 196611, 0, 458784, 196611, 0, 524320, 196611, 0, 589856, 196611, 0, 655392, 196611, 0, 720928, 196611, 0, 786464, 196611, 0, 852000, 196611, 0, 327713, 196611, 0, 393249, 196611, 0, 458785, 196611, 0, 524321, 196611, 0, 589857, 196611, 0, 655393, 196611, 0, 720929, 196611, 0, 786465, 196611, 0, 852001, 196611, 0, 327714, 196611, 0, 393250, 196611, 0, 458786, 196611, 0, 524322, 196611, 0, 589858, 196611, 0, 655394, 196611, 0, 720930, 196611, 0, 786466, 196611, 0, 852002, 196611, 0, 327715, 196611, 0, 393251, 196611, 0, 458787, 196611, 0, 524323, 196611, 0, 589859, 196611, 0, 655395, 196611, 0, 720931, 196611, 0, 786467, 196611, 0, 852003, 196611, 0, 327716, 196611, 0, 393252, 196611, 0, 458788, 196611, 0, 524324, 196611, 0, 589860, 196611, 0, 655396, 196611, 0, 720932, 196611, 0, 786468, 196611, 0, 852004, 196611, 0, 327717, 196611, 0, 393253, 196611, 0, 458789, 196611, 0, 524325, 196611, 0, 589861, 196611, 0, 655397, 196611, 0, 720933, 196611, 0, 786469, 196611, 0, 852005, 196611, 0, 327718, 196611, 0, 393254, 196611, 0, 458790, 196611, 0, 524326, 196611, 0, 589862, 196611, 0, 655398, 196611, 0, 720934, 196611, 0, 786470, 196611, 0, 852006, 196611, 0, 327719, 196611, 0, 393255, 196611, 0, 458791, 196611, 0, 524327, 196611, 0, 589863, 196611, 0, 655399, 196611, 0, 720935, 196611, 0, 786471, 196611, 0, 852007, 196611, 0, 327720, 196611, 0, 393256, 196611, 0, 458792, 196611, 0, 524328, 196611, 0, 589864, 196611, 0, 655400, 196611, 0, 720936, 196611, 0, 786472, 196611, 0, 852008, 196611, 0, 458735, 196611, 0, 524271, 196611, 0, 589807, 196611, 0, 655343, 196611, 0, 720879, 196611, 0, 786415, 196611, 0, 851951, 196611, 0, 917487, 196611, 0, 458736, 196611, 0, 524272, 196611, 0, 589808, 196611, 0, 655344, 196611, 0, 720880, 196611, 0, 786416, 196611, 0, 851952, 196611, 0, 917488, 196611, 0, 458737, 196611, 0, 524273, 196611, 0, 589809, 196611, 0, 655345, 196611, 0, 720881, 196611, 0, 786417, 196611, 0, 851953, 196611, 0, 917489, 196611, 0, 458738, 196611, 0, 524274, 196611, 0, 589810, 196611, 0, 655346, 196611, 0, 720882, 196611, 0, 786418, 327683, 1342177283, 851954, 393219, 1342177283, 917490, 458755, 1342177283, 458739, 196611, 0, 524275, 196611, 0, 589811, 196611, 0, 655347, 196611, 0, 720883, 196611, 0, 786419, 327683, 1342177282, 851955, 393219, 1342177282, 917491, 458755, 1342177282, 458740, 196611, 0, 524276, 196611, 0, 589812, 196611, 0, 655348, 196611, 0, 720884, 196611, 0, 786420, 196611, 0, 851956, 196611, 0, 917492, 196611, 0, 458741, 196611, 0, 524277, 196611, 0, 589813, 196611, 0, 655349, 196611, 0, 720885, 196611, 0, 786421, 196611, 0, 851957, 196611, 0, 917493, 196611, 0, 458742, 196611, 0, 524278, 196611, 0, 589814, 196611, 0, 655350, 196611, 0, 720886, 196611, 0, 786422, 196611, 0, 851958, 196611, 0, 917494, 196611, 0, 458743, 196611, 0, 524279, 196611, 0, 589815, 196611, 0, 655351, 196611, 0, 720887, 196611, 0, 786423, 196611, 0, 851959, 196611, 0, 917495, 196611, 0, 458744, 196611, 0, 524280, 196611, 0, 589816, 196611, 0, 655352, 196611, 0, 720888, 196611, 0, 786424, 196611, 0, 851960, 196611, 0, 917496, 196611, 0, 458745, 196611, 0, 524281, 196611, 0, 589817, 196611, 0, 655353, 196611, 0, 720889, 196611, 0, 786425, 196611, 0, 851961, 196611, 0, 917497, 196611, 0, 458746, 196611, 0, 524282, 196611, 0, 589818, 196611, 0, 655354, 196611, 0, 720890, 196611, 0, 786426, 196611, 0, 851962, 196611, 0, 917498, 196611, 0, 458747, 196611, 0, 524283, 196611, 0, 589819, 196611, 0, 655355, 196611, 0, 720891, 196611, 0, 786427, 196611, 0, 851963, 196611, 0, 917499, 196611, 0, 458748, 196611, 0, 524284, 196611, 0, 589820, 196611, 0, 655356, 196611, 0, 720892, 196611, 0, 786428, 196611, 0, 851964, 196611, 0, 917500, 196611, 0, 458749, 196611, 0, 524285, 196611, 0, 589821, 196611, 0, 655357, 196611, 0, 720893, 196611, 0, 786429, 196611, 0, 851965, 196611, 0, 917501, 196611, 0, 458750, 196611, 0, 524286, 196611, 0, 589822, 196611, 0, 655358, 196611, 0, 720894, 196611, 0, 786430, 196611, 0, 851966, 196611, 0, 917502, 196611, 0, 458751, 196611, 0, 524287, 196611, 0, 589823, 196611, 0, 655359, 196611, 0, 720895, 196611, 0, 786431, 196611, 0, 851967, 196611, 0, 917503, 196611, 0, 393216, 196611, 0, 458752, 196611, 0, 524288, 196611, 0, 589824, 196611, 0, 655360, 196611, 0, 720896, 196611, 0, 786432, 196611, 0, 851968, 196611, 0, 393217, 196611, 0, 458753, 196611, 0, 524289, 196611, 0, 589825, 196611, 0, 655361, 196611, 0, 720897, 196611, 0, 786433, 196611, 0, 851969, 196611, 0, 393218, 196611, 0, 458754, 196611, 0, 524290, 196611, 0, 589826, 196611, 0, 655362, 196611, 0, 720898, 196611, 0, 786434, 196611, 0, 851970, 196611, 0, 393219, 196611, 0, 458755, 196611, 0, 524291, 196611, 0, 589827, 196611, 0, 655363, 196611, 0, 720899, 196611, 0, 786435, 196611, 0, 851971, 196611, 0, 393220, 196611, 0, 458756, 196611, 0, 524292, 196611, 0, 589828, 196611, 0, 655364, 196611, 0, 720900, 196611, 0, 786436, 196611, 0, 851972, 196611, 0, 393221, 196611, 0, 458757, 196611, 0, 524293, 196611, 0, 589829, 196611, 0, 655365, 196611, 0, 720901, 196611, 0, 786437, 196611, 0, 851973, 196611, 0, 393222, 196611, 0, 458758, 196611, 0, 524294, 196611, 0, 589830, 196611, 0, 655366, 196611, 0, 720902, 196611, 0, 786438, 196611, 0, 851974, 196611, 0, 393223, 196611, 0, 458759, 196611, 0, 524295, 196611, 0, 589831, 196611, 0, 655367, 196611, 0, 720903, 196611, 0, 786439, 196611, 0, 851975, 196611, 0, 393224, 196611, 0, 458760, 196611, 0, 524296, 196611, 0, 589832, 196611, 0, 655368, 196611, 0, 720904, 196611, 0, 786440, 196611, 0, 851976, 196611, 0, 393225, 196611, 0, 458761, 196611, 0, 524297, 196611, 0, 589833, 196611, 0, 655369, 196611, 0, 720905, 196611, 0, 786441, 196611, 0, 851977, 196611, 0, 393226, 196611, 0, 458762, 196611, 0, 524298, 196611, 0, 589834, 196611, 0, 655370, 196611, 0, 720906, 196611, 0, 786442, 196611, 0, 851978, 196611, 0, 393227, 196611, 0, 458763, 196611, 0, 524299, 196611, 0, 589835, 196611, 0, 655371, 196611, 0, 720907, 196611, 0, 786443, 196611, 0, 851979, 196611, 0, 393228, 196611, 0, 458764, 196611, 0, 524300, 196611, 0, 589836, 196611, 0, 655372, 196611, 0, 720908, 196611, 0, 786444, 196611, 0, 851980, 196611, 0, 917521, 196611, 0, 983057, 196611, 0, 1048593, 196611, 0, 1114129, 196611, 0, 1179665, 196611, 0, 1245201, 196611, 0, 1310737, 196611, 0, 1376273, 196611, 0, 1441809, 196611, 0, 1507345, 196611, 0, 1572881, 196611, 0, 1638417, 196611, 0, 1703953, 196611, 0, 917522, 196611, 0, 983058, 196611, 0, 1048594, 196611, 0, 1114130, 196611, 0, 1179666, 196611, 0, 1245202, 196611, 0, 1310738, 196611, 0, 1376274, 196611, 0, 1441810, 196611, 0, 1507346, 196611, 0, 1572882, 196611, 0, 1638418, 196611, 0, 1703954, 196611, 0, 917523, 196611, 0, 983059, 196611, 0, 1048595, 196611, 0, 1114131, 196611, 0, 1179667, 196611, 0, 1245203, 196611, 0, 1310739, 196611, 0, 1376275, 196611, 0, 1441811, 196611, 0, 1507347, 196611, 0, 1572883, 196611, 0, 1638419, 196611, 0, 1703955, 196611, 0, 917524, 196611, 0, 983060, 196611, 0, 1048596, 196611, 0, 1114132, 196611, 0, 1179668, 196611, 0, 1245204, 196611, 0, 1310740, 196611, 0, 1376276, 196611, 0, 1441812, 196611, 0, 1507348, 196611, 0, 1572884, 196611, 0, 1638420, 196611, 0, 1703956, 196611, 0, 917525, 196611, 0, 983061, 196611, 0, 1048597, 196611, 0, 1114133, 196611, 0, 1179669, 196611, 0, 1245205, 196611, 0, 1310741, 196611, 0, 1376277, 196611, 0, 1441813, 196611, 0, 1507349, 196611, 0, 1572885, 196611, 0, 1638421, 196611, 0, 1703957, 196611, 0, 917526, 196611, 0, 983062, 196611, 0, 1048598, 196611, 0, 1114134, 196611, 0, 1179670, 196611, 0, 1245206, 196611, 0, 1310742, 196611, 0, 1376278, 196611, 0, 1441814, 196611, 0, 1507350, 196611, 0, 1572886, 196611, 0, 1638422, 196611, 0, 1703958, 196611, 0, 917527, 196611, 0, 983063, 196611, 0, 1048599, 196611, 0, 1114135, 196611, 0, 1179671, 196611, 0, 1245207, 196611, 0, 1310743, 196611, 0, 1376279, 196611, 0, 1441815, 196611, 0, 1507351, 196611, 0, 1572887, 196611, 0, 1638423, 196611, 0, 1703959, 196611, 0, 917528, 196611, 0, 983064, 196611, 0, 1048600, 196611, 0, 1114136, 196611, 0, 1179672, 196611, 0, 1245208, 196611, 0, 1310744, 196611, 0, 1376280, 196611, 0, 1441816, 196611, 0, 1507352, 196611, 0, 1572888, 196611, 0, 1638424, 196611, 0, 1703960, 196611, 0, 917529, 196611, 0, 983065, 196611, 0, 1048601, 196611, 0, 1114137, 196611, 0, 1179673, 196611, 0, 1245209, 196611, 0, 1310745, 196611, 0, 1376281, 196611, 0, 1441817, 196611, 0, 1507353, 196611, 0, 1572889, 196611, 0, 1638425, 196611, 0, 1703961, 196611, 0, 917530, 196611, 0, 983066, 196611, 0, 1048602, 196611, 0, 1114138, 196611, 0, 1179674, 196611, 0, 1245210, 196611, 0, 1310746, 196611, 0, 1376282, 196611, 0, 1441818, 196611, 3, 1507354, 196611, 4, 1572890, 196611, 0, 1638426, 196611, 0, 1703962, 196611, 0, 917531, 196611, 0, 983067, 196611, 0, 1048603, 196611, 0, 1114139, 196611, 0, 1179675, 196611, 0, 1245211, 196611, 0, 1310747, 196611, 0, 1376283, 196611, 0, 1441819, 262147, 3, 1507355, 262147, 4, 1572891, 196611, 0, 1638427, 196611, 0, 1703963, 196611, 0, 917532, 196611, 0, 983068, 196611, 0, 1048604, 196611, 0, 1114140, 196611, 0, 1179676, 196611, 0, 1245212, 196611, 0, 1310748, 196611, 0, 1376284, 196611, 0, 1441820, 196611, 0, 1507356, 196611, 0, 1572892, 196611, 0, 1638428, 196611, 0, 1703964, 196611, 0, 917533, 196611, 0, 983069, 196611, 0, 1048605, 196611, 0, 1114141, 196611, 0, 1179677, 196611, 0, 1245213, 196611, 0, 1310749, 196611, 0, 1376285, 196611, 0, 1441821, 196611, 0, 1507357, 196611, 0, 1572893, 196611, 0, 1638429, 196611, 0, 1703965, 196611, 0, 917534, 196611, 0, 983070, 196611, 0, 1048606, 196611, 0, 1114142, 196611, 0, 1179678, 196611, 0, 1245214, 196611, 0, 1310750, 196611, 0, 1376286, 196611, 0, 1441822, 196611, 0, 1507358, 196611, 0, 1572894, 196611, 0, 1638430, 196611, 0, 1703966, 196611, 0, 917535, 196611, 0, 983071, 196611, 0, 1048607, 196611, 0, 1114143, 196611, 0, 1179679, 196611, 0, 1245215, 196611, 0, 1310751, 196611, 0, 1376287, 196611, 0, 1441823, 196611, 0, 1507359, 196611, 0, 1572895, 196611, 0, 1638431, 196611, 0, 1703967, 196611, 0, 917536, 196611, 0, 983072, 196611, 0, 1048608, 196611, 0, 1114144, 196611, 0, 1179680, 196611, 0, 1245216, 196611, 0, 1310752, 196611, 0, 1376288, 196611, 0, 1441824, 196611, 0, 1507360, 196611, 0, 1572896, 196611, 0, 1638432, 196611, 0, 1703968, 196611, 0, 917537, 196611, 0, 983073, 196611, 0, 1048609, 196611, 0, 1114145, 196611, 0, 1179681, 196611, 0, 1245217, 196611, 0, 1310753, 196611, 0, 1376289, 196611, 0, 1441825, 196611, 0, 1507361, 196611, 0, 1572897, 196611, 0, 1638433, 196611, 0, 1703969, 196611, 0, 917538, 196611, 0, 983074, 196611, 0, 1048610, 196611, 0, 1114146, 196611, 0, 1179682, 196611, 0, 1245218, 196611, 0, 1310754, 196611, 0, 1376290, 196611, 0, 1441826, 196611, 0, 1507362, 196611, 0, 1572898, 196611, 0, 1638434, 196611, 0, 1703970, 196611, 0, 917539, 196611, 0, 983075, 196611, 0, 1048611, 196611, 0, 1114147, 196611, 0, 1179683, 196611, 0, 1245219, 196611, 0, 1310755, 196611, 0, 1376291, 196611, 0, 1441827, 196611, 0, 1507363, 196611, 0, 1572899, 196611, 0, 1638435, 196611, 0, 1703971, 196611, 0, 917540, 196611, 0, 983076, 196611, 0, 1048612, 196611, 0, 1114148, 196611, 0, 1179684, 196611, 0, 1245220, 196611, 0, 1310756, 196611, 0, 1376292, 196611, 0, 1441828, 196611, 0, 1507364, 196611, 0, 1572900, 196611, 0, 1638436, 196611, 0, 1703972, 196611, 0, 917541, 196611, 0, 983077, 196611, 0, 1048613, 196611, 0, 1114149, 196611, 0, 1179685, 196611, 0, 1245221, 196611, 0, 1310757, 196611, 0, 1376293, 196611, 0, 1441829, 196611, 0, 1507365, 196611, 0, 1572901, 196611, 0, 1638437, 196611, 0, 1703973, 196611, 0, 917542, 196611, 0, 983078, 196611, 0, 1048614, 196611, 0, 1114150, 196611, 0, 1179686, 196611, 0, 1245222, 196611, 0, 1310758, 196611, 0, 1376294, 196611, 0, 1441830, 196611, 0, 1507366, 196611, 0, 1572902, 196611, 0, 1638438, 196611, 0, 1703974, 196611, 0, -917480, 196611, 0, -851944, 196611, 0, -786408, 196611, 0, -720872, 196611, 0, -655336, 196611, 0, -917479, 196611, 0, -851943, 196611, 0, -786407, 196611, 0, -720871, 196611, 0, -655335, 196611, 0, -917478, 196611, 0, -851942, 196611, 0, -786406, 196611, 0, -720870, 196611, 0, -655334, 196611, 0, -917477, 196611, 0, -851941, 196611, 0, -786405, 196611, 0, -720869, 196611, 0, -655333, 196611, 0, -917476, 196611, 0, -851940, 196611, 0, -786404, 196611, 0, -720868, 196611, 0, -655332, 196611, 0, -917475, 196611, 0, -851939, 196611, 0, -786403, 196611, 0, -720867, 196611, 0, -655331, 196611, 0, -917474, 196611, 0, -851938, 196611, 0, -786402, 196611, 0, -720866, 196611, 0, -655330, 196611, 0, -917473, 196611, 0, -851937, 196611, 0, -786401, 196611, 0, -720865, 196611, 0, -655329, 196611, 0, -917472, 196611, 0, -851936, 196611, 0, -786400, 196611, 0, -720864, 196611, 0, -655328, 196611, 0, -917471, 196611, 0, -851935, 196611, 0, -786399, 196611, 0, -720863, 196611, 0, -655327, 196611, 0, -917470, 196611, 0, -851934, 196611, 0, -786398, 196611, 0, -720862, 196611, 0, -655326, 196611, 0, -1507304, 196611, 0, -1441768, 196611, 0, -1376232, 196611, 0, -1310696, 196611, 0, -1245160, 196611, 0, -1179624, 196611, 0, -1114088, 196611, 0, -1048552, 196611, 0, -983016, 196611, 0, -1507303, 196611, 0, -1441767, 196611, 0, -1376231, 196611, 0, -1310695, 196611, 0, -1245159, 196611, 0, -1179623, 196611, 0, -1114087, 196611, 0, -1048551, 196611, 0, -983015, 196611, 0, -1507302, 196611, 0, -1441766, 196611, 0, -1376230, 196611, 0, -1310694, 196611, 0, -1245158, 196611, 0, -1179622, 196611, 0, -1114086, 196611, 0, -1048550, 196611, 0, -983014, 196611, 0, -1507301, 196611, 0, -1441765, 196611, 0, -1376229, 196611, 0, -1310693, 196611, 0, -1245157, 196611, 0, -1179621, 196611, 0, -1114085, 196611, 0, -1048549, 196611, 0, -983013, 196611, 0, -1507300, 196611, 0, -1441764, 196611, 0, -1376228, 196611, 0, -1310692, 196611, 0, -1245156, 196611, 0, -1179620, 196611, 0, -1114084, 196611, 0, -1048548, 196611, 0, -983012, 196611, 0, -1507299, 196611, 0, -1441763, 196611, 0, -1376227, 196611, 0, -1310691, 196611, 0, -1245155, 196611, 0, -1179619, 196611, 0, -1114083, 196611, 0, -1048547, 196611, 0, -983011, 196611, 0, -1507298, 196611, 0, -1441762, 196611, 0, -1376226, 196611, 0, -1310690, 196611, 0, -1245154, 196611, 0, -1179618, 196611, 0, -1114082, 196611, 0, -1048546, 196611, 0, -983010, 196611, 0, -1507297, 196611, 0, -1441761, 196611, 0, -1376225, 196611, 0, -1310689, 196611, 0, -1245153, 196611, 0, -1179617, 196611, 0, -1114081, 196611, 0, -1048545, 196611, 0, -983009, 196611, 0, -1507296, 196611, 0, -1441760, 196611, 0, -1376224, 196611, 0, -1310688, 196611, 0, -1245152, 196611, 0, -1179616, 196611, 0, -1114080, 196611, 0, -1048544, 196611, 0, -983008, 196611, 0, -1507295, 196611, 0, -1441759, 196611, 0, -1376223, 196611, 0, -1310687, 196611, 0, -1245151, 196611, 0, -1179615, 196611, 0, -1114079, 196611, 0, -1048543, 196611, 0, -983007, 196611, 0, -1507294, 196611, 0, -1441758, 196611, 0, -1376222, 196611, 0, -1310686, 196611, 0, -1245150, 196611, 0, -1179614, 196611, 0, -1114078, 196611, 0, -1048542, 196611, 0, -983006, 196611, 0, -1507293, 196611, 0, -1441757, 196611, 0, -1376221, 196611, 0, -1310685, 196611, 0, -1245149, 196611, 0, -1179613, 196611, 0, -1114077, 196611, 0, -1048541, 196611, 0, -983005, 196611, 0, -917469, 196611, 0, -851933, 196611, 0, -786397, 196611, 0, -720861, 196611, 0, -655325, 196611, 0, -1507292, 196611, 0, -1441756, 196611, 0, -1376220, 196611, 0, -1310684, 196611, 0, -1245148, 196611, 0, -1179612, 196611, 0, -1114076, 196611, 0, -1048540, 196611, 0, -983004, 196611, 0, -917468, 196611, 0, -851932, 196611, 0, -786396, 196611, 0, -720860, 196611, 0, -655324, 196611, 0, -1507291, 196611, 0, -1441755, 196611, 0, -1376219, 196611, 0, -1310683, 196611, 0, -1245147, 196611, 0, -1179611, 196611, 0, -1114075, 196611, 0, -1048539, 196611, 0, -983003, 196611, 0, -917467, 196611, 0, -851931, 196611, 0, -786395, 196611, 0, -720859, 196611, 0, -655323, 196611, 0, -1507290, 196611, 0, -1441754, 196611, 0, -1376218, 196611, 0, -1310682, 196611, 0, -1245146, 196611, 0, -1179610, 196611, 0, -1114074, 196611, 0, -1048538, 196611, 0, -983002, 196611, 0, -917466, 196611, 0, -851930, 196611, 0, -786394, 196611, 0, -720858, 196611, 0, -655322, 196611, 0, -1507289, 196611, 0, -1441753, 196611, 0, -1376217, 196611, 0, -1310681, 196611, 0, -1245145, 196611, 0, -1179609, 196611, 0, -1114073, 196611, 0, -1048537, 196611, 0, -983001, 196611, 0, -917465, 196611, 0, -851929, 196611, 0, -786393, 196611, 0, -720857, 196611, 0, -655321, 196611, 0, -1507288, 196611, 0, -1441752, 196611, 0, -1376216, 196611, 0, -1310680, 196611, 0, -1245144, 196611, 0, -1179608, 196611, 0, -1114072, 196611, 0, -1048536, 196611, 0, -983000, 196611, 0, -917464, 196611, 0, -851928, 196611, 0, -786392, 196611, 0, -720856, 196611, 0, -655320, 196611, 0, -1507287, 196611, 0, -1441751, 196611, 0, -1376215, 196611, 0, -1310679, 196611, 0, -1245143, 196611, 0, -1179607, 196611, 0, -1114071, 196611, 0, -1048535, 196611, 0, -982999, 196611, 0, -917463, 196611, 0, -851927, 196611, 0, -786391, 196611, 0, -720855, 196611, 0, -655319, 196611, 0, -1507286, 196611, 0, -1441750, 196611, 0, -1376214, 196611, 0, -1310678, 196611, 0, -1245142, 196611, 0, -1179606, 196611, 0, -1114070, 196611, 0, -1048534, 196611, 0, -982998, 196611, 0, -917462, 196611, 0, -851926, 196611, 0, -786390, 196611, 0, -720854, 196611, 0, -655318, 196611, 0, -1507285, 196611, 0, -1441749, 196611, 0, -1376213, 196611, 0, -1310677, 196611, 0, -1245141, 196611, 0, -1179605, 196611, 0, -1114069, 196611, 0, -1048533, 196611, 0, -982997, 196611, 0, -917461, 196611, 0, -851925, 196611, 0, -786389, 196611, 0, -720853, 196611, 0, -655317, 196611, 0, -1507284, 196611, 0, -1441748, 196611, 0, -1376212, 196611, 0, -1310676, 196611, 0, -1245140, 196611, 0, -1179604, 196611, 0, -1114068, 196611, 0, -1048532, 196611, 0, -982996, 196611, 0, -917460, 196611, 0, -851924, 196611, 0, -786388, 196611, 0, -720852, 196611, 0, -655316, 196611, 0, -1507283, 196611, 0, -1441747, 196611, 0, -1376211, 196611, 0, -1310675, 196611, 0, -1245139, 196611, 0, -1179603, 196611, 0, -1114067, 196611, 0, -1048531, 196611, 0, -982995, 196611, 0, -917459, 196611, 0, -851923, 196611, 0, -786387, 196611, 0, -720851, 196611, 0, -655315, 196611, 0, -1507282, 196611, 0, -1441746, 196611, 0, -1376210, 196611, 0, -1310674, 196611, 0, -1245138, 196611, 0, -1179602, 196611, 0, -1114066, 196611, 0, -1048530, 196611, 0, -982994, 196611, 0, -917458, 196611, 0, -851922, 196611, 0, -786386, 196611, 0, -720850, 196611, 0, -655314, 196611, 0, -1507281, 196611, 0, -1441745, 196611, 0, -1376209, 196611, 0, -1310673, 196611, 0, -1245137, 196611, 0, -1179601, 196611, 0, -1114065, 196611, 0, -1048529, 196611, 0, -982993, 196611, 0, -917457, 196611, 0, -851921, 196611, 0, -786385, 196611, 0, -720849, 196611, 0, -655313, 196611, 0, -1507280, 196611, 0, -1441744, 196611, 0, -1376208, 196611, 0, -1310672, 196611, 0, -1245136, 196611, 0, -1179600, 196611, 0, -1114064, 196611, 0, -1048528, 196611, 0, -982992, 196611, 0, -917456, 196611, 0, -851920, 196611, 0, -786384, 196611, 0, -720848, 196611, 0, -655312, 196611, 0, -1507279, 196611, 0, -1441743, 196611, 0, -1376207, 196611, 0, -1310671, 196611, 0, -1245135, 196611, 0, -1179599, 196611, 0, -1114063, 196611, 0, -1048527, 196611, 0, -982991, 196611, 0, -917455, 196611, 0, -851919, 196611, 0, -786383, 196611, 0, -720847, 196611, 0, -655311, 196611, 0, -1507278, 196611, 0, -1441742, 196611, 0, -1376206, 196611, 0, -1310670, 196611, 0, -1245134, 196611, 0, -1179598, 196611, 0, -1114062, 196611, 0, -1048526, 196611, 0, -982990, 196611, 0, -917454, 196611, 0, -851918, 196611, 0, -786382, 196611, 0, -720846, 196611, 0, -655310, 196611, 0, -1507277, 196611, 0, -1441741, 196611, 0, -1376205, 196611, 0, -1310669, 196611, 0, -1245133, 196611, 0, -1179597, 196611, 0, -1114061, 196611, 0, -1048525, 196611, 0, -982989, 196611, 0, -917453, 196611, 0, -851917, 196611, 0, -786381, 196611, 0, -720845, 196611, 0, -655309, 196611, 0, -1507276, 196611, 0, -1441740, 196611, 0, -1376204, 196611, 0, -1310668, 196611, 0, -1245132, 196611, 0, -1179596, 196611, 0, -1114060, 196611, 0, -1048524, 196611, 0, -982988, 196611, 0, -917452, 196611, 0, -851916, 196611, 0, -786380, 196611, 0, -720844, 196611, 0, -655308, 196611, 0, -1507275, 196611, 0, -1441739, 196611, 0, -1376203, 196611, 0, -1310667, 196611, 0, -1245131, 196611, 0, -1179595, 196611, 0, -1114059, 196611, 0, -1048523, 196611, 0, -982987, 196611, 0, -917451, 196611, 0, -851915, 196611, 0, -786379, 196611, 0, -720843, 196611, 0, -655307, 196611, 0, -1507274, 196611, 0, -1441738, 196611, 0, -1376202, 196611, 0, -1310666, 196611, 0, -1245130, 196611, 0, -1179594, 196611, 0, -1114058, 196611, 0, -1048522, 196611, 0, -982986, 196611, 0, -917450, 196611, 0, -851914, 196611, 0, -786378, 196611, 0, -720842, 196611, 0, -655306, 196611, 0, -1507273, 196611, 0, -1441737, 196611, 0, -1376201, 196611, 0, -1310665, 196611, 0, -1245129, 196611, 0, -1179593, 196611, 0, -1114057, 196611, 0, -1048521, 196611, 0, -982985, 196611, 0, -917449, 196611, 0, -851913, 196611, 0, -786377, 196611, 0, -720841, 196611, 0, -655305, 196611, 0, -1507272, 196611, 0, -1441736, 196611, 0, -1376200, 196611, 0, -1310664, 196611, 0, -1245128, 196611, 0, -1179592, 196611, 0, -1114056, 196611, 0, -1048520, 196611, 0, -982984, 196611, 0, -917448, 196611, 0, -851912, 196611, 0, -786376, 196611, 0, -720840, 196611, 0, -655304, 196611, 0, -1507271, 196611, 0, -1441735, 196611, 0, -1376199, 196611, 0, -1310663, 196611, 0, -1245127, 196611, 0, -1179591, 196611, 0, -1114055, 196611, 0, -1048519, 196611, 0, -982983, 196611, 0, -917447, 196611, 0, -851911, 196611, 0, -786375, 196611, 0, -720839, 196611, 0, -655303, 196611, 0, -1507270, 196611, 0, -1441734, 196611, 0, -1376198, 196611, 0, -1310662, 196611, 0, -1245126, 196611, 0, -1179590, 196611, 0, -1114054, 196611, 0, -1048518, 196611, 0, -982982, 196611, 0, -917446, 196611, 0, -851910, 196611, 0, -786374, 196611, 0, -720838, 196611, 0, -655302, 196611, 0, -1507269, 196611, 0, -1441733, 196611, 0, -1376197, 196611, 0, -1310661, 196611, 0, -1245125, 196611, 0, -1179589, 196611, 0, -1114053, 196611, 0, -1048517, 196611, 0, -982981, 196611, 0, -917445, 196611, 0, -851909, 196611, 0, -786373, 196611, 0, -720837, 196611, 0, -655301, 196611, 0, -1507268, 196611, 0, -1441732, 196611, 0, -1376196, 196611, 0, -1310660, 196611, 0, -1245124, 196611, 0, -1179588, 196611, 0, -1114052, 196611, 0, -1048516, 196611, 0, -982980, 196611, 0, -917444, 196611, 0, -851908, 196611, 0, -786372, 196611, 0, -720836, 196611, 0, -655300, 196611, 0, -1507267, 196611, 0, -1441731, 196611, 0, -1376195, 196611, 0, -1310659, 196611, 0, -1245123, 196611, 0, -1179587, 196611, 0, -1114051, 196611, 0, -1048515, 196611, 0, -982979, 196611, 0, -917443, 196611, 0, -851907, 196611, 0, -786371, 196611, 0, -720835, 196611, 0, -655299, 196611, 0, -1507266, 196611, 0, -1441730, 196611, 0, -1376194, 196611, 0, -1310658, 196611, 0, -1245122, 196611, 0, -1179586, 196611, 0, -1114050, 196611, 0, -1048514, 196611, 0, -982978, 196611, 0, -917442, 196611, 0, -851906, 196611, 0, -786370, 196611, 0, -720834, 196611, 0, -655298, 196611, 0, -1507265, 196611, 0, -1441729, 196611, 0, -1376193, 196611, 0, -1310657, 196611, 0, -1245121, 196611, 0, -1179585, 196611, 0, -1114049, 196611, 0, -1048513, 196611, 0, -982977, 196611, 0, -917441, 196611, 0, -851905, 196611, 0, -786369, 196611, 0, -720833, 196611, 0, -655297, 196611, 0, -1507264, 196611, 0, -1441728, 196611, 0, -1376192, 196611, 0, -1310656, 196611, 0, -1245120, 196611, 0, -1179584, 196611, 0, -1114048, 196611, 0, -1048512, 196611, 0, -982976, 196611, 0, -917440, 196611, 0, -851904, 196611, 0, -786368, 196611, 0, -720832, 196611, 0, -655296, 196611, 0, -1507263, 196611, 0, -1441727, 196611, 0, -1376191, 196611, 0, -1310655, 196611, 0, -1245119, 196611, 0, -1179583, 196611, 0, -1114047, 196611, 0, -1048511, 196611, 0, -982975, 196611, 0, -917439, 196611, 0, -851903, 196611, 0, -786367, 196611, 0, -720831, 196611, 0, -655295, 196611, 0, -1507262, 196611, 0, -1441726, 196611, 0, -1376190, 196611, 0, -1310654, 196611, 0, -1245118, 196611, 0, -1179582, 196611, 0, -1114046, 196611, 0, -1048510, 196611, 0, -982974, 196611, 0, -917438, 196611, 0, -851902, 196611, 0, -786366, 196611, 0, -720830, 196611, 0, -655294, 196611, 0, -1507261, 196611, 0, -1441725, 196611, 0, -1376189, 196611, 0, -1310653, 196611, 0, -1245117, 196611, 0, -1179581, 196611, 0, -1114045, 196611, 0, -1048509, 196611, 0, -982973, 196611, 0, -917437, 196611, 0, -851901, 196611, 0, -786365, 196611, 0, -720829, 196611, 0, -655293, 196611, 0, -1507260, 196611, 0, -1441724, 196611, 0, -1376188, 196611, 0, -1310652, 196611, 0, -1245116, 196611, 0, -1179580, 196611, 0, -1114044, 196611, 0, -1048508, 196611, 0, -982972, 196611, 0, -917436, 196611, 0, -851900, 196611, 0, -786364, 196611, 0, -720828, 196611, 0, -655292, 196611, 0, -1507259, 196611, 0, -1441723, 196611, 0, -1376187, 196611, 0, -1310651, 196611, 0, -1245115, 196611, 0, -1179579, 196611, 0, -1114043, 196611, 0, -1048507, 196611, 0, -982971, 196611, 0, -917435, 196611, 0, -851899, 196611, 0, -786363, 196611, 0, -720827, 196611, 0, -655291, 196611, 0, -1507258, 196611, 0, -1441722, 196611, 0, -1376186, 196611, 0, -1310650, 196611, 0, -1245114, 196611, 0, -1179578, 196611, 0, -1114042, 196611, 0, -1048506, 196611, 0, -982970, 196611, 0, -917434, 196611, 0, -851898, 196611, 0, -786362, 196611, 0, -720826, 196611, 0, -655290, 196611, 0, -2293736, 196611, 0, -2228200, 196611, 0, -2162664, 196611, 0, -2097128, 196611, 0, -2031592, 196611, 0, -1966056, 196611, 0, -1900520, 196611, 0, -1834984, 196611, 0, -1769448, 196611, 0, -1703912, 196611, 0, -1638376, 196611, 0, -1572840, 196611, 0, -2293735, 196611, 0, -2228199, 196611, 0, -2162663, 196611, 0, -2097127, 196611, 0, -2031591, 196611, 0, -1966055, 196611, 0, -1900519, 196611, 0, -1834983, 196611, 0, -1769447, 196611, 0, -1703911, 196611, 0, -1638375, 196611, 0, -1572839, 196611, 0, -2293734, 196611, 0, -2228198, 196611, 0, -2162662, 196611, 0, -2097126, 196611, 0, -2031590, 196611, 0, -1966054, 196611, 0, -1900518, 196611, 0, -1834982, 196611, 0, -1769446, 196611, 0, -1703910, 196611, 0, -1638374, 196611, 0, -1572838, 196611, 0, -2293733, 196611, 0, -2228197, 196611, 0, -2162661, 196611, 0, -2097125, 196611, 0, -2031589, 196611, 0, -1966053, 196611, 0, -1900517, 196611, 0, -1834981, 196611, 0, -1769445, 196611, 0, -1703909, 196611, 0, -1638373, 196611, 0, -1572837, 196611, 0, -2293732, 196611, 0, -2228196, 196611, 0, -2162660, 196611, 0, -2097124, 196611, 0, -2031588, 196611, 0, -1966052, 196611, 0, -1900516, 196611, 0, -1834980, 196611, 0, -1769444, 196611, 0, -1703908, 196611, 0, -1638372, 196611, 0, -1572836, 196611, 0, -2293731, 196611, 0, -2228195, 196611, 0, -2162659, 196611, 0, -2097123, 196611, 0, -2031587, 196611, 0, -1966051, 196611, 0, -1900515, 196611, 0, -1834979, 196611, 0, -1769443, 196611, 0, -1703907, 196611, 0, -1638371, 196611, 0, -1572835, 196611, 0, -2293730, 196611, 0, -2228194, 196611, 0, -2162658, 196611, 0, -2097122, 196611, 0, -2031586, 196611, 0, -1966050, 196611, 0, -1900514, 196611, 0, -1834978, 196611, 0, -1769442, 196611, 0, -1703906, 196611, 0, -1638370, 196611, 0, -1572834, 196611, 0, -2293729, 196611, 0, -2228193, 196611, 0, -2162657, 196611, 0, -2097121, 196611, 0, -2031585, 196611, 0, -1966049, 196611, 0, -1900513, 196611, 0, -1834977, 196611, 0, -1769441, 196611, 0, -1703905, 196611, 0, -1638369, 196611, 0, -1572833, 196611, 0, -2293728, 196611, 0, -2228192, 196611, 0, -2162656, 196611, 0, -2097120, 196611, 0, -2031584, 196611, 0, -1966048, 196611, 0, -1900512, 196611, 0, -1834976, 196611, 0, -1769440, 196611, 0, -1703904, 196611, 0, -1638368, 196611, 0, -1572832, 196611, 0, -2293727, 196611, 0, -2228191, 196611, 0, -2162655, 196611, 0, -2097119, 196611, 0, -2031583, 196611, 0, -1966047, 196611, 0, -1900511, 196611, 0, -1834975, 196611, 0, -1769439, 196611, 0, -1703903, 196611, 0, -1638367, 196611, 0, -1572831, 196611, 0, -2293726, 196611, 0, -2228190, 196611, 0, -2162654, 196611, 0, -2097118, 196611, 0, -2031582, 196611, 0, -1966046, 196611, 0, -1900510, 196611, 0, -1834974, 196611, 0, -1769438, 196611, 0, -1703902, 196611, 0, -1638366, 196611, 0, -1572830, 196611, 0, -2293725, 196611, 0, -2228189, 196611, 0, -2162653, 196611, 0, -2097117, 196611, 0, -2031581, 196611, 0, -1966045, 196611, 0, -1900509, 196611, 0, -1834973, 196611, 0, -1769437, 196611, 0, -1703901, 196611, 0, -1638365, 196611, 0, -1572829, 196611, 0, -2293724, 196611, 0, -2228188, 196611, 0, -2162652, 196611, 0, -2097116, 196611, 0, -2031580, 196611, 0, -1966044, 196611, 0, -1900508, 196611, 0, -1834972, 196611, 0, -1769436, 196611, 0, -1703900, 196611, 0, -1638364, 196611, 0, -1572828, 196611, 0, -2293723, 196611, 0, -2228187, 196611, 0, -2162651, 196611, 0, -2097115, 196611, 0, -2031579, 196611, 0, -1966043, 196611, 0, -1900507, 196611, 0, -1834971, 196611, 0, -1769435, 196611, 0, -1703899, 196611, 0, -1638363, 196611, 0, -1572827, 196611, 0, -2293722, 196611, 0, -2228186, 196611, 0, -2162650, 196611, 0, -2097114, 196611, 0, -2031578, 196611, 0, -1966042, 196611, 0, -1900506, 196611, 0, -1834970, 196611, 0, -1769434, 196611, 0, -1703898, 196611, 0, -1638362, 196611, 0, -1572826, 196611, 0, -2293721, 196611, 0, -2228185, 196611, 0, -2162649, 196611, 0, -2097113, 196611, 0, -2031577, 196611, 0, -1966041, 196611, 0, -1900505, 196611, 0, -1834969, 196611, 0, -1769433, 196611, 0, -1703897, 196611, 0, -1638361, 196611, 0, -1572825, 196611, 0, -2293720, 196611, 0, -2228184, 196611, 0, -2162648, 196611, 0, -2097112, 196611, 0, -2031576, 196611, 0, -1966040, 196611, 0, -1900504, 196611, 0, -1834968, 196611, 0, -1769432, 196611, 0, -1703896, 196611, 0, -1638360, 196611, 0, -1572824, 196611, 0, -2293719, 196611, 0, -2228183, 196611, 0, -2162647, 196611, 0, -2097111, 196611, 0, -2031575, 196611, 0, -1966039, 196611, 0, -1900503, 196611, 0, -1834967, 196611, 0, -1769431, 196611, 0, -1703895, 196611, 0, -1638359, 196611, 0, -1572823, 196611, 0, -2293718, 196611, 0, -2228182, 196611, 0, -2162646, 196611, 0, -2097110, 196611, 0, -2031574, 196611, 0, -1966038, 196611, 0, -1900502, 196611, 0, -1834966, 196611, 0, -1769430, 196611, 0, -1703894, 196611, 0, -1638358, 196611, 0, -1572822, 196611, 0, -2293717, 196611, 0, -2228181, 196611, 0, -2162645, 196611, 0, -2097109, 196611, 0, -2031573, 196611, 0, -1966037, 196611, 0, -1900501, 196611, 0, -1834965, 196611, 0, -1769429, 196611, 0, -1703893, 196611, 0, -1638357, 196611, 0, -1572821, 196611, 0, -2293716, 196611, 0, -2228180, 196611, 0, -2162644, 196611, 0, -2097108, 196611, 0, -2031572, 196611, 0, -1966036, 196611, 0, -1900500, 196611, 0, -1834964, 196611, 0, -1769428, 196611, 0, -1703892, 196611, 0, -1638356, 196611, 0, -1572820, 196611, 0, -2293715, 196611, 0, -2228179, 196611, 0, -2162643, 196611, 0, -2097107, 196611, 0, -2031571, 196611, 0, -1966035, 196611, 0, -1900499, 196611, 0, -1834963, 196611, 0, -1769427, 196611, 0, -1703891, 196611, 0, -1638355, 196611, 0, -1572819, 196611, 0, -2293714, 196611, 0, -2228178, 196611, 0, -2162642, 196611, 0, -2097106, 196611, 0, -2031570, 196611, 0, -1966034, 196611, 0, -1900498, 196611, 0, -1834962, 196611, 0, -1769426, 196611, 0, -1703890, 196611, 0, -1638354, 196611, 0, -1572818, 196611, 0, -2293713, 196611, 0, -2228177, 196611, 0, -2162641, 196611, 0, -2097105, 196611, 0, -2031569, 196611, 0, -1966033, 196611, 0, -1900497, 196611, 0, -1834961, 196611, 0, -1769425, 196611, 0, -1703889, 196611, 0, -1638353, 196611, 0, -1572817, 196611, 0, -2293712, 196611, 0, -2228176, 196611, 0, -2162640, 196611, 0, -2097104, 196611, 0, -2031568, 196611, 0, -1966032, 196611, 0, -1900496, 196611, 0, -1834960, 196611, 0, -1769424, 196611, 0, -1703888, 196611, 0, -1638352, 196611, 0, -1572816, 196611, 0, -2293711, 196611, 0, -2228175, 196611, 0, -2162639, 196611, 0, -2097103, 196611, 0, -2031567, 196611, 0, -1966031, 196611, 0, -1900495, 196611, 0, -1834959, 196611, 0, -1769423, 196611, 0, -1703887, 196611, 0, -1638351, 196611, 0, -1572815, 196611, 0, -2293710, 196611, 0, -2228174, 196611, 0, -2162638, 196611, 0, -2097102, 196611, 0, -2031566, 196611, 0, -1966030, 196611, 0, -1900494, 196611, 0, -1834958, 196611, 0, -1769422, 196611, 0, -1703886, 196611, 0, -1638350, 196611, 0, -1572814, 196611, 0, -2293709, 196611, 0, -2228173, 196611, 0, -2162637, 196611, 0, -2097101, 196611, 0, -2031565, 196611, 0, -1966029, 196611, 0, -1900493, 196611, 0, -1834957, 196611, 0, -1769421, 196611, 0, -1703885, 196611, 0, -1638349, 196611, 0, -1572813, 196611, 0, -2293708, 196611, 0, -2228172, 196611, 0, -2162636, 196611, 0, -2097100, 196611, 0, -2031564, 196611, 0, -1966028, 196611, 0, -1900492, 196611, 0, -1834956, 196611, 0, -1769420, 196611, 0, -1703884, 196611, 0, -1638348, 196611, 0, -1572812, 196611, 0, -2293707, 196611, 0, -2228171, 196611, 0, -2162635, 196611, 0, -2097099, 196611, 0, -2031563, 196611, 0, -1966027, 196611, 0, -1900491, 196611, 0, -1834955, 196611, 0, -1769419, 196611, 0, -1703883, 196611, 0, -1638347, 196611, 0, -1572811, 196611, 0, -2293706, 196611, 0, -2228170, 196611, 0, -2162634, 196611, 0, -2097098, 196611, 0, -2031562, 196611, 0, -1966026, 196611, 0, -1900490, 196611, 0, -1834954, 196611, 0, -1769418, 196611, 0, -1703882, 196611, 0, -1638346, 196611, 0, -1572810, 196611, 0, -2293705, 196611, 0, -2228169, 196611, 0, -2162633, 196611, 0, -2097097, 196611, 0, -2031561, 196611, 0, -1966025, 196611, 0, -1900489, 196611, 0, -1834953, 196611, 0, -1769417, 196611, 0, -1703881, 196611, 0, -1638345, 196611, 0, -1572809, 196611, 0, -2293704, 196611, 0, -2228168, 196611, 0, -2162632, 196611, 0, -2097096, 196611, 0, -2031560, 196611, 0, -1966024, 196611, 0, -1900488, 196611, 0, -1834952, 196611, 0, -1769416, 196611, 0, -1703880, 196611, 0, -1638344, 196611, 0, -1572808, 196611, 0, -2293703, 196611, 0, -2228167, 196611, 0, -2162631, 196611, 0, -2097095, 196611, 0, -2031559, 196611, 0, -1966023, 196611, 0, -1900487, 196611, 0, -1834951, 196611, 0, -1769415, 196611, 0, -1703879, 196611, 0, -1638343, 196611, 0, -1572807, 196611, 0, -2293702, 196611, 0, -2228166, 196611, 0, -2162630, 196611, 0, -2097094, 196611, 0, -2031558, 196611, 0, -1966022, 196611, 0, -1900486, 196611, 0, -1834950, 196611, 0, -1769414, 196611, 0, -1703878, 196611, 0, -1638342, 196611, 0, -1572806, 196611, 0, -2293701, 196611, 0, -2228165, 196611, 0, -2162629, 196611, 0, -2097093, 196611, 0, -2031557, 196611, 0, -1966021, 196611, 0, -1900485, 196611, 0, -1834949, 196611, 0, -1769413, 196611, 0, -1703877, 196611, 0, -1638341, 196611, 0, -1572805, 196611, 0, -2293700, 196611, 0, -2228164, 196611, 0, -2162628, 196611, 0, -2097092, 196611, 0, -2031556, 196611, 0, -1966020, 196611, 0, -1900484, 196611, 0, -1834948, 196611, 0, -1769412, 196611, 0, -1703876, 196611, 0, -1638340, 196611, 0, -1572804, 196611, 0, -2293699, 196611, 0, -2228163, 196611, 0, -2162627, 196611, 0, -2097091, 196611, 0, -2031555, 196611, 0, -1966019, 196611, 0, -1900483, 196611, 0, -1834947, 196611, 0, -1769411, 196611, 0, -1703875, 196611, 0, -1638339, 196611, 0, -1572803, 196611, 0, -2293698, 196611, 0, -2228162, 196611, 0, -2162626, 196611, 0, -2097090, 196611, 0, -2031554, 196611, 0, -1966018, 196611, 0, -1900482, 196611, 0, -1834946, 196611, 0, -1769410, 196611, 0, -1703874, 196611, 0, -1638338, 196611, 0, -1572802, 196611, 0, -2293697, 196611, 0, -2228161, 196611, 0, -2162625, 196611, 0, -2097089, 196611, 0, -2031553, 196611, 0, -1966017, 196611, 0, -1900481, 196611, 0, -1834945, 196611, 0, -1769409, 196611, 0, -1703873, 196611, 0, -1638337, 196611, 0, -1572801, 196611, 0, -2293696, 196611, 0, -2228160, 196611, 0, -2162624, 196611, 0, -2097088, 196611, 0, -2031552, 196611, 0, -1966016, 196611, 0, -1900480, 196611, 0, -1834944, 196611, 0, -1769408, 196611, 0, -1703872, 196611, 0, -1638336, 196611, 0, -1572800, 196611, 0, -2293695, 196611, 0, -2228159, 196611, 0, -2162623, 196611, 0, -2097087, 196611, 0, -2031551, 196611, 0, -1966015, 196611, 0, -1900479, 196611, 0, -1834943, 196611, 0, -1769407, 196611, 0, -1703871, 196611, 0, -1638335, 196611, 0, -1572799, 196611, 0, -2293694, 196611, 0, -2228158, 196611, 0, -2162622, 196611, 0, -2097086, 196611, 0, -2031550, 196611, 0, -1966014, 196611, 0, -1900478, 196611, 0, -1834942, 196611, 0, -1769406, 196611, 0, -1703870, 196611, 0, -1638334, 196611, 0, -1572798, 196611, 0, -2293693, 196611, 0, -2228157, 196611, 0, -2162621, 196611, 0, -2097085, 196611, 0, -2031549, 196611, 0, -1966013, 196611, 0, -1900477, 196611, 0, -1834941, 196611, 0, -1769405, 196611, 0, -1703869, 196611, 0, -1638333, 196611, 0, -1572797, 196611, 0, -2293692, 196611, 0, -2228156, 196611, 0, -2162620, 196611, 0, -2097084, 196611, 0, -2031548, 196611, 0, -1966012, 196611, 0, -1900476, 196611, 0, -1834940, 196611, 0, -1769404, 196611, 0, -1703868, 196611, 0, -1638332, 196611, 0, -1572796, 196611, 0, -2293691, 196611, 0, -2228155, 196611, 0, -2162619, 196611, 0, -2097083, 196611, 0, -2031547, 196611, 0, -1966011, 196611, 0, -1900475, 196611, 0, -1834939, 196611, 0, -1769403, 196611, 0, -1703867, 196611, 0, -1638331, 196611, 0, -1572795, 196611, 0, -2293690, 196611, 0, -2228154, 196611, 0, -2162618, 196611, 0, -2097082, 196611, 0, -2031546, 196611, 0, -1966010, 196611, 0, -1900474, 196611, 0, -1834938, 196611, 0, -1769402, 196611, 0, -1703866, 196611, 0, -1638330, 196611, 0, -1572794, 196611, 0, -262127, 458755, 1, -196591, 196611, 0, -131055, 196611, 0, -65519, 196611, 0, -65513, 65536, 0, 23, 65536, 0, -65512, 65536, 0, 24, 65536, 0, -65511, 65536, 0, 25, 65536, 0, -196582, 65536, 0, -131046, 65536, 0, -65510, 65536, 0, 26, 65536, 0, -196581, 65536, 0, -131045, 65536, 0, -65509, 65536, 0, 27, 65536, 0, -65508, 65536, 0, 28, 65536, 0, -65507, 65536, 0, 29, 65536, 0, -65506, 65536, 0, 30, 65536, 0, -196590, 65536, 0, -196589, 65536, 0, -196588, 65536, 0, -196587, 65536, 0, -196586, 65536, 0, -196585, 65536, 0, 65559, 65536, 0, -196584, 65536, 0, 65560, 65536, 0, -196583, 65536, 0, 65561, 65536, 0, -196580, 65536, 0, 65564, 65536, 0, -196579, 65536, 0, 65565, 65536, 0, 65566, 65536, 0, -262126, 65536, 0, -262125, 65536, 0, -262124, 65536, 0, -262123, 65536, 0, -262122, 65536, 0, -262121, 65536, 0, -262120, 65536, 0, -262119, 65536, 0, -262118, 65536, 0, -262117, 65536, 0, -262116, 65536, 0, -262115, 65536, 0, 917543, 196611, 0, 983079, 196611, 0, 1048615, 196611, 0, 1114151, 196611, 0, 1179687, 196611, 0, 1245223, 196611, 0, 917544, 196611, 0, 983080, 196611, 0, 1048616, 196611, 0, 1114152, 196611, 0, 1179688, 196611, 0, 1245224, 196611, 0, 655401, 196611, 0, 720937, 196611, 0, 786473, 196611, 0, 852009, 196611, 0, 917545, 196611, 0, 983081, 196611, 0, 1048617, 196611, 0, 1114153, 196611, 0, 1179689, 196611, 0, 1245225, 196611, 0, 655402, 196611, 0, 720938, 196611, 0, 786474, 196611, 0, 852010, 196611, 0, 917546, 196611, 0, 983082, 196611, 0, 1048618, 196611, 0, 1114154, 196611, 0, 1179690, 196611, 0, 1245226, 196611, 0, 655403, 196611, 0, 720939, 196611, 0, 786475, 196611, 0, 852011, 196611, 0, 917547, 196611, 0, 983083, 196611, 0, 1048619, 196611, 0, 1114155, 196611, 0, 1179691, 196611, 0, 1245227, 196611, 0, 655404, 196611, 0, 720940, 196611, 0, 786476, 196611, 0, 852012, 196611, 0, 917548, 196611, 0, 983084, 196611, 0, 1048620, 196611, 0, 1114156, 196611, 0, 1179692, 196611, 0, 1245228, 196611, 0, 655405, 196611, 0, 720941, 196611, 0, 786477, 196611, 0, 852013, 196611, 0, 917549, 196611, 0, 983085, 196611, 0, 1048621, 196611, 0, 1114157, 196611, 0, 1179693, 196611, 0, 1245229, 196611, 0, 655406, 196611, 0, 720942, 196611, 0, 786478, 196611, 0, 852014, 196611, 0, 917550, 196611, 0, 983086, 196611, 0, 1048622, 196611, 0, 1114158, 196611, 0, 1179694, 196611, 0, 1245230, 196611, 0, 655407, 196611, 0, 720943, 196611, 0, 786479, 196611, 0, 852015, 196611, 0, 917551, 196611, 0, 983087, 196611, 0, 1048623, 196611, 0, 1114159, 196611, 0, 1179695, 196611, 0, 1245231, 196611, 0, 655408, 196611, 0, 720944, 196611, 0, 786480, 196611, 0, 852016, 196611, 0, 917552, 196611, 0, 983088, 196611, 0, 1048624, 196611, 0, 1114160, 196611, 0, 1179696, 196611, 0, 1245232, 196611, 0, 655409, 196611, 0, 720945, 196611, 0, 786481, 196611, 0, 852017, 196611, 0, 917553, 196611, 0, 983089, 196611, 0, 1048625, 196611, 0, 1114161, 196611, 0, 1179697, 196611, 0, 1245233, 196611, 0, 655410, 196611, 0, 720946, 196611, 0, 786482, 196611, 0, 852018, 196611, 0, 917554, 196611, 0, 983090, 196611, 0, 1048626, 196611, 0, 1114162, 196611, 0, 1179698, 196611, 0, 1245234, 196611, 0, 655411, 196611, 0, 720947, 196611, 0, 786483, 196611, 0, 852019, 196611, 0, 917555, 196611, 0, 983091, 196611, 0, 1048627, 196611, 0, 1114163, 196611, 0, 1179699, 196611, 0, 1245235, 196611, 0, 655412, 196611, 0, 720948, 196611, 0, 786484, 196611, 0, 852020, 196611, 0, 917556, 196611, 0, 983092, 196611, 0, 1048628, 196611, 0, 1114164, 196611, 0, 1179700, 196611, 0, 1245236, 196611, 0, 655413, 196611, 0, 720949, 196611, 0, 786485, 196611, 0, 852021, 196611, 0, 917557, 196611, 0, 983093, 196611, 0, 1048629, 196611, 0, 1114165, 196611, 0, 1179701, 196611, 0, 1245237, 196611, 0, 655414, 196611, 0, 720950, 196611, 0, 786486, 196611, 0, 852022, 196611, 0, 917558, 196611, 0, 983094, 196611, 0, 1048630, 196611, 0, 1114166, 196611, 0, 1179702, 196611, 0, 1245238, 196611, 0, 655415, 196611, 0, 720951, 196611, 0, 786487, 196611, 0, 852023, 196611, 0, 917559, 196611, 0, 983095, 196611, 0, 1048631, 196611, 0, 1114167, 196611, 0, 1179703, 196611, 0, 1245239, 458755, 1342177281, 655416, 196611, 0, 720952, 196611, 0, 786488, 196611, 0, 852024, 196611, 0, 917560, 196611, 0, 983096, 196611, 0, 1048632, 196611, 0, 1114168, 196611, 0, 1179704, 196611, 0, 1245240, 458755, 1342177280, 655417, 196611, 0, 720953, 196611, 0, 786489, 196611, 0, 852025, 196611, 0, 917561, 196611, 0, 983097, 196611, 0, 1048633, 196611, 0, 1114169, 196611, 0, 1179705, 196611, 0, 1245241, 196611, 0, 655418, 196611, 0, 720954, 262147, 0, 786490, 196611, 0, 852026, 196611, 0, 917562, 196611, 0, 983098, 196611, 0, 1048634, 196611, 0, 1114170, 196611, 0, 1179706, 196611, 0, 1245242, 196611, 0, 655419, 196611, 0, 720955, 196611, 0, 786491, 196611, 0, 852027, 196611, 0, 917563, 196611, 0, 983099, 196611, 0, 1048635, 196611, 0, 1114171, 196611, 0, 1179707, 196611, 0, 1245243, 196611, 0, 655420, 196611, 0, 720956, 196611, 0, 786492, 196611, 0, 852028, 196611, 0, 917564, 196611, 0, 983100, 196611, 0, 1048636, 196611, 0, 1114172, 196611, 0, 1179708, 196611, 0, 1245244, 196611, 0, 655421, 196611, 0, 720957, 196611, 0, 786493, 196611, 0, 852029, 196611, 0, 917565, 196611, 0, 983101, 196611, 0, 1048637, 196611, 0, 1114173, 196611, 0, 1179709, 196611, 0, 1245245, 196611, 0, 655422, 196611, 0, 720958, 196611, 0, 786494, 196611, 0, 852030, 196611, 0, 917566, 196611, 0, 983102, 196611, 0, 1048638, 196611, 0, 1114174, 196611, 0, 1179710, 196611, 0, 1245246, 196611, 0, 655423, 196611, 0, 720959, 196611, 0, 786495, 196611, 0, 852031, 196611, 0, 917567, 196611, 0, 983103, 196611, 0, 1048639, 196611, 0, 1114175, 196611, 0, 1179711, 196611, 0, 1245247, 196611, 0, 655424, 196611, 0, 720960, 196611, 0, 786496, 196611, 0, 852032, 196611, 0, 917568, 196611, 0, 983104, 196611, 0, 1048640, 196611, 0, 1114176, 196611, 0, 1179712, 196611, 0, 1245248, 196611, 0, 655425, 196611, 0, 720961, 196611, 0, 786497, 196611, 0, 852033, 196611, 0, 917569, 196611, 0, 983105, 196611, 0, 1048641, 196611, 0, 1114177, 196611, 0, 1179713, 196611, 0, 1245249, 196611, 0, 655426, 196611, 0, 720962, 196611, 0, 786498, 196611, 0, 852034, 196611, 0, 917570, 196611, 0, 983106, 196611, 0, 1048642, 196611, 0, 1114178, 196611, 0, 1179714, 196611, 0, 1245250, 196611, 0, 655427, 196611, 0, 720963, 196611, 0, 786499, 196611, 0, 852035, 196611, 0, 917571, 196611, 0, 983107, 196611, 0, 1048643, 196611, 0, 1114179, 196611, 0, 1179715, 196611, 0, 1245251, 196611, 0, 655428, 196611, 0, 720964, 196611, 0, 786500, 196611, 0, 852036, 196611, 0, 917572, 196611, 0, 983108, 196611, 0, 1048644, 196611, 0, 1114180, 196611, 0, 1179716, 196611, 0, 1245252, 196611, 0, 655429, 196611, 0, 720965, 196611, 0, 786501, 196611, 0, 852037, 196611, 0, 917573, 196611, 0, 983109, 196611, 0, 1048645, 196611, 0, 1114181, 196611, 0, 1179717, 196611, 0, 1245253, 196611, 0, 655430, 196611, 0, 720966, 196611, 0, 786502, 196611, 0, 852038, 196611, 0, 917574, 196611, 0, 983110, 196611, 0, 1048646, 196611, 0, 1114182, 196611, 0, 1179718, 196611, 0, 1245254, 196611, 0, 1310784, 196611, 0, 1376320, 196611, 0, 1441856, 196611, 0, 1507392, 196611, 0, 1572928, 196611, 0, 1638464, 196611, 0, 1704000, 196611, 0, 1769536, 196611, 0, 1835072, 196611, 0, 1900608, 196611, 0, 1966144, 393219, 1879048193, 2031680, 327683, 1879048193, 1310785, 196611, 0, 1376321, 196611, 0, 1441857, 196611, 0, 1507393, 196611, 0, 1572929, 196611, 0, 1638465, 196611, 0, 1704001, 196611, 0, 1769537, 196611, 0, 1835073, 196611, 0, 1900609, 196611, 0, 1966145, 393219, 1879048192, 2031681, 327683, 1879048192, 1310786, 196611, 0, 1376322, 196611, 0, 1441858, 196611, 0, 1507394, 196611, 0, 1572930, 196611, 0, 1638466, 196611, 0, 1704002, 196611, 0, 1769538, 196611, 0, 1835074, 196611, 0, 1900610, 196611, 0, 1966146, 196611, 0, 2031682, 196611, 0, 1310787, 196611, 0, 1376323, 196611, 0, 1441859, 196611, 0, 1507395, 196611, 0, 1572931, 196611, 0, 1638467, 196611, 0, 1704003, 196611, 0, 1769539, 196611, 0, 1835075, 196611, 0, 1900611, 196611, 0, 1966147, 196611, 0, 2031683, 196611, 0, 1310788, 196611, 0, 1376324, 196611, 0, 1441860, 196611, 0, 1507396, 196611, 0, 1572932, 196611, 0, 1638468, 196611, 0, 1704004, 196611, 0, 1769540, 196611, 0, 1835076, 196611, 0, 1900612, 196611, 0, 1966148, 196611, 0, 2031684, 196611, 0, 1310789, 196611, 0, 1376325, 196611, 0, 1441861, 196611, 0, 1507397, 196611, 0, 1572933, 196611, 0, 1638469, 196611, 0, 1704005, 196611, 0, 1769541, 196611, 0, 1835077, 196611, 0, 1900613, 196611, 0, 1966149, 196611, 0, 2031685, 196611, 0, 1310790, 196611, 0, 1376326, 196611, 0, 1441862, 196611, 0, 1507398, 196611, 0, 1572934, 196611, 0, 1638470, 196611, 0, 1704006, 196611, 0, 1769542, 196611, 0, 1835078, 196611, 0, 1900614, 196611, 0, 1966150, 196611, 0, 2031686, 196611, 0, 1310791, 196611, 0, 1376327, 196611, 0, 1441863, 196611, 0, 1507399, 196611, 0, 1572935, 196611, 0, 1638471, 196611, 0, 1704007, 196611, 0, 1769543, 196611, 0, 1835079, 196611, 0, 1900615, 196611, 0, 1966151, 196611, 0, 2031687, 196611, 0, 1310792, 196611, 0, 1376328, 196611, 0, 1441864, 196611, 0, 1507400, 196611, 0, 1572936, 196611, 0, 1638472, 196611, 0, 1704008, 196611, 0, 1769544, 196611, 0, 1835080, 196611, 0, 1900616, 196611, 0, 1966152, 196611, 0, 2031688, 196611, 0, 1310793, 196611, 0, 1376329, 196611, 0, 1441865, 196611, 0, 1507401, 196611, 0, 1572937, 196611, 0, 1638473, 196611, 0, 1704009, 196611, 0, 1769545, 196611, 0, 1835081, 196611, 0, 1900617, 196611, 0, 1966153, 196611, 0, 2031689, 196611, 0, 1310794, 196611, 0, 1376330, 196611, 0, 1441866, 196611, 0, 1507402, 196611, 0, 1572938, 196611, 0, 1638474, 196611, 0, 1704010, 196611, 0, 1769546, 196611, 0, 1835082, 196611, 0, 1900618, 196611, 0, 1966154, 196611, 0, 2031690, 196611, 0, 1310795, 196611, 0, 1376331, 196611, 0, 1441867, 196611, 0, 1507403, 196611, 0, 1572939, 196611, 0, 1638475, 196611, 0, 1704011, 196611, 0, 1769547, 196611, 0, 1835083, 196611, 0, 1900619, 196611, 0, 1966155, 196611, 0, 2031691, 196611, 0, 1310796, 196611, 0, 1376332, 196611, 0, 1441868, 196611, 0, 1507404, 196611, 0, 1572940, 196611, 0, 1638476, 196611, 0, 1704012, 196611, 0, 1769548, 196611, 0, 1835084, 196611, 0, 1900620, 196611, 0, 1966156, 196611, 0, 2031692, 196611, 0, 1310797, 196611, 0, 1376333, 196611, 0, 1441869, 196611, 0, 1507405, 196611, 0, 1572941, 196611, 0, 1638477, 196611, 0, 1704013, 196611, 0, 1769549, 196611, 0, 1835085, 196611, 0, 1900621, 196611, 0, 1966157, 196611, 0, 2031693, 196611, 0, 1310798, 196611, 0, 1376334, 196611, 0, 1441870, 196611, 0, 1507406, 196611, 0, 1572942, 196611, 0, 1638478, 196611, 0, 1704014, 196611, 0, 1769550, 196611, 0, 1835086, 196611, 0, 1900622, 196611, 0, 1966158, 196611, 0, 2031694, 196611, 0, 1310799, 196611, 0, 1376335, 196611, 0, 1441871, 196611, 0, 1507407, 196611, 0, 1572943, 196611, 0, 1638479, 196611, 0, 1704015, 196611, 0, 1769551, 196611, 0, 1835087, 196611, 0, 1900623, 196611, 0, 1966159, 196611, 0, 2031695, 196611, 0, 1310800, 196611, 0, 1376336, 196611, 0, 1441872, 196611, 0, 1507408, 196611, 0, 1572944, 196611, 0, 1638480, 196611, 0, 1704016, 196611, 0, 1769552, 196611, 0, 1835088, 196611, 0, 1900624, 196611, 0, 1966160, 196611, 0, 2031696, 196611, 0, 1310801, 196611, 0, 1376337, 196611, 0, 1441873, 196611, 0, 1507409, 196611, 0, 1572945, 196611, 0, 1638481, 196611, 0, 1704017, 196611, 0, 1769553, 196611, 0, 1835089, 196611, 0, 1900625, 196611, 0, 1966161, 196611, 0, 2031697, 196611, 0, 1310802, 196611, 0, 1376338, 196611, 0, 1441874, 196611, 0, 1507410, 196611, 0, 1572946, 196611, 0, 1638482, 196611, 0, 1704018, 196611, 0, 1769554, 196611, 0, 1835090, 196611, 0, 1900626, 196611, 0, 1966162, 196611, 0, 2031698, 196611, 0, 1310803, 196611, 0, 1376339, 196611, 0, 1441875, 196611, 0, 1507411, 196611, 0, 1572947, 196611, 0, 1638483, 196611, 0, 1704019, 196611, 0, 1769555, 196611, 0, 1835091, 196611, 0, 1900627, 196611, 0, 1966163, 196611, 0, 2031699, 196611, 0, 1310804, 196611, 0, 1376340, 196611, 0, 1441876, 196611, 0, 1507412, 196611, 0, 1572948, 196611, 0, 1638484, 196611, 0, 1704020, 196611, 0, 1769556, 196611, 0, 1835092, 196611, 0, 1900628, 196611, 0, 1966164, 196611, 0, 2031700, 196611, 0, 1310805, 196611, 0, 1376341, 196611, 0, 1441877, 196611, 0, 1507413, 196611, 0, 1572949, 196611, 0, 1638485, 196611, 0, 1704021, 196611, 0, 1769557, 196611, 0, 1835093, 196611, 0, 1900629, 196611, 0, 1966165, 196611, 0, 2031701, 196611, 0, 1310806, 196611, 0, 1376342, 196611, 0, 1441878, 196611, 0, 1507414, 196611, 0, 1572950, 196611, 0, 1638486, 196611, 0, 1704022, 196611, 0, 1769558, 196611, 0, 1835094, 196611, 0, 1900630, 196611, 0, 1966166, 196611, 1073741824, 2031702, 262147, 1073741824, 1310807, 196611, 0, 1376343, 196611, 0, 1441879, 196611, 0, 1507415, 196611, 0, 1572951, 196611, 0, 1638487, 196611, 0, 1704023, 196611, 0, 1769559, 196611, 0, 1835095, 196611, 0, 1900631, 196611, 0, 1966167, 196611, 1073741825, 2031703, 262147, 1073741825, 1310808, 196611, 0, 1376344, 196611, 0, 1441880, 196611, 0, 1507416, 196611, 0, 1572952, 196611, 0, 1638488, 196611, 0, 1704024, 196611, 0, 1769560, 196611, 0, 1835096, 196611, 0, 1900632, 196611, 0, 1966168, 196611, 1073741826, 2031704, 262147, 1073741826, -65545, 196611, 0, -65546, 196611, 0, -131082, 196611, 0, -196618, 196611, 0, -262154, 196611, 0, -262153, 196611, 0, -196616, 196611, 0, -131080, 196611, 0, -65544, 196611, 0, -196617, 196611, 0, -131081, 196611, 0, -131079, 196611, 0, -131078, 196611, 0, -196614, 196611, 0, -262150, 196611, 0, -262151, 196611, 0, -196615, 196611, 0, -65543, 196611, 0, -65542, 196611, 0, -131077, 196611, 0, -65541, 196611, 0, -589833, 196611, 0, -524297, 196611, 0, -458761, 196611, 0, -393225, 196611, 0, -327689, 196611, 0, -589832, 196611, 0, -524296, 196611, 0, -458760, 196611, 0, -393224, 196611, 0, -327688, 196611, 0, -262152, 196611, 0, -589831, 196611, 0, -524295, 196611, 0, -458759, 196611, 0, -393223, 196611, 0, -327687, 196611, 0, -589830, 196611, 0, -524294, 196611, 0, -458758, 196611, 0, -393222, 196611, 0, -327686, 196611, 0, -589829, 196611, 0, -524293, 196611, 0, -458757, 196611, 0, -393221, 196611, 0, -327685, 196611, 0, -262149, 196611, 0, -196613, 196611, 0, -589828, 196611, 0, -524292, 196611, 0, -458756, 196611, 0, -393220, 196611, 0, -327684, 196611, 0, -262148, 196611, 0, -196612, 196611, 0, -589827, 196611, 0, -524291, 196611, 0, -458755, 196611, 0, -393219, 196611, 0, -327683, 196611, 0, -262147, 196611, 0, -196611, 196611, 0, -589826, 196611, 0, -524290, 196611, 0, -458754, 196611, 0, -393218, 196611, 0, -327682, 196611, 0, -262146, 196611, 0, -196610, 196611, 0, -589825, 196611, 0, -524289, 196611, 0, -458753, 196611, 0, -393217, 196611, 0, -327681, 196611, 0, -262145, 196611, 0, -196609, 196611, 0, -655360, 196611, 0, -589824, 196611, 0, -524288, 196611, 0, -458752, 196611, 0, -393216, 196611, 0, -327680, 196611, 0, -262144, 196611, 0, -655359, 196611, 0, -589823, 196611, 0, -524287, 196611, 0, -458751, 196611, 0, -393215, 196611, 0, -327679, 196611, 0, -262143, 196611, 0, -655358, 196611, 0, -589822, 196611, 0, -524286, 196611, 0, -458750, 196611, 0, -393214, 196611, 0, -327678, 196611, 0, -262142, 196611, 0, -655357, 196611, 0, -589821, 196611, 0, -524285, 196611, 0, -458749, 196611, 0, -393213, 196611, 0, -327677, 196611, 0, -262141, 196611, 0, -655356, 196611, 0, -589820, 196611, 0, -524284, 196611, 0, -458748, 196611, 0, -393212, 196611, 0, -327676, 196611, 0, -262140, 196611, 0, -655355, 196611, 0, -589819, 196611, 0, -524283, 196611, 0, -458747, 196611, 0, -393211, 196611, 0, -327675, 196611, 0, -262139, 196611, 0, -655354, 196611, 0, -589818, 196611, 0, -524282, 196611, 0, -458746, 196611, 0, -393210, 196611, 0, -327674, 196611, 0, -262138, 196611, 0, -655353, 196611, 0, -589817, 196611, 0, -524281, 196611, 0, -458745, 196611, 0, -393209, 196611, 0, -327673, 196611, 0, -262137, 196611, 0, -655352, 196611, 0, -589816, 196611, 0, -524280, 196611, 0, -458744, 196611, 0, -393208, 196611, 0, -327672, 196611, 0, -262136, 196611, 0, -655351, 196611, 0, -589815, 196611, 0, -524279, 196611, 0, -458743, 196611, 0, -393207, 196611, 0, -327671, 196611, 0, -262135, 196611, 0, -655350, 196611, 0, -589814, 196611, 0, -524278, 196611, 0, -458742, 196611, 0, -393206, 196611, 0, -327670, 196611, 0, -262134, 196611, 0, -655349, 196611, 0, -589813, 196611, 0, -524277, 196611, 0, -458741, 196611, 0, -393205, 196611, 0, -327669, 196611, 0, -262133, 196611, 0, -655348, 196611, 0, -589812, 196611, 0, -524276, 196611, 0, -458740, 196611, 0, -393204, 196611, 0, -327668, 196611, 0, -262132, 196611, 0, 1310856, 196611, 0, 1376392, 196611, 0, 1441928, 196611, 0, 1507464, 196611, 0, 1573000, 196611, 0, 1638536, 196611, 0, 1704072, 196611, 0, 1769608, 196611, 0, 1835144, 196611, 0, 1900680, 196611, 0, 1310857, 196611, 0, 1376393, 196611, 0, 1441929, 196611, 0, 1507465, 196611, 0, 1573001, 196611, 0, 1638537, 196611, 0, 1704073, 196611, 0, 1769609, 196611, 0, 1835145, 196611, 0, 1900681, 196611, 0, 1310858, 196611, 0, 1376394, 196611, 0, 1441930, 196611, 0, 1507466, 196611, 0, 1573002, 196611, 0, 1638538, 196611, 0, 1704074, 196611, 0, 1769610, 196611, 0, 1835146, 196611, 0, 1900682, 196611, 0, 1310859, 196611, 0, 1376395, 196611, 0, 1441931, 196611, 0, 1507467, 196611, 0, 1573003, 196611, 0, 1638539, 196611, 0, 1704075, 196611, 0, 1769611, 196611, 0, 1835147, 196611, 0, 1900683, 196611, 0, 1310860, 196611, 0, 1376396, 196611, 0, 1441932, 196611, 0, 1507468, 196611, 0, 1573004, 196611, 0, 1638540, 196611, 0, 1704076, 196611, 0, 1769612, 196611, 0, 1835148, 196611, 0, 1900684, 196611, 0, 1310861, 196611, 0, 1376397, 196611, 0, 1441933, 196611, 0, 1507469, 196611, 0, 1573005, 196611, 0, 1638541, 196611, 0, 1704077, 196611, 0, 1769613, 196611, 0, 1835149, 196611, 0, 1900685, 196611, 0, 1310862, 196611, 0, 1376398, 196611, 0, 1441934, 196611, 0, 1507470, 196611, 0, 1573006, 196611, 0, 1638542, 196611, 0, 1704078, 196611, 0, 1769614, 196611, 0, 1835150, 196611, 0, 1900686, 196611, 0, 1310863, 196611, 0, 1376399, 196611, 0, 1441935, 196611, 0, 1507471, 196611, 0, 1573007, 196611, 0, 1638543, 196611, 0, 1704079, 196611, 0, 1769615, 196611, 0, 1835151, 196611, 0, 1900687, 196611, 0, 1310864, 196611, 0, 1376400, 196611, 0, 1441936, 196611, 0, 1507472, 196611, 0, 1573008, 196611, 0, 1638544, 196611, 0, 1704080, 196611, 0, 1769616, 196611, 0, 1835152, 196611, 0, 1900688, 196611, 0, 1310865, 196611, 0, 1376401, 196611, 0, 1441937, 196611, 0, 1507473, 196611, 0, 1573009, 196611, 0, 1638545, 196611, 0, 1704081, 196611, 0, 1769617, 196611, 0, 1835153, 196611, 0, 1900689, 196611, 0, 1310866, 196611, 0, 1376402, 196611, 0, 1441938, 196611, 0, 1507474, 196611, 0, 1573010, 196611, 0, 1638546, 196611, 0, 1704082, 196611, 0, 1769618, 196611, 0, 1835154, 196611, 0, 1900690, 196611, 0, 1310867, 196611, 0, 1376403, 196611, 0, 1441939, 196611, 0, 1507475, 196611, 0, 1573011, 196611, 0, 1638547, 196611, 0, 1704083, 196611, 0, 1769619, 196611, 0, 1835155, 196611, 0, 1900691, 196611, 0, 1310868, 196611, 0, 1376404, 196611, 0, 1441940, 196611, 0, 1507476, 196611, 0, 1573012, 196611, 0, 1638548, 196611, 0, 1704084, 196611, 0, 1769620, 196611, 0, 1835156, 196611, 0, 1900692, 196611, 0, 1310869, 196611, 0, 1376405, 196611, 0, 1441941, 196611, 0, 1507477, 196611, 0, 1573013, 196611, 0, 1638549, 196611, 0, 1704085, 196611, 0, 1769621, 196611, 0, 1835157, 196611, 0, 1900693, 196611, 0, 1310870, 196611, 0, 1376406, 196611, 0, 1441942, 196611, 0, 1507478, 196611, 0, 1573014, 196611, 0, 1638550, 196611, 0, 1704086, 196611, 0, 1769622, 196611, 0, 1835158, 196611, 0, 1900694, 196611, 0, 1310871, 196611, 0, 1376407, 196611, 0, 1441943, 196611, 0, 1507479, 196611, 0, 1573015, 196611, 0, 1638551, 196611, 0, 1704087, 196611, 0, 1769623, 196611, 0, 1835159, 196611, 0, 1900695, 196611, 0, 1310872, 196611, 0, 1376408, 196611, 0, 1441944, 196611, 0, 1507480, 196611, 0, 1573016, 196611, 0, 1638552, 196611, 0, 1704088, 196611, 0, 1769624, 196611, 0, 1835160, 196611, 0, 1900696, 196611, 0, 1310873, 196611, 0, 1376409, 196611, 0, 1441945, 196611, 0, 1507481, 196611, 0, 1573017, 196611, 0, 1638553, 196611, 0, 1704089, 196611, 0, 1769625, 196611, 0, 1835161, 196611, 0, 1900697, 196611, 0, 1310874, 196611, 0, 1376410, 196611, 0, 1441946, 196611, 0, 1507482, 196611, 0, 1573018, 196611, 0, 1638554, 196611, 0, 1704090, 196611, 0, 1769626, 196611, 0, 1835162, 196611, 0, 1900698, 196611, 0, 1310875, 196611, 0, 1376411, 196611, 0, 1441947, 196611, 0, 1507483, 196611, 0, 1573019, 196611, 0, 1638555, 196611, 0, 1704091, 196611, 0, 1769627, 196611, 0, 1835163, 196611, 0, 1900699, 196611, 0, 1310876, 196611, 0, 1376412, 196611, 0, 1441948, 196611, 0, 1507484, 196611, 0, 1573020, 196611, 0, 1638556, 196611, 0, 1704092, 196611, 0, 1769628, 196611, 0, 1835164, 196611, 0, 1900700, 196611, 0, 1310877, 196611, 0, 1376413, 196611, 0, 1441949, 196611, 0, 1507485, 196611, 0, 1573021, 196611, 0, 1638557, 196611, 0, 1704093, 196611, 0, 1769629, 196611, 0, 1835165, 196611, 0, 1900701, 196611, 0, 1310878, 196611, 0, 1376414, 196611, 0, 1441950, 196611, 0, 1507486, 196611, 0, 1573022, 196611, 0, 1638558, 196611, 0, 1704094, 196611, 0, 1769630, 196611, 0, 1835166, 196611, 0, 1900702, 196611, 0, 1310879, 196611, 0, 1376415, 196611, 0, 1441951, 196611, 0, 1507487, 196611, 0, 1573023, 196611, 0, 1638559, 196611, 0, 1704095, 196611, 0, 1769631, 196611, 0, 1835167, 196611, 0, 1900703, 196611, 0, 1310880, 196611, 0, 1376416, 196611, 0, 1441952, 196611, 0, 1507488, 196611, 0, 1573024, 196611, 0, 1638560, 196611, 0, 1704096, 196611, 0, 1769632, 196611, 0, 1835168, 196611, 0, 1900704, 196611, 0, 1310881, 196611, 0, 1376417, 196611, 0, 1441953, 196611, 0, 1507489, 196611, 0, 1573025, 196611, 0, 1638561, 196611, 0, 1704097, 196611, 0, 1769633, 196611, 0, 1835169, 196611, 0, 1900705, 196611, 0, 146, 196611, 0, 65682, 196611, 0, 131218, 196611, 0, 196754, 196611, 0, 262290, 196611, 0, 327826, 196611, 0, 393362, 196611, 0, 458898, 196611, 0, 524434, 196611, 0, 589970, 196611, 0, 655506, 196611, 0, 721042, 196611, 0, 786578, 196611, 0, 852114, 196611, 0, 917650, 196611, 0, 983186, 196611, 0, 1048722, 196611, 0, 1114258, 196611, 0, 1179794, 196611, 0, 1245330, 196611, 0, 147, 196611, 0, 65683, 196611, 0, 131219, 196611, 0, 196755, 196611, 0, 262291, 196611, 0, 327827, 196611, 0, 393363, 196611, 0, 458899, 196611, 0, 524435, 196611, 0, 589971, 196611, 0, 655507, 196611, 0, 721043, 196611, 0, 786579, 196611, 0, 852115, 196611, 0, 917651, 196611, 0, 983187, 196611, 0, 1048723, 196611, 0, 1114259, 196611, 0, 1179795, 196611, 0, 1245331, 196611, 0, 148, 196611, 0, 65684, 196611, 0, 131220, 196611, 0, 196756, 196611, 0, 262292, 196611, 0, 327828, 196611, 0, 393364, 196611, 0, 458900, 196611, 0, 524436, 196611, 0, 589972, 196611, 0, 655508, 196611, 0, 721044, 196611, 0, 786580, 196611, 0, 852116, 196611, 0, 917652, 196611, 0, 983188, 196611, 0, 1048724, 196611, 0, 1114260, 196611, 0, 1179796, 196611, 0, 1245332, 196611, 0, 149, 196611, 0, 65685, 196611, 0, 131221, 196611, 0, 196757, 196611, 0, 262293, 196611, 0, 327829, 196611, 0, 393365, 196611, 0, 458901, 196611, 0, 524437, 196611, 0, 589973, 196611, 0, 655509, 196611, 0, 721045, 196611, 0, 786581, 196611, 0, 852117, 196611, 0, 917653, 196611, 0, 983189, 196611, 0, 1048725, 196611, 0, 1114261, 196611, 0, 1179797, 196611, 0, 1245333, 196611, 0, 150, 196611, 0, 65686, 196611, 0, 131222, 196611, 0, 196758, 196611, 0, 262294, 196611, 0, 327830, 196611, 0, 393366, 196611, 0, 458902, 196611, 0, 524438, 196611, 0, 589974, 196611, 0, 655510, 196611, 0, 721046, 196611, 0, 786582, 196611, 0, 852118, 196611, 0, 917654, 196611, 0, 983190, 196611, 0, 1048726, 196611, 0, 1114262, 196611, 0, 1179798, 196611, 0, 1245334, 196611, 0, 151, 196611, 0, 65687, 196611, 0, 131223, 196611, 0, 196759, 196611, 0, 262295, 196611, 0, 327831, 196611, 0, 393367, 196611, 0, 458903, 196611, 0, 524439, 196611, 0, 589975, 196611, 0, 655511, 196611, 0, 721047, 196611, 0, 786583, 196611, 0, 852119, 196611, 0, 917655, 196611, 0, 983191, 196611, 0, 1048727, 196611, 0, 1114263, 196611, 0, 1179799, 196611, 0, 1245335, 196611, 0, 152, 196611, 0, 65688, 196611, 0, 131224, 196611, 0, 196760, 196611, 0, 262296, 196611, 0, 327832, 196611, 0, 393368, 196611, 0, 458904, 196611, 0, 524440, 196611, 0, 589976, 196611, 0, 655512, 196611, 0, 721048, 196611, 0, 786584, 196611, 0, 852120, 196611, 0, 917656, 196611, 0, 983192, 196611, 0, 1048728, 196611, 0, 1114264, 196611, 0, 1179800, 196611, 0, 1245336, 196611, 0, 153, 196611, 0, 65689, 196611, 0, 131225, 196611, 0, 196761, 196611, 0, 262297, 196611, 0, 327833, 196611, 0, 393369, 196611, 0, 458905, 196611, 0, 524441, 196611, 0, 589977, 196611, 0, 655513, 196611, 0, 721049, 196611, 0, 786585, 196611, 0, 852121, 196611, 0, 917657, 196611, 0, 983193, 196611, 0, 1048729, 196611, 0, 1114265, 196611, 0, 1179801, 196611, 0, 1245337, 196611, 0, 154, 196611, 0, 65690, 196611, 0, 131226, 196611, 0, 196762, 196611, 0, 262298, 196611, 0, 327834, 196611, 0, 393370, 196611, 0, 458906, 196611, 0, 524442, 196611, 0, 589978, 196611, 0, 655514, 196611, 0, 721050, 196611, 0, 786586, 196611, 0, 852122, 196611, 0, 917658, 196611, 0, 983194, 196611, 0, 1048730, 196611, 0, 1114266, 196611, 0, 1179802, 196611, 0, 1245338, 196611, 0, 155, 196611, 0, 65691, 196611, 0, 131227, 196611, 0, 196763, 196611, 0, 262299, 196611, 0, 327835, 196611, 0, 393371, 196611, 0, 458907, 196611, 0, 524443, 196611, 0, 589979, 196611, 0, 655515, 196611, 0, 721051, 196611, 0, 786587, 196611, 0, 852123, 196611, 0, 917659, 196611, 0, 983195, 196611, 0, 1048731, 196611, 0, 1114267, 196611, 0, 1179803, 196611, 0, 1245339, 196611, 0, 156, 196611, 0, 65692, 196611, 0, 131228, 196611, 0, 196764, 196611, 0, 262300, 196611, 0, 327836, 196611, 0, 393372, 196611, 0, 458908, 196611, 0, 524444, 196611, 0, 589980, 196611, 0, 655516, 196611, 0, 721052, 196611, 0, 786588, 196611, 0, 852124, 196611, 0, 917660, 196611, 0, 983196, 196611, 0, 1048732, 196611, 0, 1114268, 196611, 0, 1179804, 196611, 0, 1245340, 196611, 0, 157, 196611, 0, 65693, 196611, 0, 131229, 196611, 0, 196765, 196611, 0, 262301, 196611, 0, 327837, 196611, 0, 393373, 196611, 0, 458909, 196611, 0, 524445, 196611, 0, 589981, 196611, 0, 655517, 196611, 0, 721053, 196611, 0, 786589, 196611, 0, 852125, 196611, 0, 917661, 196611, 0, 983197, 196611, 0, 1048733, 196611, 0, 1114269, 196611, 0, 1179805, 196611, 0, 1245341, 196611, 0, 158, 196611, 0, 65694, 196611, 0, 131230, 196611, 0, 196766, 196611, 0, 262302, 196611, 0, 327838, 196611, 0, 393374, 196611, 0, 458910, 196611, 0, 524446, 196611, 0, 589982, 196611, 0, 655518, 196611, 0, 721054, 196611, 0, 786590, 196611, 0, 852126, 196611, 0, 917662, 196611, 0, 983198, 196611, 0, 1048734, 196611, 0, 1114270, 196611, 0, 1179806, 196611, 0, 1245342, 196611, 0, 159, 196611, 0, 65695, 196611, 0, 131231, 196611, 0, 196767, 196611, 0, 262303, 196611, 0, 327839, 196611, 0, 393375, 196611, 0, 458911, 196611, 0, 524447, 196611, 0, 589983, 196611, 0, 655519, 196611, 0, 721055, 196611, 0, 786591, 196611, 0, 852127, 196611, 0, 917663, 196611, 0, 983199, 196611, 0, 1048735, 196611, 0, 1114271, 196611, 0, 1179807, 196611, 0, 1245343, 196611, 0, 160, 196611, 0, 65696, 196611, 0, 131232, 196611, 0, 196768, 196611, 0, 262304, 196611, 0, 327840, 196611, 0, 393376, 196611, 0, 458912, 196611, 0, 524448, 196611, 0, 589984, 196611, 0, 655520, 196611, 0, 721056, 196611, 0, 786592, 196611, 0, 852128, 196611, 0, 917664, 196611, 0, 983200, 196611, 0, 1048736, 196611, 0, 1114272, 196611, 0, 1179808, 196611, 0, 1245344, 196611, 0, 161, 196611, 0, 65697, 196611, 0, 131233, 196611, 0, 196769, 196611, 0, 262305, 196611, 0, 327841, 196611, 0, 393377, 196611, 0, 458913, 196611, 0, 524449, 196611, 0, 589985, 196611, 0, 655521, 196611, 0, 721057, 196611, 0, 786593, 196611, 0, 852129, 196611, 0, 917665, 196611, 0, 983201, 196611, 0, 1048737, 196611, 0, 1114273, 196611, 0, 1179809, 196611, 0, 1245345, 196611, 0, 162, 196611, 0, 65698, 196611, 0, 131234, 196611, 0, 196770, 196611, 0, 262306, 196611, 0, 327842, 196611, 0, 393378, 196611, 0, 458914, 196611, 0, 524450, 196611, 0, 589986, 196611, 0, 655522, 196611, 0, 721058, 196611, 0, 786594, 196611, 0, 852130, 196611, 0, 917666, 196611, 0, 983202, 196611, 0, 1048738, 196611, 0, 1114274, 196611, 0, 1179810, 196611, 0, 1245346, 196611, 0, 1310882, 196611, 0, 1376418, 196611, 0, 1441954, 196611, 0, 1507490, 196611, 0, 1573026, 196611, 0, 1638562, 196611, 0, 1704098, 196611, 0, 1769634, 196611, 0, 1835170, 196611, 0, 1900706, 196611, 0, 163, 196611, 0, 65699, 196611, 0, 131235, 196611, 0, 196771, 196611, 0, 262307, 196611, 0, 327843, 196611, 0, 393379, 196611, 0, 458915, 196611, 0, 524451, 196611, 0, 589987, 196611, 0, 655523, 196611, 0, 721059, 196611, 0, 786595, 196611, 0, 852131, 196611, 0, 917667, 196611, 0, 983203, 196611, 0, 1048739, 196611, 0, 1114275, 196611, 0, 1179811, 196611, 0, 1245347, 196611, 0, 1310883, 196611, 0, 1376419, 196611, 0, 1441955, 196611, 0, 1507491, 196611, 0, 1573027, 196611, 0, 1638563, 196611, 0, 1704099, 196611, 0, 1769635, 196611, 0, 1835171, 196611, 0, 1900707, 196611, 0, 164, 196611, 0, 65700, 196611, 0, 131236, 196611, 0, 196772, 196611, 0, 262308, 196611, 0, 327844, 196611, 0, 393380, 196611, 0, 458916, 196611, 0, 524452, 196611, 0, 589988, 196611, 0, 655524, 196611, 0, 721060, 196611, 0, 786596, 196611, 0, 852132, 196611, 0, 917668, 196611, 0, 983204, 196611, 0, 1048740, 196611, 0, 1114276, 196611, 0, 1179812, 196611, 0, 1245348, 196611, 0, 1310884, 196611, 0, 1376420, 196611, 0, 1441956, 196611, 0, 1507492, 196611, 0, 1573028, 196611, 0, 1638564, 196611, 0, 1704100, 196611, 0, 1769636, 196611, 0, 1835172, 196611, 0, 1900708, 196611, 0, 165, 196611, 0, 65701, 196611, 0, 131237, 196611, 0, 196773, 196611, 0, 262309, 196611, 0, 327845, 196611, 0, 393381, 196611, 0, 458917, 196611, 0, 524453, 196611, 0, 589989, 196611, 0, 655525, 196611, 0, 721061, 196611, 0, 786597, 196611, 0, 852133, 196611, 0, 917669, 196611, 0, 983205, 196611, 0, 1048741, 196611, 0, 1114277, 196611, 0, 1179813, 196611, 0, 1245349, 196611, 0, 1310885, 196611, 0, 1376421, 196611, 0, 1441957, 196611, 0, 1507493, 196611, 0, 1573029, 196611, 0, 1638565, 196611, 0, 1704101, 196611, 0, 1769637, 196611, 0, 1835173, 196611, 0, 1900709, 196611, 0, 166, 196611, 0, 65702, 196611, 0, 131238, 196611, 0, 196774, 196611, 0, 262310, 196611, 0, 327846, 196611, 0, 393382, 196611, 0, 458918, 196611, 0, 524454, 196611, 0, 589990, 196611, 0, 655526, 196611, 0, 721062, 196611, 0, 786598, 196611, 0, 852134, 196611, 0, 917670, 196611, 0, 983206, 196611, 0, 1048742, 196611, 0, 1114278, 196611, 0, 1179814, 196611, 0, 1245350, 196611, 0, 1310886, 196611, 0, 1376422, 196611, 0, 1441958, 196611, 0, 1507494, 196611, 0, 1573030, 196611, 0, 1638566, 196611, 0, 1704102, 196611, 0, 1769638, 196611, 0, 1835174, 196611, 0, 1900710, 196611, 0, 167, 196611, 0, 65703, 196611, 0, 131239, 196611, 0, 196775, 196611, 0, 262311, 196611, 0, 327847, 196611, 0, 393383, 196611, 0, 458919, 196611, 0, 524455, 196611, 0, 589991, 196611, 0, 655527, 196611, 0, 721063, 196611, 0, 786599, 196611, 0, 852135, 196611, 0, 917671, 196611, 0, 983207, 196611, 0, 1048743, 196611, 0, 1114279, 196611, 0, 1179815, 196611, 0, 1245351, 196611, 0, 1310887, 196611, 0, 1376423, 196611, 0, 1441959, 196611, 0, 1507495, 196611, 0, 1573031, 196611, 0, 1638567, 196611, 0, 1704103, 196611, 0, 1769639, 196611, 0, 1835175, 196611, 0, 1900711, 196611, 0, 168, 196611, 0, 65704, 196611, 0, 131240, 196611, 0, 196776, 196611, 0, 262312, 196611, 0, 327848, 196611, 0, 393384, 196611, 0, 458920, 196611, 0, 524456, 196611, 0, 589992, 196611, 0, 655528, 196611, 0, 721064, 196611, 0, 786600, 196611, 0, 852136, 196611, 0, 917672, 196611, 0, 983208, 196611, 0, 1048744, 196611, 0, 1114280, 196611, 0, 1179816, 196611, 0, 1245352, 196611, 0, 1310888, 196611, 0, 1376424, 196611, 0, 1441960, 196611, 0, 1507496, 196611, 0, 1573032, 196611, 0, 1638568, 196611, 0, 1704104, 196611, 0, 1769640, 196611, 0, 1835176, 196611, 0, 1900712, 196611, 0, 169, 196611, 0, 65705, 196611, 0, 131241, 196611, 0, 196777, 196611, 0, 262313, 196611, 0, 327849, 196611, 0, 393385, 196611, 0, 458921, 196611, 0, 524457, 196611, 0, 589993, 196611, 0, 655529, 196611, 0, 721065, 196611, 0, 786601, 196611, 0, 852137, 196611, 0, 917673, 196611, 0, 983209, 196611, 0, 1048745, 196611, 0, 1114281, 196611, 0, 1179817, 196611, 0, 1245353, 196611, 0, 1310889, 196611, 0, 1376425, 196611, 0, 1441961, 196611, 0, 1507497, 196611, 0, 1573033, 196611, 0, 1638569, 196611, 0, 1704105, 196611, 0, 1769641, 196611, 0, 1835177, 196611, 0, 1900713, 196611, 0, 170, 196611, 0, 65706, 196611, 0, 131242, 196611, 0, 196778, 196611, 0, 262314, 196611, 0, 327850, 196611, 0, 393386, 196611, 0, 458922, 196611, 0, 524458, 196611, 0, 589994, 196611, 0, 655530, 196611, 0, 721066, 196611, 0, 786602, 196611, 0, 852138, 196611, 0, 917674, 196611, 0, 983210, 196611, 0, 1048746, 196611, 0, 1114282, 196611, 0, 1179818, 196611, 0, 1245354, 196611, 0, 1310890, 196611, 0, 1376426, 196611, 0, 1441962, 196611, 0, 1507498, 196611, 0, 1573034, 196611, 0, 1638570, 196611, 0, 1704106, 196611, 0, 1769642, 196611, 0, 1835178, 196611, 0, 1900714, 196611, 0, 171, 196611, 0, 65707, 196611, 0, 131243, 196611, 0, 196779, 196611, 0, 262315, 196611, 0, 327851, 196611, 0, 393387, 196611, 0, 458923, 196611, 0, 524459, 196611, 0, 589995, 196611, 0, 655531, 196611, 0, 721067, 196611, 0, 786603, 196611, 0, 852139, 196611, 0, 917675, 196611, 0, 983211, 196611, 0, 1048747, 196611, 0, 1114283, 196611, 0, 1179819, 196611, 0, 1245355, 196611, 0, 1310891, 196611, 0, 1376427, 196611, 0, 1441963, 196611, 0, 1507499, 196611, 0, 1573035, 196611, 0, 1638571, 196611, 0, 1704107, 196611, 0, 1769643, 196611, 0, 1835179, 196611, 0, 1900715, 196611, 0, 172, 196611, 0, 65708, 196611, 0, 131244, 196611, 0, 196780, 196611, 0, 262316, 196611, 0, 327852, 196611, 0, 393388, 196611, 0, 458924, 196611, 0, 524460, 196611, 0, 589996, 196611, 0, 655532, 196611, 0, 721068, 196611, 0, 786604, 196611, 0, 852140, 196611, 0, 917676, 196611, 0, 983212, 196611, 0, 1048748, 196611, 0, 1114284, 196611, 0, 1179820, 196611, 0, 1245356, 196611, 0, 1310892, 196611, 0, 1376428, 196611, 0, 1441964, 196611, 0, 1507500, 196611, 0, 1573036, 196611, 0, 1638572, 196611, 0, 1704108, 196611, 0, 1769644, 196611, 0, 1835180, 196611, 0, 1900716, 196611, 0, 173, 196611, 0, 65709, 196611, 0, 131245, 196611, 0, 196781, 196611, 0, 262317, 196611, 0, 327853, 196611, 0, 393389, 196611, 0, 458925, 196611, 0, 524461, 196611, 0, 589997, 196611, 0, 655533, 196611, 0, 721069, 196611, 0, 786605, 196611, 0, 852141, 196611, 0, 917677, 196611, 0, 983213, 196611, 0, 1048749, 196611, 0, 1114285, 196611, 0, 1179821, 196611, 0, 1245357, 196611, 0, 1310893, 196611, 0, 1376429, 196611, 0, 1441965, 196611, 0, 1507501, 196611, 0, 1573037, 196611, 0, 1638573, 196611, 0, 1704109, 196611, 0, 1769645, 196611, 0, 1835181, 196611, 0, 1900717, 196611, 0, 174, 196611, 0, 65710, 196611, 0, 131246, 196611, 0, 196782, 196611, 0, 262318, 196611, 0, 327854, 196611, 0, 393390, 196611, 0, 458926, 196611, 0, 524462, 196611, 0, 589998, 196611, 0, 655534, 196611, 0, 721070, 196611, 0, 786606, 196611, 0, 852142, 196611, 0, 917678, 196611, 0, 983214, 196611, 0, 1048750, 196611, 0, 1114286, 196611, 0, 1179822, 196611, 0, 1245358, 196611, 0, 1310894, 196611, 0, 1376430, 196611, 0, 1441966, 196611, 0, 1507502, 196611, 0, 1573038, 196611, 0, 1638574, 196611, 0, 1704110, 196611, 0, 1769646, 196611, 0, 1835182, 196611, 0, 1900718, 196611, 0, 175, 196611, 0, 65711, 196611, 0, 131247, 196611, 0, 196783, 196611, 0, 262319, 196611, 0, 327855, 196611, 0, 393391, 196611, 0, 458927, 196611, 0, 524463, 196611, 0, 589999, 196611, 0, 655535, 196611, 0, 721071, 196611, 0, 786607, 196611, 0, 852143, 196611, 0, 917679, 196611, 0, 983215, 196611, 0, 1048751, 196611, 0, 1114287, 196611, 0, 1179823, 196611, 0, 1245359, 196611, 0, 1310895, 196611, 0, 1376431, 196611, 0, 1441967, 196611, 0, 1507503, 196611, 0, 1573039, 196611, 0, 1638575, 196611, 0, 1704111, 196611, 0, 1769647, 196611, 0, 1835183, 196611, 0, 1900719, 196611, 0, 176, 196611, 0, 65712, 196611, 0, 131248, 196611, 0, 196784, 196611, 0, 262320, 196611, 0, 327856, 196611, 0, 393392, 196611, 0, 458928, 196611, 0, 524464, 196611, 0, 590000, 196611, 0, 655536, 196611, 0, 721072, 196611, 0, 786608, 196611, 0, 852144, 196611, 0, 917680, 196611, 0, 983216, 196611, 0, 1048752, 196611, 0, 1114288, 196611, 0, 1179824, 196611, 0, 1245360, 196611, 0, 1310896, 196611, 0, 1376432, 196611, 0, 1441968, 196611, 0, 1507504, 196611, 0, 1573040, 196611, 0, 1638576, 196611, 0, 1704112, 196611, 0, 1769648, 196611, 0, 1835184, 196611, 0, 1900720, 196611, 0, 177, 196611, 0, 65713, 196611, 0, 131249, 196611, 0, 196785, 196611, 0, 262321, 196611, 0, 327857, 196611, 0, 393393, 196611, 0, 458929, 196611, 0, 524465, 196611, 0, 590001, 196611, 0, 655537, 196611, 0, 721073, 196611, 0, 786609, 196611, 0, 852145, 196611, 0, 917681, 196611, 0, 983217, 196611, 0, 1048753, 196611, 0, 1114289, 196611, 0, 1179825, 196611, 0, 1245361, 196611, 0, 1310897, 196611, 0, 1376433, 196611, 0, 1441969, 196611, 0, 1507505, 196611, 0, 1573041, 196611, 0, 1638577, 196611, 0, 1704113, 196611, 0, 1769649, 196611, 0, 1835185, 196611, 0, 1900721, 196611, 0, 178, 196611, 0, 65714, 196611, 0, 131250, 196611, 0, 196786, 196611, 0, 262322, 196611, 0, 327858, 196611, 0, 393394, 196611, 0, 458930, 196611, 0, 524466, 196611, 0, 590002, 196611, 0, 655538, 196611, 0, 721074, 196611, 0, 786610, 196611, 0, 852146, 196611, 0, 917682, 196611, 0, 983218, 196611, 0, 1048754, 196611, 0, 1114290, 196611, 0, 1179826, 196611, 0, 1245362, 196611, 0, 1310898, 196611, 0, 1376434, 196611, 0, 1441970, 196611, 0, 1507506, 196611, 0, 1573042, 196611, 0, 1638578, 196611, 0, 1704114, 196611, 0, 1769650, 196611, 0, 1835186, 196611, 0, 1900722, 196611, 0, 179, 196611, 0, 65715, 196611, 0, 131251, 196611, 0, 196787, 196611, 0, 262323, 196611, 0, 327859, 196611, 0, 393395, 196611, 0, 458931, 196611, 0, 524467, 196611, 0, 590003, 196611, 0, 655539, 196611, 0, 721075, 196611, 0, 786611, 196611, 0, 852147, 196611, 0, 917683, 196611, 0, 983219, 196611, 0, 1048755, 196611, 0, 1114291, 196611, 0, 1179827, 196611, 0, 1245363, 196611, 0, 1310899, 196611, 0, 1376435, 196611, 0, 1441971, 196611, 0, 1507507, 196611, 0, 1573043, 196611, 0, 1638579, 196611, 0, 1704115, 196611, 0, 1769651, 196611, 0, 1835187, 196611, 0, 1900723, 196611, 0, 180, 196611, 0, 65716, 196611, 0, 131252, 196611, 0, 196788, 196611, 0, 262324, 196611, 0, 327860, 196611, 0, 393396, 196611, 0, 458932, 196611, 0, 524468, 196611, 0, 590004, 196611, 0, 655540, 196611, 0, 721076, 196611, 0, 786612, 196611, 0, 852148, 196611, 0, 917684, 196611, 0, 983220, 196611, 0, 1048756, 196611, 0, 1114292, 196611, 0, 1179828, 196611, 0, 1245364, 196611, 0, 1310900, 196611, 0, 1376436, 196611, 0, 1441972, 196611, 0, 1507508, 196611, 0, 1573044, 196611, 0, 1638580, 196611, 0, 1704116, 196611, 0, 1769652, 196611, 0, 1835188, 196611, 0, 1900724, 196611, 0, 181, 196611, 0, 65717, 196611, 0, 131253, 196611, 0, 196789, 196611, 0, 262325, 196611, 0, 327861, 196611, 0, 393397, 196611, 0, 458933, 196611, 0, 524469, 196611, 0, 590005, 196611, 0, 655541, 196611, 0, 721077, 196611, 0, 786613, 196611, 0, 852149, 196611, 0, 917685, 196611, 0, 983221, 196611, 0, 1048757, 196611, 0, 1114293, 196611, 0, 1179829, 196611, 0, 1245365, 196611, 0, 1310901, 196611, 0, 1376437, 196611, 0, 1441973, 196611, 0, 1507509, 196611, 0, 1573045, 196611, 0, 1638581, 196611, 0, 1704117, 196611, 0, 1769653, 196611, 0, 1835189, 196611, 0, 1900725, 196611, 0, 182, 196611, 0, 65718, 196611, 0, 131254, 196611, 0, 196790, 196611, 0, 262326, 196611, 0, 327862, 196611, 0, 393398, 196611, 0, 458934, 196611, 0, 524470, 196611, 0, 590006, 196611, 0, 655542, 196611, 0, 721078, 196611, 0, 786614, 196611, 0, 852150, 196611, 0, 917686, 196611, 0, 983222, 196611, 0, 1048758, 196611, 0, 1114294, 196611, 0, 1179830, 196611, 0, 1245366, 196611, 0, 1310902, 196611, 0, 1376438, 196611, 0, 1441974, 196611, 0, 1507510, 196611, 0, 1573046, 196611, 0, 1638582, 196611, 0, 1704118, 196611, 0, 1769654, 196611, 0, 1835190, 196611, 0, 1900726, 196611, 0, 183, 196611, 0, 65719, 196611, 0, 131255, 196611, 0, 196791, 196611, 0, 262327, 196611, 0, 327863, 196611, 0, 393399, 196611, 0, 458935, 196611, 0, 524471, 196611, 0, 590007, 196611, 0, 655543, 196611, 0, 721079, 196611, 0, 786615, 196611, 0, 852151, 196611, 0, 917687, 196611, 0, 983223, 196611, 0, 1048759, 196611, 0, 1114295, 196611, 0, 1179831, 196611, 0, 1245367, 196611, 0, 1310903, 196611, 0, 1376439, 196611, 0, 1441975, 196611, 0, 1507511, 196611, 0, 1573047, 196611, 0, 1638583, 196611, 0, 1704119, 196611, 0, 1769655, 196611, 0, 1835191, 196611, 0, 1900727, 196611, 0, 184, 196611, 0, 65720, 196611, 0, 131256, 196611, 0, 196792, 196611, 0, 262328, 196611, 0, 327864, 196611, 0, 393400, 196611, 0, 458936, 196611, 0, 524472, 196611, 0, 590008, 196611, 0, 655544, 196611, 0, 721080, 196611, 0, 786616, 196611, 0, 852152, 196611, 0, 917688, 196611, 0, 983224, 196611, 0, 1048760, 196611, 0, 1114296, 196611, 0, 1179832, 196611, 0, 1245368, 196611, 0, 1310904, 196611, 0, 1376440, 196611, 0, 1441976, 196611, 0, 1507512, 196611, 0, 1573048, 196611, 0, 1638584, 196611, 0, 1704120, 196611, 0, 1769656, 196611, 0, 1835192, 196611, 0, 1900728, 196611, 0, 185, 196611, 0, 65721, 196611, 0, 131257, 196611, 0, 196793, 196611, 0, 262329, 196611, 0, 327865, 196611, 0, 393401, 196611, 0, 458937, 196611, 0, 524473, 196611, 0, 590009, 196611, 0, 655545, 196611, 0, 721081, 196611, 0, 786617, 196611, 0, 852153, 196611, 0, 917689, 196611, 0, 983225, 196611, 0, 1048761, 196611, 0, 1114297, 196611, 0, 1179833, 196611, 0, 1245369, 196611, 0, 1310905, 196611, 0, 1376441, 196611, 0, 1441977, 196611, 0, 1507513, 196611, 0, 1573049, 196611, 0, 1638585, 196611, 0, 1704121, 196611, 0, 1769657, 196611, 0, 1835193, 196611, 0, 1900729, 196611, 0, 186, 196611, 0, 65722, 196611, 0, 131258, 196611, 0, 196794, 196611, 0, 262330, 196611, 0, 327866, 196611, 0, 393402, 196611, 0, 458938, 196611, 0, 524474, 196611, 0, 590010, 196611, 0, 655546, 196611, 0, 721082, 196611, 0, 786618, 196611, 0, 852154, 196611, 0, 917690, 196611, 0, 983226, 196611, 0, 1048762, 196611, 0, 1114298, 196611, 0, 1179834, 196611, 0, 1245370, 196611, 0, 1310906, 196611, 0, 1376442, 196611, 0, 1441978, 196611, 0, 1507514, 196611, 0, 1573050, 196611, 0, 1638586, 196611, 0, 1704122, 196611, 0, 1769658, 196611, 0, 1835194, 196611, 0, 1900730, 196611, 0, 187, 196611, 0, 65723, 196611, 0, 131259, 196611, 0, 196795, 196611, 0, 262331, 196611, 0, 327867, 196611, 0, 393403, 196611, 0, 458939, 196611, 0, 524475, 196611, 0, 590011, 196611, 0, 655547, 196611, 0, 721083, 196611, 0, 786619, 196611, 0, 852155, 196611, 0, 917691, 196611, 0, 983227, 196611, 0, 1048763, 196611, 0, 1114299, 196611, 0, 1179835, 196611, 0, 1245371, 196611, 0, 1310907, 196611, 0, 1376443, 196611, 0, 1441979, 196611, 0, 1507515, 196611, 0, 1573051, 196611, 0, 1638587, 196611, 0, 1704123, 196611, 0, 1769659, 196611, 0, 1835195, 196611, 0, 1900731, 196611, 0, 188, 196611, 0, 65724, 196611, 0, 131260, 196611, 0, 196796, 196611, 0, 262332, 196611, 0, 327868, 196611, 0, 393404, 196611, 0, 458940, 196611, 0, 524476, 196611, 0, 590012, 196611, 0, 655548, 196611, 0, 721084, 196611, 0, 786620, 196611, 0, 852156, 196611, 0, 917692, 196611, 0, 983228, 196611, 0, 1048764, 196611, 0, 1114300, 196611, 0, 1179836, 196611, 0, 1245372, 196611, 0, 1310908, 196611, 0, 1376444, 196611, 0, 1441980, 196611, 0, 1507516, 196611, 0, 1573052, 196611, 0, 1638588, 196611, 0, 1704124, 196611, 0, 1769660, 196611, 0, 1835196, 196611, 0, 1900732, 196611, 0, 189, 196611, 0, 65725, 196611, 0, 131261, 196611, 0, 196797, 196611, 0, 262333, 196611, 0, 327869, 196611, 0, 393405, 196611, 0, 458941, 196611, 0, 524477, 196611, 0, 590013, 196611, 0, 655549, 196611, 0, 721085, 196611, 0, 786621, 196611, 0, 852157, 196611, 0, 917693, 196611, 0, 983229, 196611, 0, 1048765, 196611, 0, 1114301, 196611, 0, 1179837, 196611, 0, 1245373, 196611, 0, 1310909, 196611, 0, 1376445, 196611, 0, 1441981, 196611, 0, 1507517, 196611, 0, 1573053, 196611, 0, 1638589, 196611, 0, 1704125, 196611, 0, 1769661, 196611, 0, 1835197, 196611, 0, 1900733, 196611, 0, 190, 196611, 0, 65726, 196611, 0, 131262, 196611, 0, 196798, 196611, 0, 262334, 196611, 0, 327870, 196611, 0, 393406, 196611, 0, 458942, 196611, 0, 524478, 196611, 0, 590014, 196611, 0, 655550, 196611, 0, 721086, 196611, 0, 786622, 196611, 0, 852158, 196611, 0, 917694, 196611, 0, 983230, 196611, 0, 1048766, 196611, 0, 1114302, 196611, 0, 1179838, 196611, 0, 1245374, 196611, 0, 1310910, 196611, 0, 1376446, 196611, 0, 1441982, 196611, 0, 1507518, 196611, 0, 1573054, 196611, 0, 1638590, 196611, 0, 1704126, 196611, 0, 1769662, 196611, 0, 1835198, 196611, 0, 1900734, 196611, 0, 191, 196611, 0, 65727, 196611, 0, 131263, 196611, 0, 196799, 196611, 0, 262335, 196611, 0, 327871, 196611, 0, 393407, 196611, 0, 458943, 196611, 0, 524479, 196611, 0, 590015, 196611, 0, 655551, 196611, 0, 721087, 196611, 0, 786623, 196611, 0, 852159, 196611, 0, 917695, 196611, 0, 983231, 196611, 0, 1048767, 196611, 0, 1114303, 196611, 0, 1179839, 196611, 0, 1245375, 196611, 0, 1310911, 196611, 0, 1376447, 196611, 0, 1441983, 196611, 0, 1507519, 196611, 0, 1573055, 196611, 0, 1638591, 196611, 0, 1704127, 196611, 0, 1769663, 196611, 0, 1835199, 196611, 0, 1900735, 196611, 0, 192, 196611, 0, 65728, 196611, 0, 131264, 196611, 0, 196800, 196611, 0, 262336, 196611, 0, 327872, 196611, 0, 393408, 196611, 0, 458944, 196611, 0, 524480, 196611, 0, 590016, 196611, 0, 655552, 196611, 0, 721088, 196611, 0, 786624, 196611, 0, 852160, 196611, 0, 917696, 196611, 0, 983232, 196611, 0, 1048768, 196611, 0, 1114304, 196611, 0, 1179840, 196611, 0, 1245376, 196611, 0, 1310912, 196611, 0, 1376448, 196611, 0, 1441984, 196611, 0, 1507520, 196611, 0, 1573056, 196611, 0, 1638592, 196611, 0, 1704128, 196611, 0, 1769664, 196611, 0, 1835200, 196611, 0, 1900736, 196611, 0) -layer_6/tile_data = PackedInt32Array(131094, 0, 5, 131095, 65536, 5, 131096, 65536, 5, 131097, 65536, 5, 131100, 65536, 5, 131101, 65536, 5, 131102, 65536, 5, 131103, 131072, 5, -131055, 0, 5, -131054, 65536, 5, -131053, 65536, 5, -131052, 65536, 5, -131051, 65536, 5, -131050, 65536, 5, -131049, 65536, 5, -131048, 65536, 5, -131047, 65536, 5, -131044, 65536, 5, -131043, 65536, 5, -131042, 131072, 5) Entities = NodePath("Entities") Areas = NodePath("Areas") Spawners = NodePath("Spawners") @@ -480,7 +49,32 @@ Markers = NodePath("Markers") AreaName = "Forest" MapName = "Forest" -[node name="CanvasModulate" parent="." index="7"] +[node name="z-index 0" parent="Layers" index="0"] +tile_map_data = PackedByteArray("AAAeAPf/AAACAAQAAAAeAPj/AAACAAQAAAAeAPn/AAACAAQAAAAeAPr/AAACAAQAAAAeAPb/AAACAAQAAAASAPj/AAABAAMAAAATAPj/AAABAAMAAAAUAPj/AAABAAMAAAAVAPj/AAABAAMAAAAWAPj/AAABAAMAAAAXAPj/AAAEAAQAAAAXAPf/AAAAAAQAAAAXAPb/AAAAAAQAAAAXAPX/AAAAAAMAAAAeAPX/AAACAAMAAAAYAPX/AAABAAMAAAAbAPX/AAABAAMAAAAcAPX/AAABAAMAAAAdAPX/AAABAAMAAAASAPn/AAABAAQAAAATAPn/AAABAAQAAAAUAPn/AAABAAQAAAAVAPn/AAABAAQAAAAWAPn/AAABAAQAAAAXAPn/AAABAAQAAAAYAPb/AAABAAQAAAAbAPb/AAABAAQAAAAcAPb/AAABAAQAAAAdAPb/AAABAAQAAAASAP3/AAABAAMAAAATAP3/AAABAAMAAAAUAP3/AAABAAMAAAAVAP3/AAABAAMAAAAWAP3/AAABAAMAAAAWAP7/AAAAAAMAAAAWAP//AAAAAAQAAAAWAAAAAAAAAAQAAAAXAP3/AAABAAMAAAAXAP7/AAABAAMAAAAYAP3/AAABAAMAAAAYAP7/AAABAAMAAAAZAP3/AAABAAMAAAAZAP7/AAAEAAQAAAAcAP3/AAABAAMAAAAcAP7/AAADAAQAAAAdAP3/AAABAAMAAAAdAP7/AAABAAMAAAAeAPz/AAACAAQAAAAeAP3/AAACAAQAAAAeAP7/AAABAAMAAAAfAP//AAACAAQAAAAfAAAAAAACAAQAAAAWAAEAAAAAAAQAAAAXAP//AAABAAQAAAAXAAEAAAABAAMAAAAYAP//AAABAAQAAAAYAAEAAAABAAMAAAAZAP//AAABAAQAAAAZAAEAAAABAAMAAAAcAP//AAABAAQAAAAcAAEAAAABAAMAAAAdAP//AAABAAQAAAAdAAEAAAABAAMAAAAeAP//AAABAAQAAAAeAAEAAAABAAMAAAAfAAEAAAACAAQAAAAfAP7/AAACAAMAAAAeAPv/AAACAAQAAAA=") +tile_set = ExtResource("2_q0kvn") + +[node name="z-index -1" parent="Layers" index="1"] +tile_set = ExtResource("2_q0kvn") + +[node name="z-index -1 (under)" parent="Layers" index="2"] +tile_set = ExtResource("2_q0kvn") + +[node name="z-index -2" parent="Layers" index="3"] +tile_map_data = PackedByteArray("AADj//H/AAAAAAEAAADj//L/AAAAAAEAAADj//P/AAAAAAEAAADj//T/AAAAAAEAAADj//X/AAAAAAEAAADk//H/AAAAAAEAAADk//L/AAAAAAEAAADk//P/AAAAAAEAAADk//T/AAAAAAEAAADk//X/AAAAAAEAAADl//H/AAAAAAEAAADl//L/AAAAAAEAAADl//P/AAAAAAEAAADl//T/AAAAAAEAAADl//X/AAAAAAEAAADm//H/AAAAAAEAAADm//L/AAAAAAEAAADm//P/AAAAAAEAAADm//T/AAAAAAEAAADm//X/AAAAAAEAAADn//H/AAAAAAEAAADn//L/AAAAAAEAAADn//P/AAAAAAEAAADn//T/AAAAAAEAAADn//X/AAAAAAEAAADo//H/AAAAAAEAAADo//L/AAAAAAEAAADo//P/AAAAAAEAAADo//T/AAAAAAEAAADo//X/AAAAAAEAAADp//H/AAAAAAEAAADp//L/AAAAAAEAAADp//P/AAAAAAEAAADp//T/AAAAAAEAAADp//X/AAAAAAEAAADq//H/AAAAAAEAAADq//L/AAAAAAEAAADq//P/AAAAAAEAAADq//T/AAAAAAEAAADq//X/AAAAAAEAAADr//H/AAAAAAEAAADr//L/AAAAAAEAAADr//P/AAAAAAEAAADr//T/AAAAAAEAAADr//X/AAAAAAEAAADs/+v/AAAAAAEAAADs/+z/AAAAAAEAAADs/+3/AAAAAAEAAADs/+7/AAAAAAEAAADs/+//AAAAAAEAAADs//D/AAAAAAEAAADs//H/AAAAAAEAAADs//L/AAAAAAEAAADs//P/AAAAAAEAAADs//T/AAAAAAEAAADs//X/AAAAAAEAAADs//b/AAAAAAEAAADs//f/AAAAAAEAAADs//j/AAAAAAEAAADs//n/AAAAAAEAAADs//r/AAAAAAEAAADs//v/AAAAAAEAAADt/+v/AAAAAAEAAADt/+z/AAAAAAEAAADt/+3/AAAAAAEAAADt/+7/AAAAAAEAAADt/+//AAAAAAEAAADt//D/AAAAAAEAAADt//H/AAAAAAEAAADt//L/AAAAAAEAAADt//P/AAAAAAEAAADt//T/AAAAAAEAAADt//X/AAAAAAEAAADt//b/AAAAAAEAAADt//f/AAAAAAEAAADt//j/AAAAAAEAAADt//n/AAAAAAEAAADt//r/AAAAAAEAAADu/+v/AAAAAAEAAADu/+z/AAAAAAEAAADu/+3/AAAAAAEAAADu/+7/AAAAAAEAAADu/+//AAAAAAEAAADu//D/AAAAAAEAAADu//H/AAAAAAEAAADu//L/AAAAAAEAAADu//P/AAAAAAEAAADu//T/AAAAAAEAAADu//X/AAAAAAEAAADu//b/AAAAAAEAAADu//f/AAAAAAEAAADu//j/AAAAAAEAAADu//n/AAAAAAEAAADu//r/AAAAAAEAAADv/+v/AAAAAAEAAADv/+z/AAAAAAEAAADv/+3/AAAAAAEAAADv/+7/AAAAAAEAAADv/+//AAAAAAEAAADv//D/AAAAAAEAAADv//H/AAAAAAEAAADv//L/AAAAAAEAAADv//P/AAAAAAEAAADv//T/AAAAAAEAAADv//X/AAAAAAEAAADv//b/AAAAAAEAAADv//f/AAAAAAEAAADv//j/AAAAAAEAAADv//n/AAAAAAEAAADv//r/AAAAAAEAAADw/+v/AAAAAAEAAADw/+z/AAAAAAEAAADw/+3/AAAAAAEAAADw/+7/AAAAAAEAAADw/+//AAAAAAEAAADw//D/AAAAAAEAAADw//H/AAAAAAEAAADw//L/AAAAAAEAAADw//P/AAAAAAEAAADw//T/AAAAAAEAAADw//X/AAAAAAEAAADw//b/AAAAAAEAAADw//n/AAAAAAEAAADw//r/AAAAAAEAAADx/+v/AAAAAAEAAADx/+z/AAAAAAEAAADx/+3/AAAAAAEAAADx/+7/AAAAAAEAAADx/+//AAAAAAEAAADx//D/AAAAAAEAAADx//H/AAAAAAEAAADx//L/AAAAAAEAAADx//P/AAAAAAEAAADx//T/AAAAAAEAAADx//X/AAAAAAEAAADx//b/AAAAAAEAAADx//n/AAAAAAEAAADx//r/AAAAAAEAAADy/+v/AAAAAAEAAADy/+z/AAAAAAEAAADy/+3/AAAAAAEAAADy/+7/AAAAAAEAAADy/+//AAAAAAEAAADy//D/AAAAAAEAAADy//H/AAAAAAEAAADy//L/AAAAAAEAAADy//P/AAAAAAEAAADy//T/AAAAAAEAAADy//X/AAAAAAEAAADy//b/AAAAAAEAAADy//n/AAAAAAEAAADy//r/AAAAAAEAAADz/+v/AAAAAAEAAADz/+z/AAAAAAEAAADz/+3/AAAAAAEAAADz/+7/AAAAAAEAAADz/+//AAAAAAEAAADz//D/AAAAAAEAAADz//H/AAAAAAEAAADz//L/AAAAAAEAAADz//P/AAAAAAEAAADz//T/AAAAAAEAAADz//X/AAAAAAEAAADz//b/AAAAAAEAAADz//n/AAAAAAEAAADz//r/AAAAAAEAAAD0/+v/AAAAAAEAAAD0/+z/AAAAAAEAAAD0/+3/AAAAAAEAAAD0/+7/AAAAAAEAAAD0/+//AAAAAAEAAAD0//D/AAAAAAEAAAD0//H/AAAAAAEAAAD0//L/AAAAAAEAAAD0//P/AAAAAAEAAAD0//T/AAAAAAEAAAD0//n/AAAAAAEAAAD0//r/AAAAAAEAAAD1/+v/AAAAAAEAAAD1/+z/AAAAAAEAAAD1/+3/AAAAAAEAAAD1/+7/AAAAAAEAAAD1/+//AAAAAAEAAAD1//D/AAAAAAEAAAD1//H/AAAAAAEAAAD1//L/AAAAAAEAAAD1//P/AAAAAAEAAAD1//T/AAAAAAEAAAD1//X/AAAAAAEAAAD1//r/AAAAAAEAAAD2/+v/AAAAAAEAAAD2/+z/AAAAAAEAAAD2/+3/AAAAAAEAAAD2/+7/AAAAAAEAAAD2/+//AAAAAAEAAAD2//D/AAAAAAEAAAD2//H/AAAAAAEAAAD2//L/AAAAAAEAAAD2//P/AAAAAAEAAAD2//T/AAAAAAEAAAD2//X/AAAAAAEAAAD+/+3/AAAAAAEAAAD+/+7/AAAAAAEAAAD+/+//AAAAAAEAAAD+//D/AAAAAAEAAAD//+v/AAAAAAEAAAD//+z/AAAAAAEAAAD//+3/AAAAAAEAAAD//+7/AAAAAAEAAAD//+//AAAAAAEAAAD///D/AAAAAAEAAAAAAOn/AAAAAAEAAAAAAOr/AAAAAAEAAAAAAOv/AAAAAAEAAAAAAOz/AAAAAAEAAAAAAO3/AAAAAAEAAAAAAO7/AAAAAAEAAAAAAO//AAAAAAEAAAAAAPD/AAAAAAEAAAABAOf/AAAAAAEAAAABAOj/AAAAAAEAAAABAOn/AAAAAAEAAAABAOr/AAAAAAEAAAABAOv/AAAAAAEAAAABAOz/AAAAAAEAAAABAO3/AAAAAAEAAAABAO7/AAAAAAEAAAABAO//AAAAAAEAAAABAPD/AAAAAAEAAAACAOX/AAAAAAEAAAACAOb/AAAAAAEAAAACAOf/AAAAAAEAAAACAOj/AAAAAAEAAAACAOn/AAAAAAEAAAACAOr/AAAAAAEAAAACAOv/AAAAAAEAAAACAOz/AAAAAAEAAAACAO3/AAAAAAEAAAACAO7/AAAAAAEAAAACAO//AAAAAAEAAAACAPD/AAAAAAEAAAADAOP/AAAAAAEAAAADAOT/AAAAAAEAAAADAOX/AAAAAAEAAAADAOb/AAAAAAEAAAADAOf/AAAAAAEAAAADAOj/AAAAAAEAAAADAOn/AAAAAAEAAAADAOr/AAAAAAEAAAADAOv/AAAAAAEAAAADAOz/AAAAAAEAAAADAO3/AAAAAAEAAAADAO7/AAAAAAEAAAADAO//AAAAAAEAAAADAPD/AAAAAAEAAAAEAOH/AAAAAAEAAAAEAOL/AAAAAAEAAAAEAOP/AAAAAAEAAAAEAOT/AAAAAAEAAAAEAOX/AAAAAAEAAAAEAOb/AAAAAAEAAAAEAOf/AAAAAAEAAAAEAOj/AAAAAAEAAAAEAOn/AAAAAAEAAAAEAOr/AAAAAAEAAAAEAOv/AAAAAAEAAAAEAOz/AAAAAAEAAAAEAO3/AAAAAAEAAAAEAO7/AAAAAAEAAAAEAO//AAAAAAEAAAAEAPD/AAAAAAEAAAAFAN//AAAAAAEAAAAFAOD/AAAAAAEAAAAFAOH/AAAAAAEAAAAFAOL/AAAAAAEAAAAFAOP/AAAAAAEAAAAFAOT/AAAAAAEAAAAFAOX/AAAAAAEAAAAFAOb/AAAAAAEAAAAFAOf/AAAAAAEAAAAFAOj/AAAAAAEAAAAFAOn/AAAAAAEAAAAFAOr/AAAAAAEAAAAFAOv/AAAAAAEAAAAFAOz/AAAAAAEAAAAFAO3/AAAAAAEAAAAFAO7/AAAAAAEAAAAFAO//AAAAAAEAAAAFAPD/AAAAAAEAAAAGAN3/AAAAAAEAAAAGAN7/AAAAAAEAAAAGAN//AAAAAAEAAAAGAOD/AAAAAAEAAAAGAOH/AAAAAAEAAAAGAOL/AAAAAAEAAAAGAOP/AAAAAAEAAAAGAOT/AAAAAAEAAAAGAOX/AAAAAAEAAAAGAOb/AAAAAAEAAAAGAOf/AAAAAAEAAAAGAOj/AAAAAAEAAAAGAOn/AAAAAAEAAAAGAOr/AAAAAAEAAAAGAOv/AAAAAAEAAAAGAOz/AAAAAAEAAAAGAO3/AAAAAAEAAAAGAO7/AAAAAAEAAAAGAO//AAAAAAEAAAAGAPD/AAAAAAEAAAAHAN3/AAAAAAEAAAAHAN7/AAAAAAEAAAAHAN//AAAAAAEAAAAHAOD/AAAAAAEAAAAHAOH/AAAAAAEAAAAHAOL/AAAAAAEAAAAHAOP/AAAAAAEAAAAHAOT/AAAAAAEAAAAHAOX/AAAAAAEAAAAHAOb/AAAAAAEAAAAHAOf/AAAAAAEAAAAHAOj/AAAAAAEAAAAHAOn/AAAAAAEAAAAHAOr/AAAAAAEAAAAHAOv/AAAAAAEAAAAHAOz/AAAAAAEAAAAHAO3/AAAAAAEAAAAHAO7/AAAAAAEAAAAHAO//AAAAAAEAAAAHAPD/AAAAAAEAAAAIAN3/AAAAAAEAAAAIAN7/AAAAAAEAAAAIAN//AAAAAAEAAAAIAOD/AAAAAAEAAAAIAOH/AAAAAAEAAAAIAOL/AAAAAAEAAAAIAOP/AAAAAAEAAAAIAOT/AAAAAAEAAAAIAOX/AAAAAAEAAAAIAOb/AAAAAAEAAAAIAOf/AAAAAAEAAAAIAOj/AAAAAAEAAAAIAOn/AAAAAAEAAAAIAOr/AAAAAAEAAAAIAOv/AAAAAAEAAAAIAOz/AAAAAAEAAAAIAO3/AAAAAAEAAAAIAO7/AAAAAAEAAAAIAO//AAAAAAEAAAAIAPD/AAAAAAEAAAAJAN3/AAAAAAEAAAAJAN7/AAAAAAEAAAAJAN//AAAAAAEAAAAJAOD/AAAAAAEAAAAJAOH/AAAAAAEAAAAJAOL/AAAAAAEAAAAJAOP/AAAAAAEAAAAJAOT/AAAAAAEAAAAJAOX/AAAAAAEAAAAJAOb/AAAAAAEAAAAJAOf/AAAAAAEAAAAJAOj/AAAAAAEAAAAJAOn/AAAAAAEAAAAJAOr/AAAAAAEAAAAJAOv/AAAAAAEAAAAJAOz/AAAAAAEAAAAJAO3/AAAAAAEAAAAJAO7/AAAAAAEAAAAJAO//AAAAAAEAAAAJAPD/AAAAAAEAAAAKAN3/AAAAAAEAAAAKAN7/AAAAAAEAAAAKAN//AAAAAAEAAAAKAOD/AAAAAAEAAAAKAOH/AAAAAAEAAAAKAOL/AAAAAAEAAAAKAOP/AAAAAAEAAAAKAOT/AAAAAAEAAAAKAOX/AAAAAAEAAAAKAOb/AAAAAAEAAAAKAOf/AAAAAAEAAAAKAOj/AAAAAAEAAAAKAOn/AAAAAAEAAAAKAOr/AAAAAAEAAAAKAOv/AAAAAAEAAAAKAOz/AAAAAAEAAAAKAO3/AAAAAAEAAAAKAO7/AAAAAAEAAAAKAO//AAAAAAEAAAAKAPD/AAAAAAEAAAALAN3/AAAAAAEAAAALAN7/AAAAAAEAAAALAN//AAAAAAEAAAALAOD/AAAAAAEAAAALAOH/AAAAAAEAAAALAOL/AAAAAAEAAAALAOP/AAAAAAEAAAALAOT/AAAAAAEAAAALAOX/AAAAAAEAAAALAOb/AAAAAAEAAAALAOf/AAAAAAEAAAALAOj/AAAAAAEAAAALAOn/AAAAAAEAAAALAOr/AAAAAAEAAAALAOv/AAAAAAEAAAALAOz/AAAAAAEAAAALAO3/AAAAAAEAAAALAO7/AAAAAAEAAAALAO//AAAAAAEAAAALAPD/AAAAAAEAAAAMAN3/AAAAAAEAAAAMAN7/AAAAAAEAAAAMAN//AAAAAAEAAAAMAOD/AAAAAAEAAAAMAOH/AAAAAAEAAAAMAOL/AAAAAAEAAAAMAOP/AAAAAAEAAAAMAOT/AAAAAAEAAAAMAOX/AAAAAAEAAAAMAOb/AAAAAAEAAAAMAOf/AAAAAAEAAAAMAOj/AAAAAAEAAAAMAOn/AAAAAAEAAAAMAOr/AAAAAAEAAAAMAOv/AAAAAAEAAAAMAOz/AAAAAAEAAAAMAO3/AAAAAAEAAAAMAO7/AAAAAAEAAAAMAO//AAAAAAEAAAAMAPD/AAAAAAEAAAANAN3/AAAAAAEAAAANAN7/AAAAAAEAAAANAN//AAAAAAEAAAANAOD/AAAAAAEAAAANAOH/AAAAAAEAAAANAOL/AAAAAAEAAAANAOP/AAAAAAEAAAANAOT/AAAAAAEAAAANAOX/AAAAAAEAAAANAOb/AAAAAAEAAAANAOf/AAAAAAEAAAANAOj/AAAAAAEAAAANAOn/AAAAAAEAAAANAOr/AAAAAAEAAAANAOv/AAAAAAEAAAANAOz/AAAAAAEAAAANAO3/AAAAAAEAAAANAO7/AAAAAAEAAAANAO//AAAAAAEAAAANAPD/AAAAAAEAAAAOAN3/AAAAAAEAAAAOAN7/AAAAAAEAAAAOAN//AAAAAAEAAAAOAOD/AAAAAAEAAAAOAOH/AAAAAAEAAAAOAOL/AAAAAAEAAAAOAOP/AAAAAAEAAAAOAOT/AAAAAAEAAAAOAOX/AAAAAAEAAAAOAOb/AAAAAAEAAAAOAOf/AAAAAAEAAAAOAOj/AAAAAAEAAAAOAOn/AAAAAAEAAAAOAOr/AAAAAAEAAAAOAOv/AAAAAAEAAAAOAOz/AAAAAAEAAAAOAO3/AAAAAAEAAAAOAO7/AAAAAAEAAAAOAO//AAAAAAEAAAAOAPD/AAAAAAEAAAAPAN3/AAAAAAEAAAAPAN7/AAAAAAEAAAAPAN//AAAAAAEAAAAPAOD/AAAAAAEAAAAPAOH/AAAAAAEAAAAPAOL/AAAAAAEAAAAPAOP/AAAAAAEAAAAPAOT/AAAAAAEAAAAPAOX/AAAAAAEAAAAPAOb/AAAAAAEAAAAPAOf/AAAAAAEAAAAPAOj/AAAAAAEAAAAPAOn/AAAAAAEAAAAPAOr/AAAAAAEAAAAPAOv/AAAAAAEAAAAPAOz/AAAAAAEAAAAPAO3/AAAAAAEAAAAPAO7/AAAAAAEAAAAPAO//AAAAAAEAAAAPAPD/AAAAAAEAAAAQAN3/AAAAAAEAAAAQAN7/AAAAAAEAAAAQAN//AAAAAAEAAAAQAOD/AAAAAAEAAAAQAOH/AAAAAAEAAAAQAOL/AAAAAAEAAAAQAOP/AAAAAAEAAAAQAOT/AAAAAAEAAAAQAOX/AAAAAAEAAAAQAOb/AAAAAAEAAAAQAOf/AAAAAAEAAAAQAOj/AAAAAAEAAAAQAOn/AAAAAAEAAAAQAOr/AAAAAAEAAAAQAOv/AAAAAAEAAAAQAOz/AAAAAAEAAAAQAO3/AAAAAAEAAAAQAO7/AAAAAAEAAAAQAO//AAAAAAEAAAAQAPD/AAAAAAEAAAARAN3/AAAAAAEAAAARAN7/AAAAAAEAAAARAN//AAAAAAEAAAARAOD/AAAAAAEAAAARAOH/AAAAAAEAAAARAOL/AAAAAAEAAAARAOP/AAAAAAEAAAARAOT/AAAAAAEAAAARAOX/AAAAAAEAAAARAOb/AAAAAAEAAAARAOf/AAAAAAEAAAARAOj/AAAAAAEAAAARAOn/AAAAAAEAAAARAOr/AAAAAAEAAAARAOv/AAAAAAEAAAARAOz/AAAAAAEAAAARAO3/AAAAAAEAAAARAO7/AAAAAAEAAAARAO//AAAAAAEAAAARAPD/AAAAAAEAAAASAN3/AAAAAAEAAAASAN7/AAAAAAEAAAASAN//AAAAAAEAAAASAOD/AAAAAAEAAAASAOH/AAAAAAEAAAASAOL/AAAAAAEAAAASAOP/AAAAAAEAAAASAOT/AAAAAAEAAAASAOX/AAAAAAEAAAASAOb/AAAAAAEAAAASAOf/AAAAAAEAAAASAOj/AAAAAAEAAAASAOn/AAAAAAEAAAASAOr/AAAAAAEAAAASAOv/AAAAAAEAAAASAOz/AAAAAAEAAAASAO3/AAAAAAEAAAASAO7/AAAAAAEAAAASAO//AAAAAAEAAAASAPD/AAAAAAEAAAASAPH/AAAAAAEAAAASAPL/AAAAAAEAAAASAPP/AAAAAAEAAAASAPT/AAAAAAEAAAASAPX/AAAAAAEAAAASAPb/AAAAAAEAAAASAPf/AAAAAAEAAAASAPj/AAAAAAEAAAATAN3/AAAAAAEAAAATAN7/AAAAAAEAAAATAN//AAAAAAEAAAATAOD/AAAAAAEAAAATAOH/AAAAAAEAAAATAOL/AAAAAAEAAAATAOP/AAAAAAEAAAATAOT/AAAAAAEAAAATAOX/AAAAAAEAAAATAOb/AAAAAAEAAAATAOf/AAAAAAEAAAATAOj/AAAAAAEAAAATAOn/AAAAAAEAAAATAOr/AAAAAAEAAAATAOv/AAAAAAEAAAATAOz/AAAAAAEAAAATAO3/AAAAAAEAAAATAO7/AAAAAAEAAAATAO//AAAAAAEAAAATAPD/AAAAAAEAAAATAPH/AAAAAAEAAAATAPL/AAAAAAEAAAATAPP/AAAAAAEAAAATAPT/AAAAAAEAAAATAPX/AAAAAAEAAAATAPb/AAAAAAEAAAATAPf/AAAAAAEAAAATAPj/AAAAAAEAAAAUAN3/AAAAAAEAAAAUAN7/AAAAAAEAAAAUAN//AAAAAAEAAAAUAOD/AAAAAAEAAAAUAOH/AAAAAAEAAAAUAOL/AAAAAAEAAAAUAOP/AAAAAAEAAAAUAOT/AAAAAAEAAAAUAOX/AAAAAAEAAAAUAOb/AAAAAAEAAAAUAOf/AAAAAAEAAAAUAOj/AAAAAAEAAAAUAOn/AAAAAAEAAAAUAOr/AAAAAAEAAAAUAOv/AAAAAAEAAAAUAOz/AAAAAAEAAAAUAO3/AAAAAAEAAAAUAO7/AAAAAAEAAAAUAO//AAAAAAEAAAAUAPD/AAAAAAEAAAAUAPH/AAAAAAEAAAAUAPL/AAAAAAEAAAAUAPP/AAAAAAEAAAAUAPT/AAAAAAEAAAAUAPX/AAAAAAEAAAAUAPb/AAAAAAEAAAAUAPf/AAAAAAEAAAAUAPj/AAAAAAEAAAAVAN3/AAAAAAEAAAAVAN7/AAAAAAEAAAAVAN//AAAAAAEAAAAVAOD/AAAAAAEAAAAVAOH/AAAAAAEAAAAVAOL/AAAAAAEAAAAVAOP/AAAAAAEAAAAVAOT/AAAAAAEAAAAVAOX/AAAAAAEAAAAVAOb/AAAAAAEAAAAVAOf/AAAAAAEAAAAVAOj/AAAAAAEAAAAVAOn/AAAAAAEAAAAVAOr/AAAAAAEAAAAVAOv/AAAAAAEAAAAVAOz/AAAAAAEAAAAVAO3/AAAAAAEAAAAVAO7/AAAAAAEAAAAVAO//AAAAAAEAAAAVAPD/AAAAAAEAAAAVAPH/AAAAAAEAAAAVAPL/AAAAAAEAAAAVAPP/AAAAAAEAAAAVAPT/AAAAAAEAAAAVAPX/AAAAAAEAAAAVAPb/AAAAAAEAAAAVAPf/AAAAAAEAAAAVAPj/AAAAAAEAAAAWAN3/AAAAAAEAAAAWAN7/AAAAAAEAAAAWAN//AAAAAAEAAAAWAOD/AAAAAAEAAAAWAOH/AAAAAAEAAAAWAOL/AAAAAAEAAAAWAOP/AAAAAAEAAAAWAOT/AAAAAAEAAAAWAOX/AAAAAAEAAAAWAOb/AAAAAAEAAAAWAOf/AAAAAAEAAAAWAOj/AAAAAAEAAAAWAOn/AAAAAAEAAAAWAOr/AAAAAAEAAAAWAOv/AAAAAAEAAAAWAOz/AAAAAAEAAAAWAO3/AAAAAAEAAAAWAO7/AAAAAAEAAAAWAO//AAAAAAEAAAAWAPD/AAAAAAEAAAAWAPH/AAAAAAEAAAAWAPL/AAAAAAEAAAAWAPP/AAAAAAEAAAAWAPT/AAAAAAEAAAAWAPX/AAAAAAEAAAAWAPb/AAAAAAEAAAAWAPf/AAAAAAEAAAAWAPj/AAAAAAEAAAAXAN3/AAAAAAEAAAAXAN7/AAAAAAEAAAAXAN//AAAAAAEAAAAXAOD/AAAAAAEAAAAXAOH/AAAAAAEAAAAXAOL/AAAAAAEAAAAXAOP/AAAAAAEAAAAXAOT/AAAAAAEAAAAXAOX/AAAAAAEAAAAXAOb/AAAAAAEAAAAXAOf/AAAAAAEAAAAXAOj/AAAAAAEAAAAXAOn/AAAAAAEAAAAXAOr/AAAAAAEAAAAXAOv/AAAAAAEAAAAXAOz/AAAAAAEAAAAXAO3/AAAAAAEAAAAXAO7/AAAAAAEAAAAXAO//AAAAAAEAAAAXAPD/AAAAAAEAAAAXAPH/AAAAAAEAAAAXAPL/AAAAAAEAAAAXAPP/AAAAAAEAAAAXAPT/AAAAAAEAAAAXAPX/AAAAAAEAAAAXAPb/AAAAAAEAAAAXAPf/AAAAAAEAAAAXAPj/AAAAAAEAAAARAPr/AwAAAAYAAAARAPv/AwAAAAYAAAARAPz/AwAAAAYAAAARAP3/AwAAAAYAAAD9//7/AwAAAAUAAAD9////AwAAAAYAAAD9/wAAAwAAAAcAAAD+//7/AwABAAUAAAD+////AwABAAYAAAD+/wAAAwABAAcAAAD///7/AwACAAUAAAD/////AwACAAYAAAD//wAAAwACAAcAAAASAP7/AAAAAAEAAAASAP//AAAAAAEAAAASAAAAAAAAAAEAAAATAAAAAAAAAAEAAAATAP//AAAAAAEAAAATAP7/AAAAAAEAAAATAAEAAAAAAAEAAAATAAIAAAAAAAEAAAASAAIAAAAAAAEAAAASAAEAAAAAAAEAAAAUAAAAAAAAAAEAAAAUAP//AAAAAAEAAAAVAP//AAAAAAEAAAAVAP7/AAAAAAEAAAAUAP7/AAAAAAEAAAAWAP7/AAAAAAEAAAAWAP//AAAAAAEAAAAWAAIAAAAAAAEAAAAWAAMAAAAAAAEAAAAVAAMAAAAAAAEAAAAVAAIAAAAAAAEAAAAVAAEAAAAAAAEAAAAVAAAAAAAAAAEAAAAUAAIAAAAAAAEAAAAUAAEAAAAAAAEAAAAUAAMAAAAAAAEAAAAUAAQAAAAAAAEAAAATAAMAAAAAAAEAAAATAAQAAAAAAAEAAAASAAMAAAAAAAEAAAASAAQAAAAAAAEAAAARAAQAAAAAAAEAAAARAAMAAAAAAAEAAAAVAAQAAAAAAAEAAAAUAAUAAAAAAAEAAAATAAUAAAAAAAEAAAASAAUAAAAAAAEAAAAQAAQAAAAAAAEAAAAQAAMAAAAAAAEAAAAPAAMAAAAAAAEAAAAOAAMAAAAAAAEAAAAOAAQAAAAAAAEAAAANAAQAAAAAAAEAAAAMAAQAAAAAAAEAAAANAAMAAAAAAAEAAADv/wMAAAAAAAEAAADv/wQAAAAAAAEAAADv/wUAAAAAAAEAAADw/wMAAAAAAAEAAADw/wQAAAAAAAEAAADw/wUAAAAAAAEAAADx/wMAAAAAAAEAAADx/wQAAAAAAAEAAADx/wUAAAAAAAEAAADy/wMAAAAAAAEAAADy/wQAAAAAAAEAAADy/wUAAAAAAAEAAADz/wMAAAAAAAEAAADz/wQAAAAAAAEAAADz/wUAAAAAAAEAAAD0/wMAAAAAAAEAAAD0/wQAAAAAAAEAAAD0/wUAAAAAAAEAAAD1/wMAAAAAAAEAAAD1/wQAAAAAAAEAAAD1/wUAAAAAAAEAAAD2/wMAAAAAAAEAAAD2/wQAAAAAAAEAAAD2/wUAAAAAAAEAAAD3/wMAAAAAAAEAAAD3/wQAAAAAAAEAAAD3/wUAAAAAAAEAAAD4/wMAAAAAAAEAAAD4/wQAAAAAAAEAAAD4/wUAAAAAAAEAAAD5/wMAAAAAAAEAAAD5/wQAAAAAAAEAAAD5/wUAAAAAAAEAAAD6/wMAAAAAAAEAAAD6/wQAAAAAAAEAAAD6/wUAAAAAAAEAAAD7/wMAAAAAAAEAAAD7/wQAAAAAAAEAAAD7/wUAAAAAAAEAAAD8/wMAAAAAAAEAAAD8/wQAAAAAAAEAAAD8/wUAAAAAAAEAAAD9/wMAAAAAAAEAAAD9/wQAAAAAAAEAAAD9/wUAAAAAAAEAAAD+/wMAAAAAAAEAAAD+/wQAAAAAAAEAAAD+/wUAAAAAAAEAAAD//wMAAAAAAAEAAAD//wQAAAAAAAEAAAD//wUAAAAAAAEAAAAAAAMAAAAAAAEAAAAAAAQAAAAAAAEAAAAAAAUAAAAAAAEAAAABAAMAAAAAAAEAAAABAAQAAAAAAAEAAAABAAUAAAAAAAEAAAACAAMAAAAAAAEAAAACAAQAAAAAAAEAAAACAAUAAAAAAAEAAAADAAMAAAAAAAEAAAADAAQAAAAAAAEAAAADAAUAAAAAAAEAAAAEAAMAAAAAAAEAAAAEAAQAAAAAAAEAAAAEAAUAAAAAAAEAAAAFAAMAAAAAAAEAAAAFAAQAAAAAAAEAAAAFAAUAAAAAAAEAAAAGAAMAAAAAAAEAAAAGAAQAAAAAAAEAAAAGAAUAAAAAAAEAAAAHAAMAAAAAAAEAAAAHAAQAAAAAAAEAAAAHAAUAAAAAAAEAAAAIAAMAAAAAAAEAAAAIAAQAAAAAAAEAAAAIAAUAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAAAAEAAAAJAAUAAAAAAAEAAAAKAAMAAAAAAAEAAAAKAAQAAAAAAAEAAAAKAAUAAAAAAAEAAAALAAMAAAAAAAEAAAALAAQAAAAAAAEAAAALAAUAAAAAAAEAAAAMAAMAAAAAAAEAAAAMAAUAAAAAAAEAAAANAAUAAAAAAAEAAAAOAAUAAAAAAAEAAAAPAAQAAAAAAAEAAAAPAAUAAAAAAAEAAAAQAAUAAAAAAAEAAAARAAUAAAAAAAEAAADw/wYAAAAAAAEAAADx/wYAAAAAAAEAAADy/wcAAAAAAAEAAADz/wgAAAAAAAEAAAD0/wcAAAAAAAEAAAD0/wYAAAAAAAEAAAD1/wYAAAAAAAEAAADz/wYAAAAAAAEAAADy/wYAAAAAAAEAAAD2/wYAAAAAAAEAAAD1/wcAAAAAAAEAAAD2/wcAAAAAAAEAAAD3/wcAAAAAAAEAAAD4/wYAAAAAAAEAAAD5/wYAAAAAAAEAAAD4/wcAAAAAAAEAAAD3/wgAAAAAAAEAAADz/wcAAAAAAAEAAAD3/wYAAAAAAAEAAAD4/wgAAAAAAAEAAAD5/wgAAAAAAAEAAAD6/wcAAAAAAAEAAAD6/wYAAAAAAAEAAAD7/wYAAAAAAAEAAAD8/wYAAAAAAAEAAAD7/wcAAAAAAAEAAAD9/wYAAAAAAAEAAAD+/wYAAAAAAAEAAAD//wYAAAAAAAEAAAD//wcAAAAAAAEAAAAAAAcAAAAAAAEAAAD8/wcAAAAAAAEAAAD9/wcAAAAAAAEAAAD+/wcAAAAAAAEAAAABAAcAAAAAAAEAAAACAAYAAAAAAAEAAAABAAYAAAAAAAEAAAAAAAYAAAAAAAEAAAD5/wcAAAAAAAEAAAACAAcAAAAAAAEAAAADAAcAAAAAAAEAAAAEAAcAAAAAAAEAAAAFAAcAAAAAAAEAAAAFAAgAAAAAAAEAAAADAAYAAAAAAAEAAAAEAAYAAAAAAAEAAAAFAAYAAAAAAAEAAAAGAAYAAAAAAAEAAAAHAAYAAAAAAAEAAAAIAAYAAAAAAAEAAAAJAAYAAAAAAAEAAAAKAAYAAAAAAAEAAAALAAYAAAAAAAEAAAAMAAYAAAAAAAEAAAAfAP3/AQAAAAIAAAAfAPz/AQABAAIAAAAgAPz/AQABAAIAAAAgAPv/AQABAAIAAAAgAPr/AQABAAEAAAAgAPn/AQABAAIAAAAfAPn/AQABAAIAAAAfAPr/AQABAAIAAAAfAPv/AQACAAIAAAAeAPv/AQAAAAIAAAAeAPz/AQAAAAEAAAAeAPr/AQAAAAEAAAAfAPj/AQACAAIAAAAgAP3/AQABAAEAAAAgAP7/AQABAAIAAAAfAP7/AQAAAAIAAAAfAAIAAQAAAAIAAAAfAAMAAQAAAAEAAAAgAAMAAQABAAIAAAAgAAIAAQABAAIAAAAgAAEAAQAAAAIAAAAgAAAAAQAAAAIAAAAgAAQAAQABAAIAAAAfAAQAAQAAAAEAAAAfAAUAAAAAAAEAAAAfAAYAAQAAAAMAAAAgAAYAAQABAAIAAAAgAAcAAAAAAAEAAAAgAAUAAQABAAIAAAAhAAYAAQABAAEAAAAWAAQAAAAAAAEAAAAUAAYAAAAAAAEAAAATAAYAAAAAAAEAAAASAAYAAAAAAAEAAAASAAcAAAAAAAEAAAARAAcAAAAAAAEAAAAQAAcAAAAAAAEAAAAQAAYAAAAAAAEAAAAPAAYAAAAAAAEAAAAOAAYAAAAAAAEAAAANAAYAAAAAAAEAAAARAAYAAAAAAAEAAAAPAAcAAAAAAAEAAAAOAAcAAAAAAAEAAAANAAcAAAAAAAEAAAAMAAcAAAAAAAEAAAAgAP//AQAAAAIAAAAhAAcAAQABAAIAAAAhAAgAAAAAAAEAAAAhAAkAAQABAAMAAAAgAAgAAQAAAAMAAAAfAPb/AQACAAAAAAAeAPb/AQAAAAAAAAAeAPf/AQAAAAEAAAAeAPj/AQAAAAIAAAAeAPn/AQAAAAEAAAAfAPf/AQABAAEAAAAgAPf/AQACAAIAAAAgAPX/AQABAAAAAAAgAPb/AQABAAEAAAAgAPj/AQABAAIAAAAXAAMAAAAAAAEAAAAXAAQAAAAAAAEAAAAVAAUAAAAAAAEAAAAWAAUAAAAAAAEAAAAXAAUAAAAAAAEAAAATAAcAAAAAAAEAAAAVAAYAAAAAAAEAAAAhAPX/AQACAAAAAAAhAPb/AQABAAIAAAAhAPf/AQABAAIAAAAhAPj/AQABAAIAAAAhAPn/AQABAAIAAAAhAPr/AQABAAIAAAAhAPv/AQABAAIAAAAhAPz/AQABAAIAAAAhAP3/AQABAAIAAAAhAP7/AQABAAIAAAAhAP//AQABAAIAAAAhAAAAAQABAAIAAAAhAAEAAQABAAIAAAAhAAIAAQABAAIAAAAhAAMAAQABAAIAAAAhAAQAAQABAAIAAAAhAAUAAQABAAIAAAAiAPX/AQABAAAAAAAiAPb/AQABAAIAAAAiAPf/AQABAAEAAAAiAPj/AQABAAIAAAAiAPn/AQABAAIAAAAiAPr/AQABAAIAAAAiAPv/AQABAAIAAAAiAPz/AQABAAIAAAAiAP3/AQABAAIAAAAiAP7/AQABAAIAAAAiAP//AQABAAIAAAAiAAAAAQABAAIAAAAiAAEAAQABAAIAAAAiAAIAAQABAAIAAAAiAAMAAQACAAEAAAAiAAQAAQABAAIAAAAiAAUAAQABAAIAAAAiAAYAAQACAAEAAAAiAAcAAQACAAIAAAAiAAgAAAAAAAEAAAAiAAkAAQACAAMAAAAjAPX/AQACAAAAAAAjAPb/AQABAAIAAAAjAPf/AQABAAIAAAAjAPj/AQABAAIAAAAjAPn/AQABAAEAAAAjAPr/AQABAAIAAAAjAPv/AQABAAIAAAAjAPz/AQABAAIAAAAjAP3/AQABAAIAAAAjAP7/AQABAAIAAAAjAP//AQACAAEAABAjAAAAAQACAAIAAAAjAAEAAQABAAIAAAAjAAIAAQABAAEAAAAjAAMAAQABAAIAAAAjAAQAAQABAAIAAAAjAAUAAQAEAAEAAAAjAAYAAQAEAAIAAAAjAAcAAQABAAIAAAAjAAgAAAAAAAEAAAAjAAkAAQABAAMAAAAkAPX/AQABAAAAAAAkAPb/AQABAAIAAAAkAPf/AQABAAIAAAAkAPj/AQABAAEAAAAkAPn/AQABAAEAAAAkAPr/AQABAAEAAAAkAPv/AQABAAEAAAAkAPz/AQABAAIAAAAkAP3/AQABAAEAAAAkAP7/AQABAAEAAAAkAP//AQACAAEAABAkAAAAAQABAAIAAAAkAAEAAQABAAIAAAAkAAIAAQABAAEAAAAkAAMAAQABAAIAAAAkAAQAAQABAAIAAAAkAAUAAQAFAAEAAAAkAAYAAQAFAAIAAAAkAAcAAQABAAIAAAAkAAgAAAAAAAEAAAAkAAkAAQACAAMAAAAlAPX/AQACAAAAAAAlAPb/AQABAAIAAAAlAPf/AQABAAIAAAAlAPj/AQABAAIAAAAlAPn/AQABAAIAAAAlAPr/AQABAAIAAAAlAPv/AQABAAIAAAAlAPz/AQABAAEAAAAlAP3/AQABAAIAAAAlAP7/AQABAAIAAAAlAP//AQABAAIAAAAlAAAAAQABAAEAAAAlAAEAAQABAAIAAAAlAAIAAQABAAEAAAAlAAMAAQABAAIAAAAlAAQAAQABAAIAAAAlAAUAAQABAAIAAAAlAAYAAQACAAEAAAAlAAcAAQABAAIAAAAlAAgAAAAAAAEAAAAlAAkAAQABAAMAAAAmAPX/AQABAAAAAAAmAPb/AQABAAIAAAAmAPf/AQAEAAEAAAAmAPj/AQAEAAIAAAAmAPn/AQAEAAMAAAAmAPr/AQABAAIAAAAmAPv/AQABAAIAAAAmAPz/AQABAAIAAAAmAP3/AQAEAAAAAAAmAP7/AQABAAIAAAAmAP//AQABAAIAAAAmAAAAAQABAAIAAAAmAAEAAQABAAIAAAAmAAIAAQABAAIAAAAmAAMAAQABAAIAAAAmAAQAAQABAAIAAAAmAAUAAQABAAIAAAAmAAYAAQABAAIAAAAmAAcAAQABAAIAAAAmAAgAAAAAAAEAAAAmAAkAAQACAAMAAAAnAPX/AQACAAAAAAAnAPb/AQABAAIAAAAnAPf/AQAFAAEAAAAnAPj/AQAFAAIAAAAnAPn/AQAFAAMAAAAnAPr/AQABAAEAAAAnAPv/AQABAAIAAAAnAPz/AQABAAIAAAAnAP3/AQAFAAAAAAAnAP7/AQABAAIAAAAnAP//AQABAAIAAAAnAAAAAQAEAAAAAAAnAAEAAQABAAIAAAAnAAIAAQABAAIAAAAnAAMAAQABAAIAAAAnAAQAAQABAAIAAAAnAAUAAQABAAIAAAAnAAYAAQABAAIAAAAnAAcAAQABAAIAAAAnAAgAAAAAAAEAAAAnAAkAAQABAAMAAAAoAPX/AQABAAAAAAAoAPb/AQABAAIAAAAoAPf/AQABAAIAAAAoAPj/AQAEAAAAAAAoAPn/AQABAAIAAAAoAPr/AQABAAIAAAAoAPv/AQABAAIAAAAoAPz/AQABAAIAAAAoAP3/AQABAAIAAAAoAP7/AQABAAIAAAAoAP//AQABAAIAAAAoAAAAAQAFAAAAAAAoAAEAAQAEAAEAAAAoAAIAAQAEAAIAAAAoAAMAAQAEAAMAAAAoAAQAAQABAAIAAAAoAAUAAQABAAIAAAAoAAYAAQABAAIAAAAoAAcAAQABAAIAAAAoAAgAAAAAAAEAAAAoAAkAAQACAAMAAAApAPX/AQACAAAAAAApAPb/AQABAAIAAAApAPf/AQABAAIAAAApAPj/AQAFAAAAAAApAPn/AQABAAIAAAApAPr/AQABAAEAAAApAPv/AQABAAEAAAApAPz/AQABAAIAAAApAP3/AQABAAIAAAApAP7/AQABAAIAAAApAP//AQABAAIAAAApAAAAAQABAAIAAAApAAEAAQAFAAEAAAApAAIAAQAFAAIAAAApAAMAAQAFAAMAAAApAAQAAQABAAIAAAApAAUAAQACAAEAAAApAAYAAQABAAIAAAApAAcAAQABAAIAAAApAAgAAAAAAAEAAAApAAkAAQABAAMAAAAqAPX/AQABAAAAAAAqAPb/AQABAAIAAAAqAPf/AQABAAIAAAAqAPj/AQABAAIAAAAqAPn/AQABAAIAAAAqAPr/AQABAAIAAAAqAPv/AQABAAIAAAAqAPz/AQABAAEAAAAqAP3/AQABAAEAAAAqAP7/AQAEAAMAAAAqAP//AQABAAIAAAAqAAAAAQABAAIAAAAqAAEAAQABAAIAAAAqAAIAAQABAAIAAAAqAAMAAQABAAIAAAAqAAQAAQABAAIAAAAqAAUAAQABAAIAAAAqAAYAAQABAAIAAAAqAAcAAQABAAIAAAAqAAgAAAAAAAEAAAAqAAkAAQACAAMAAAArAPX/AQABAAAAAAArAPb/AQABAAIAAAArAPf/AQABAAIAAAArAPj/AQABAAIAAAArAPn/AQABAAIAAAArAPr/AQABAAIAAAArAPv/AQABAAEAAAArAPz/AQABAAIAAAArAP3/AQABAAIAAAArAP7/AQAFAAMAAAArAP//AQABAAIAAAArAAAAAQABAAIAAAArAAEAAQABAAIAAAArAAIAAQABAAIAAAArAAMAAQABAAIAAAArAAQAAQABAAIAAAArAAUAAQABAAIAAAArAAYAAQAEAAEAAAArAAcAAQAEAAIAAAArAAgAAAAAAAEAAAArAAkAAQABAAMAAAAsAPX/AQACAAAAAAAsAPb/AQABAAIAAAAsAPf/AQABAAIAAAAsAPj/AQABAAIAAAAsAPn/AQABAAEAAAAsAPr/AQABAAEAAAAsAPv/AQABAAIAAAAsAPz/AQABAAIAAAAsAP3/AQABAAIAAAAsAP7/AQABAAIAAAAsAP//AQABAAIAAAAsAAAAAQABAAEAAAAsAAEAAQABAAIAAAAsAAIAAQAEAAEAAAAsAAMAAQAEAAIAAAAsAAQAAQABAAIAAAAsAAUAAQABAAIAAAAsAAYAAQAFAAEAAAAsAAcAAQAFAAIAAAAsAAgAAAAAAAEAAAAsAAkAAQACAAMAAAAtAPX/AQABAAAAAAAtAPb/AQABAAIAAAAtAPf/AQABAAEAAAAtAPj/AQABAAIAAAAtAPn/AQABAAIAAAAtAPr/AQABAAIAAAAtAPv/AQABAAEAAAAtAPz/AQABAAEAAAAtAP3/AQABAAIAAAAtAP7/AQABAAEAAAAtAP//AQABAAIAAAAtAAAAAQABAAIAAAAtAAEAAQABAAIAAAAtAAIAAQAFAAEAAAAtAAMAAQAFAAIAAAAtAAQAAQABAAIAAAAtAAUAAQABAAIAAAAtAAYAAQABAAIAAAAtAAcAAQABAAIAAAAtAAgAAAAAAAEAAAAtAAkAAQABAAMAAAAuAPX/AQACAAAAAAAuAPb/AQABAAIAAAAuAPf/AQABAAIAAAAuAPj/AQABAAIAAAAuAPn/AQABAAIAAAAuAPr/AQABAAIAAAAuAPv/AQABAAIAAAAuAPz/AQABAAIAAAAuAP3/AQABAAIAAAAuAP7/AQABAAIAAAAuAP//AQABAAIAAAAuAAAAAQABAAIAAAAuAAEAAQAEAAAAAAAuAAIAAQABAAIAAAAuAAMAAQABAAIAAAAuAAQAAQABAAIAAAAuAAUAAQABAAIAAAAuAAYAAQABAAIAAAAuAAcAAQABAAIAAAAuAAgAAAAAAAEAAAAuAAkAAQACAAMAAAAvAPX/AQABAAAAAAAvAPb/AQABAAIAAAAvAPf/AQAEAAEAAAAvAPj/AQAEAAIAAAAvAPn/AQAEAAMAAAAvAPr/AQABAAIAAAAvAPv/AQABAAIAAAAvAPz/AQAEAAAAAAAvAP3/AQABAAIAAAAvAP7/AQABAAIAAAAvAP//AQAEAAMAACAvAAAAAQABAAIAAAAvAAEAAQAFAAAAAAAvAAIAAQABAAIAAAAvAAMAAQABAAIAAAAvAAQAAQABAAIAAAAvAAUAAQABAAIAAAAvAAYAAQAEAAEAAAAvAAcAAQAEAAIAAAAvAAgAAAAAAAEAAAAvAAkAAQABAAMAAAAwAPX/AQACAAAAAAAwAPb/AQABAAIAAAAwAPf/AQAFAAEAAAAwAPj/AQAFAAIAAAAwAPn/AQAFAAMAAAAwAPr/AQABAAIAAAAwAPv/AQABAAIAAAAwAPz/AQAFAAAAAAAwAP3/AQABAAIAAAAwAP7/AQABAAIAAAAwAP//AQAFAAMAACAwAAAAAQABAAIAAAAwAAEAAQABAAIAAAAwAAIAAQABAAIAAAAwAAMAAQABAAIAAAAwAAQAAQABAAIAAAAwAAUAAQACAAEAAAAwAAYAAQAFAAEAAAAwAAcAAQAFAAIAAAAwAAgAAAAAAAEAAAAwAAkAAQACAAMAAAAxAPX/AQABAAAAAAAxAPb/AQABAAIAAAAxAPf/AQABAAIAAAAxAPj/AQABAAIAAAAxAPn/AQABAAIAAAAxAPr/AQABAAEAAAAxAPv/AQABAAIAAAAxAPz/AQABAAIAAAAxAP3/AQABAAIAAAAxAP7/AQABAAIAAAAxAP//AQABAAIAAAAxAAAAAQABAAIAAAAxAAEAAQABAAIAAAAxAAIAAQABAAIAAAAxAAMAAQABAAIAAAAxAAQAAQABAAIAAAAxAAUAAQABAAIAAAAxAAYAAQABAAIAAAAxAAcAAQABAAIAAAAxAAgAAAAAAAEAAAAxAAkAAQABAAMAAAAyAPX/AQACAAAAAAAyAPb/AQABAAIAAAAyAPf/AQABAAIAAAAyAPj/AQABAAIAAAAyAPn/AQABAAIAAAAyAPr/AQABAAIAAAAyAPv/AQABAAIAAAAyAPz/AQABAAIAAAAyAP3/AQABAAIAAAAyAP7/AQABAAIAAAAyAP//AQABAAIAAAAyAAAAAQABAAIAAAAyAAEAAQABAAIAAAAyAAIAAQABAAIAAAAyAAMAAQABAAIAAAAyAAQAAQABAAIAAAAyAAUAAQABAAIAAAAyAAYAAQABAAIAAAAyAAcAAQABAAIAAAAyAAgAAAAAAAEAAAAyAAkAAQACAAMAAAAzAPX/AQADAAAAAAAzAPb/AQADAAEAAAAzAPf/AQADAAIAAAAzAPj/AQADAAEAAAAzAPn/AQADAAIAAAAzAPr/AQADAAEAAAAzAPv/AQADAAIAAAAzAPz/AQADAAEAAAAzAP3/AQADAAIAAAAzAP7/AQADAAEAAAAzAP//AQADAAIAAAAzAAAAAQADAAEAAAAzAAEAAQADAAIAAAAzAAIAAQADAAEAAAAzAAMAAQADAAIAAAAzAAQAAQADAAEAAAAzAAUAAQADAAEAAAAzAAYAAQADAAIAAAAzAAkAAQADAAMAAAA2APX/AQAAAAAAAAA2APb/AQAAAAIAAAA2APf/AQAAAAEAAAA2APj/AQAAAAIAAAA2APn/AQAAAAEAAAA2APr/AQAAAAIAAAA2APv/AQABAAIAAAA2APz/AQAAAAEAAAA2AP3/AQAAAAIAAAA2AP7/AQAAAAEAAAA2AP//AQAAAAIAAAA2AAAAAQABAAIAAAA2AAEAAQAAAAEAAAA2AAIAAQAAAAIAAAA2AAMAAQAAAAEAAAA2AAQAAQAAAAIAAAA2AAUAAQAAAAEAAAA2AAYAAQAAAAEAAAA2AAcAAQAAAAIAAAA2AAgAAQABAAIAAAA2AAkAAQAAAAMAAAA3APX/AQABAAAAAAA3APb/AQABAAIAAAA3APf/AQACAAEAAAA3APj/AQABAAIAAAA3APn/AQABAAIAAAA3APr/AQABAAIAAAA3APv/AQABAAIAAAA3APz/AQABAAIAAAA3AP3/AQABAAIAAAA3AP7/AQABAAIAAAA3AP//AQABAAIAAAA3AAAAAQABAAIAAAA3AAEAAQABAAIAAAA3AAIAAQABAAIAAAA3AAMAAQABAAIAAAA3AAQAAQABAAIAAAA3AAUAAQABAAIAAAA3AAYAAQABAAIAAAA3AAcAAQABAAIAAAA3AAgAAQABAAIAAAA3AAkAAQABAAMAAAA4APX/AQACAAAAAAA4APb/AQABAAIAAAA4APf/AQABAAIAAAA4APj/AQABAAIAAAA4APn/AQACAAEAAAA4APr/AQABAAIAAAA4APv/AQAEAAMAAAA4APz/AQABAAIAAAA4AP3/AQABAAIAAAA4AP7/AQABAAIAAAA4AP//AQABAAEAAAA4AAAAAQABAAIAAAA4AAEAAQABAAIAAAA4AAIAAQABAAIAAAA4AAMAAQACAAIAAAA4AAQAAQABAAIAAAA4AAUAAQACAAIAAAA4AAYAAQABAAIAAAA4AAcAAQABAAIAAAA4AAgAAQABAAIAAAA4AAkAAQACAAMAAAA5APX/AQABAAAAAAA5APb/AQABAAIAAAA5APf/AQABAAIAAAA5APj/AQABAAIAAAA5APn/AQABAAIAAAA5APr/AQABAAIAAAA5APv/AQAFAAMAAAA5APz/AQABAAIAAAA5AP3/AQABAAIAAAA5AP7/AQABAAIAAAA5AP//AQABAAIAAAA5AAAAAQABAAIAAAA5AAEAAQABAAIAAAA5AAIAAQABAAIAAAA5AAMAAQABAAIAAAA5AAQAAQABAAIAAAA5AAUAAQABAAIAAAA5AAYAAQABAAIAAAA5AAcAAQACAAIAAAA5AAgAAQABAAIAAAA5AAkAAQABAAMAAAA6APX/AQACAAAAAAA6APb/AQABAAIAAAA6APf/AQABAAIAAAA6APj/AQABAAIAAAA6APn/AQACAAEAAAA6APr/AQABAAEAAAA6APv/AQABAAIAAAA6APz/AQABAAIAAAA6AP3/AQABAAEAAAA6AP7/AQABAAIAAAA6AP//AQABAAIAAAA6AAAAAQABAAIAAAA6AAEAAQABAAIAAAA6AAIAAQABAAIAAAA6AAMAAQABAAIAAAA6AAQAAQABAAIAAAA6AAUAAQACAAIAAAA6AAYAAQABAAIAAAA6AAcAAQABAAIAAAA6AAgAAQABAAIAAAA6AAkAAQACAAMAAAA7APX/AQABAAAAAAA7APb/AQABAAIAAAA7APf/AQABAAIAAAA7APj/AQABAAIAAAA7APn/AQABAAIAAAA7APr/AQABAAEAAAA7APv/AQABAAIAAAA7APz/AQABAAIAAAA7AP3/AQABAAIAAAA7AP7/AQABAAIAAAA7AP//AQABAAIAAAA7AAAAAQABAAIAAAA7AAEAAQABAAIAAAA7AAIAAQABAAIAAAA7AAMAAQABAAIAAAA7AAQAAQABAAIAAAA7AAUAAQABAAIAAAA7AAYAAQABAAIAAAA7AAcAAQABAAIAAAA7AAgAAQABAAIAAAA7AAkAAQABAAMAAAA8APX/AQACAAAAAAA8APb/AQABAAIAAAA8APf/AQABAAIAAAA8APj/AQABAAIAAAA8APn/AQABAAIAAAA8APr/AQABAAIAAAA8APv/AQABAAIAAAA8APz/AQABAAIAAAA8AP3/AQABAAIAAAA8AP7/AQABAAIAAAA8AP//AQABAAIAAAA8AAAAAQABAAIAAAA8AAEAAQABAAIAAAA8AAIAAQAEAAEAAAA8AAMAAQAEAAIAAAA8AAQAAQABAAIAAAA8AAUAAQABAAIAAAA8AAYAAQABAAIAAAA8AAcAAQABAAIAAAA8AAgAAQABAAIAAAA8AAkAAQACAAMAAAA9APX/AQABAAAAAAA9APb/AQABAAIAAAA9APf/AQABAAIAAAA9APj/AQABAAIAAAA9APn/AQABAAIAAAA9APr/AQABAAIAAAA9APv/AQABAAIAAAA9APz/AQACAAEAAAA9AP3/AQABAAIAAAA9AP7/AQABAAIAAAA9AP//AQABAAIAAAA9AAAAAQABAAIAAAA9AAEAAQABAAIAAAA9AAIAAQAFAAEAAAA9AAMAAQAFAAIAAAA9AAQAAQABAAIAAAA9AAUAAQACAAIAAAA9AAYAAQABAAIAAAA9AAcAAQABAAIAAAA9AAgAAQABAAIAAAA9AAkAAQABAAMAAAA+APX/AQACAAAAAAA+APb/AQABAAIAAAA+APf/AQABAAIAAAA+APj/AQACAAEAAAA+APn/AQABAAIAAAA+APr/AQABAAEAAAA+APv/AQABAAIAAAA+APz/AQAEAAMAAAA+AP3/AQABAAIAAAA+AP7/AQABAAIAAAA+AP//AQABAAIAAAA+AAAAAQABAAIAAAA+AAEAAQABAAIAAAA+AAIAAQABAAEAAAA+AAMAAQABAAIAAAA+AAQAAQABAAIAAAA+AAUAAQABAAIAAAA+AAYAAQABAAIAAAA+AAcAAQABAAIAAAA+AAgAAQABAAIAAAA+AAkAAQACAAMAAAA/APX/AQABAAAAAAA/APb/AQABAAIAAAA/APf/AQABAAIAAAA/APj/AQABAAIAAAA/APn/AQABAAIAAAA/APr/AQABAAIAAAA/APv/AQABAAIAAAA/APz/AQAFAAMAAAA/AP3/AQABAAIAAAA/AP7/AQABAAIAAAA/AP//AQABAAIAAAA/AAAAAQABAAEAAAA/AAEAAQABAAEAAAA/AAIAAQABAAIAAAA/AAMAAQACAAEAAAA/AAQAAQABAAIAAAA/AAUAAQABAAIAAAA/AAYAAQACAAEAAAA/AAcAAQABAAIAAAA/AAgAAQABAAIAAAA/AAkAAQABAAMAAABAAPX/AQACAAAAAABAAPb/AQABAAIAAABAAPf/AQABAAIAAABAAPj/AQABAAIAAABAAPn/AQABAAIAAABAAPr/AQABAAIAAABAAPv/AQABAAIAAABAAPz/AQABAAIAAABAAP3/AQACAAIAAABAAP7/AQABAAIAAABAAP//AQABAAIAAABAAAAAAQABAAIAAABAAAEAAQABAAIAAABAAAIAAQABAAIAAABAAAMAAQABAAIAAABAAAQAAQABAAIAAABAAAUAAQACAAIAAABAAAYAAQACAAIAAABAAAcAAQABAAIAAABAAAgAAQABAAIAAABAAAkAAQACAAMAAABBAPX/AQABAAAAAABBAPb/AQABAAIAAABBAPf/AQABAAIAAABBAPj/AQABAAIAAABBAPn/AQABAAIAAABBAPr/AQABAAIAAABBAPv/AQABAAIAAABBAPz/AQABAAIAAABBAP3/AQABAAIAAABBAP7/AQABAAIAAABBAP//AQABAAIAAABBAAAAAQABAAIAAABBAAEAAQABAAIAAABBAAIAAQABAAIAAABBAAMAAQABAAIAAABBAAQAAQABAAIAAABBAAUAAQACAAEAAABBAAYAAQABAAIAAABBAAcAAQABAAIAAABBAAgAAQACAAIAAABBAAkAAQABAAMAAABCAPX/AQACAAAAAABCAPb/AQABAAIAAABCAPf/AQABAAIAAABCAPj/AQABAAIAAABCAPn/AQABAAIAAABCAPr/AQABAAIAAABCAPv/AQABAAIAAABCAPz/AQABAAIAAABCAP3/AQABAAIAAABCAP7/AQACAAIAAABCAP//AQACAAEAAABCAAAAAQABAAIAAABCAAEAAQABAAIAAABCAAIAAQABAAIAAABCAAMAAQABAAIAAABCAAQAAQACAAIAAABCAAUAAQABAAIAAABCAAYAAQABAAIAAABCAAcAAQABAAIAAABCAAgAAQABAAEAAABCAAkAAQACAAMAAABDAPX/AQABAAAAAABDAPb/AQABAAIAAABDAPf/AQABAAIAAABDAPj/AQABAAIAAABDAPn/AQABAAIAAABDAPr/AQABAAIAAABDAPv/AQABAAIAAABDAPz/AQABAAIAAABDAP3/AQABAAIAAABDAP7/AQABAAIAAABDAP//AQABAAIAAABDAAAAAQACAAIAAABDAAEAAQABAAIAAABDAAIAAQABAAIAAABDAAMAAQABAAIAAABDAAQAAQABAAIAAABDAAUAAQABAAIAAABDAAYAAQABAAIAAABDAAcAAQABAAIAAABDAAgAAQABAAIAAABDAAkAAQABAAMAAABEAPX/AQACAAAAAABEAPb/AQABAAIAAABEAPf/AQABAAIAAABEAPj/AQABAAIAAABEAPn/AQAEAAMAAABEAPr/AQABAAIAAABEAPv/AQABAAIAAABEAPz/AQABAAIAAABEAP3/AQABAAIAAABEAP7/AQABAAIAAABEAP//AQACAAEAAABEAAAAAQABAAIAAABEAAEAAQABAAIAAABEAAIAAQABAAIAAABEAAMAAQABAAIAAABEAAQAAQABAAIAAABEAAUAAQABAAIAAABEAAYAAQACAAIAAABEAAcAAQABAAIAAABEAAgAAQABAAIAAABEAAkAAQACAAMAAABFAPX/AQABAAAAAABFAPb/AQABAAIAAABFAPf/AQABAAIAAABFAPj/AQABAAIAAABFAPn/AQAFAAMAAABFAPr/AQABAAIAAABFAPv/AQABAAIAAABFAPz/AQABAAIAAABFAP3/AQABAAIAAABFAP7/AQABAAIAAABFAP//AQACAAEAAABFAAAAAQABAAEAAABFAAEAAQABAAIAAABFAAIAAQABAAIAAABFAAMAAQABAAIAAABFAAQAAQABAAIAAABFAAUAAQACAAIAAABFAAYAAQABAAIAAABFAAcAAQABAAIAAABFAAgAAQABAAIAAABFAAkAAQABAAMAAABGAPX/AQACAAAAAABGAPb/AQACAAIAAABGAPf/AQABAAIAAABGAPj/AQABAAIAAABGAPn/AQABAAIAAABGAPr/AQABAAIAAABGAPv/AQABAAIAAABGAPz/AQABAAEAAABGAP3/AQABAAIAAABGAP7/AQABAAEAAABGAP//AQABAAIAAABGAAAAAQABAAIAAABGAAEAAQABAAIAAABGAAIAAQABAAIAAABGAAMAAQABAAIAAABGAAQAAQACAAEAAABGAAUAAQABAAIAAABGAAYAAQABAAIAAABGAAcAAQABAAIAAABGAAgAAQABAAIAAABGAAkAAQACAAMAAABHAOH/AQAAAAEAAABHAOL/AQAAAAIAAABHAOP/AQAAAAIAAABHAOT/AQAAAAEAAABHAOX/AQAAAAIAAABHAOb/AQAAAAEAAABHAOf/AQAAAAIAAABHAOj/AQAAAAEAAABHAOn/AQAAAAIAAABHAOr/AQAAAAEAAABHAOv/AQAAAAIAAABHAOz/AQAAAAEAAABHAO3/AQAAAAIAAABHAO7/AQAAAAEAAABHAO//AQAAAAIAAABHAPD/AQAAAAEAAABHAPH/AQAAAAIAAABHAPL/AQAAAAIAAABHAPP/AQAAAAEAAABHAPT/AQAAAAIAAABHAPX/AQABAAIAAABHAPb/AQABAAIAAABHAPf/AQABAAIAAABHAPj/AQABAAIAAABHAPn/AQABAAIAAABHAPr/AQABAAIAAABHAPv/AQABAAIAAABIAOH/AQACAAIAAABIAOL/AQABAAIAAABIAOP/AQABAAIAAABIAOT/AQABAAEAAABIAOX/AQACAAEAAABIAOb/AQACAAEAAABIAOf/AQABAAIAAABIAOj/AQABAAIAAABIAOn/AQABAAIAAABIAOr/AQABAAIAAABIAOv/AQABAAIAAABIAOz/AQABAAIAAABIAO3/AQABAAIAAABIAO7/AQABAAIAAABIAO//AQABAAEAAABIAPD/AQABAAEAAABIAPH/AQABAAIAAABIAPL/AQABAAIAAABIAPP/AQABAAIAAABIAPT/AQABAAIAAABIAPX/AQABAAIAAABIAPb/AQABAAIAAABIAPf/AQABAAIAAABIAPj/AQABAAIAAABIAPn/AQABAAIAAABIAPr/AQABAAIAAABIAPv/AQABAAIAAABJAOH/AQABAAIAAABJAOL/AQABAAIAAABJAOP/AQACAAIAAABJAOT/AQABAAIAAABJAOX/AQABAAIAAABJAOb/AQABAAIAAABJAOf/AQABAAIAAABJAOj/AQABAAIAAABJAOn/AQABAAIAAABJAOr/AQABAAIAAABJAOv/AQABAAIAAABJAOz/AQABAAIAAABJAO3/AQABAAIAAABJAO7/AQABAAIAAABJAO//AQABAAIAAABJAPD/AQABAAIAAABJAPH/AQABAAIAAABJAPL/AQACAAEAAABJAPP/AQABAAIAAABJAPT/AQABAAIAAABJAPX/AQABAAIAAABJAPb/AQABAAIAAABJAPf/AQABAAIAAABJAPj/AQABAAIAAABJAPn/AQABAAIAAABJAPr/AQABAAIAAABJAPv/AQABAAIAAABKAOH/AQABAAIAAABKAOL/AQABAAIAAABKAOP/AQABAAIAAABKAOT/AQABAAIAAABKAOX/AQABAAIAAABKAOb/AQABAAIAAABKAOf/AQABAAIAAABKAOj/AQABAAIAAABKAOn/AQABAAIAAABKAOr/AQABAAIAAABKAOv/AQABAAEAAABKAOz/AQABAAIAAABKAO3/AQABAAIAAABKAO7/AQABAAIAAABKAO//AQABAAIAAABKAPD/AQABAAIAAABKAPH/AQABAAIAAABKAPL/AQABAAIAAABKAPP/AQABAAIAAABKAPT/AQABAAIAAABKAPX/AQABAAIAAABKAPb/AQABAAIAAABKAPf/AQABAAIAAABKAPj/AQABAAIAAABKAPn/AQABAAIAAABKAPr/AQABAAIAAABKAPv/AQACAAIAAABLAOH/AQABAAIAAABLAOL/AQABAAIAAABLAOP/AQABAAIAAABLAOT/AQABAAIAAABLAOX/AQABAAIAAABLAOb/AQABAAIAAABLAOf/AQABAAIAAABLAOj/AQABAAIAAABLAOn/AQAEAAMAAABLAOr/AQABAAIAAABLAOv/AQABAAIAAABLAOz/AQABAAIAAABLAO3/AQABAAIAAABLAO7/AQACAAEAAABLAO//AQABAAIAAABLAPD/AQABAAIAAABLAPH/AQABAAIAAABLAPL/AQABAAIAAABLAPP/AQABAAIAAABLAPT/AQABAAIAAABLAPX/AQABAAIAAABLAPb/AQABAAIAAABLAPf/AQABAAIAAABLAPj/AQABAAIAAABLAPn/AQABAAIAAABLAPr/AQABAAIAAABLAPv/AQACAAIAAABMAOH/AQABAAIAAABMAOL/AQABAAIAAABMAOP/AQABAAEAAABMAOT/AQABAAIAAABMAOX/AQABAAIAAABMAOb/AQABAAIAAABMAOf/AQABAAIAAABMAOj/AQABAAIAAABMAOn/AQAFAAMAAABMAOr/AQABAAIAAABMAOv/AQABAAIAAABMAOz/AQABAAIAAABMAO3/AQABAAIAAABMAO7/AQACAAEAAABMAO//AQABAAIAAABMAPD/AQABAAIAAABMAPH/AQABAAIAAABMAPL/AQABAAIAAABMAPP/AQABAAIAAABMAPT/AQABAAEAAABMAPX/AQABAAIAAABMAPb/AQAEAAMAAABMAPf/AQABAAIAAABMAPj/AQABAAIAAABMAPn/AQABAAIAAABMAPr/AQABAAIAAABMAPv/AQABAAIAAABNAOH/AQABAAIAAABNAOL/AQABAAIAAABNAOP/AQAEAAMAAABNAOT/AQABAAIAAABNAOX/AQABAAIAAABNAOb/AQABAAIAAABNAOf/AQABAAIAAABNAOj/AQABAAIAAABNAOn/AQABAAIAAABNAOr/AQABAAIAAABNAOv/AQABAAIAAABNAOz/AQAEAAEAAABNAO3/AQAEAAIAAABNAO7/AQABAAIAAABNAO//AQABAAIAAABNAPD/AQABAAIAAABNAPH/AQABAAIAAABNAPL/AQABAAIAAABNAPP/AQACAAIAAABNAPT/AQABAAIAAABNAPX/AQABAAIAAABNAPb/AQAFAAMAAABNAPf/AQABAAIAAABNAPj/AQABAAIAAABNAPn/AQABAAIAAABNAPr/AQABAAIAAABNAPv/AQABAAIAAABOAOH/AQABAAIAAABOAOL/AQABAAIAAABOAOP/AQAFAAMAAABOAOT/AQABAAIAAABOAOX/AQABAAIAAABOAOb/AQABAAIAAABOAOf/AQABAAIAAABOAOj/AQABAAIAAABOAOn/AQABAAIAAABOAOr/AQABAAEAAABOAOv/AQABAAEAAABOAOz/AQAFAAEAAABOAO3/AQAFAAIAAABOAO7/AQABAAIAAABOAO//AQABAAIAAABOAPD/AQABAAIAAABOAPH/AQABAAIAAABOAPL/AQABAAIAAABOAPP/AQABAAIAAABOAPT/AQABAAIAAABOAPX/AQACAAIAAABOAPb/AQACAAEAAABOAPf/AQABAAIAAABOAPj/AQABAAIAAABOAPn/AQABAAIAAABOAPr/AQABAAIAAABOAPv/AQABAAIAAABPAOH/AQABAAIAAABPAOL/AQABAAIAAABPAOP/AQABAAIAAABPAOT/AQABAAIAAABPAOX/AQABAAIAAABPAOb/AQABAAIAAABPAOf/AQABAAIAAABPAOj/AQABAAIAAABPAOn/AQABAAIAAABPAOr/AQABAAIAAABPAOv/AQABAAIAAABPAOz/AQABAAIAAABPAO3/AQACAAEAAABPAO7/AQABAAIAAABPAO//AQABAAIAAABPAPD/AQABAAEAAABPAPH/AQAEAAMAAABPAPL/AQABAAIAAABPAPP/AQABAAIAAABPAPT/AQABAAIAAABPAPX/AQABAAIAAABPAPb/AQABAAIAAABPAPf/AQABAAIAAABPAPj/AQABAAIAAABPAPn/AQABAAIAAABPAPr/AQABAAIAAABPAPv/AQABAAIAAABQAOH/AQABAAIAAABQAOL/AQABAAIAAABQAOP/AQABAAIAAABQAOT/AQABAAIAAABQAOX/AQABAAIAAABQAOb/AQABAAIAAABQAOf/AQABAAIAAABQAOj/AQABAAIAAABQAOn/AQABAAEAAABQAOr/AQABAAIAAABQAOv/AQABAAIAAABQAOz/AQABAAIAAABQAO3/AQABAAIAAABQAO7/AQABAAIAAABQAO//AQABAAIAAABQAPD/AQABAAIAAABQAPH/AQAFAAMAAABQAPL/AQABAAIAAABQAPP/AQABAAIAAABQAPT/AQABAAIAAABQAPX/AQABAAIAAABQAPb/AQACAAEAAABQAPf/AQABAAIAAABQAPj/AQABAAIAAABQAPn/AQABAAIAAABQAPr/AQABAAIAAABQAPv/AQABAAIAAABRAOH/AQABAAEAAABRAOL/AQABAAIAAABRAOP/AQABAAIAAABRAOT/AQABAAIAAABRAOX/AQABAAIAAABRAOb/AQABAAIAAABRAOf/AQABAAIAAABRAOj/AQABAAIAAABRAOn/AQABAAIAAABRAOr/AQABAAIAAABRAOv/AQABAAIAAABRAOz/AQABAAIAAABRAO3/AQABAAIAAABRAO7/AQABAAIAAABRAO//AQABAAIAAABRAPD/AQABAAIAAABRAPH/AQABAAIAAABRAPL/AQABAAIAAABRAPP/AQABAAIAAABRAPT/AQABAAIAAABRAPX/AQABAAIAAABRAPb/AQABAAIAAABRAPf/AQABAAIAAABRAPj/AQABAAIAAABRAPn/AQABAAIAAABRAPr/AQABAAIAAABRAPv/AQABAAIAAABSAOH/AQABAAIAAABSAOL/AQABAAIAAABSAOP/AQABAAIAAABSAOT/AQABAAIAAABSAOX/AQABAAIAAABSAOb/AQABAAIAAABSAOf/AQABAAIAAABSAOj/AQABAAIAAABSAOn/AQACAAIAAABSAOr/AQABAAEAAABSAOv/AQABAAIAAABSAOz/AQABAAIAAABSAO3/AQACAAEAAABSAO7/AQABAAIAAABSAO//AQABAAIAAABSAPD/AQABAAIAAABSAPH/AQABAAIAAABSAPL/AQABAAIAAABSAPP/AQABAAIAAABSAPT/AQABAAIAAABSAPX/AQABAAIAAABSAPb/AQACAAEAAABSAPf/AQABAAIAAABSAPj/AQABAAIAAABSAPn/AQABAAIAAABSAPr/AQACAAEAAABSAPv/AQABAAIAAABTAOH/AQABAAIAAABTAOL/AQABAAIAAABTAOP/AQABAAIAAABTAOT/AQABAAIAAABTAOX/AQABAAIAAABTAOb/AQABAAIAAABTAOf/AQABAAIAAABTAOj/AQABAAIAAABTAOn/AQABAAIAAABTAOr/AQABAAIAAABTAOv/AQABAAIAAABTAOz/AQABAAIAAABTAO3/AQABAAIAAABTAO7/AQABAAIAAABTAO//AQABAAIAAABTAPD/AQACAAIAAABTAPH/AQABAAIAAABTAPL/AQABAAIAAABTAPP/AQABAAIAAABTAPT/AQABAAIAAABTAPX/AQABAAEAAABTAPb/AQABAAIAAABTAPf/AQACAAEAAABTAPj/AQABAAEAAABTAPn/AQABAAIAAABTAPr/AQABAAIAAABTAPv/AQABAAIAAABUAOH/AQABAAIAAABUAOL/AQABAAIAAABUAOP/AQABAAIAAABUAOT/AQABAAIAAABUAOX/AQABAAIAAABUAOb/AQABAAIAAABUAOf/AQABAAIAAABUAOj/AQABAAIAAABUAOn/AQABAAIAAABUAOr/AQABAAIAAABUAOv/AQABAAIAAABUAOz/AQABAAIAAABUAO3/AQABAAIAAABUAO7/AQABAAIAAABUAO//AQABAAIAAABUAPD/AQABAAIAAABUAPH/AQABAAIAAABUAPL/AQABAAEAAABUAPP/AQABAAIAAABUAPT/AQABAAIAAABUAPX/AQABAAIAAABUAPb/AQABAAIAAABUAPf/AQABAAIAAABUAPj/AQABAAIAAABUAPn/AQABAAIAAABUAPr/AQABAAIAAABUAPv/AQABAAIAAABVAOH/AQABAAIAAABVAOL/AQABAAIAAABVAOP/AQABAAIAAABVAOT/AQABAAIAAABVAOX/AQABAAIAAABVAOb/AQABAAIAAABVAOf/AQABAAIAAABVAOj/AQABAAIAAABVAOn/AQACAAIAAABVAOr/AQABAAIAAABVAOv/AQABAAIAAABVAOz/AQABAAIAAABVAO3/AQABAAIAAABVAO7/AQABAAIAAABVAO//AQABAAEAAABVAPD/AQABAAEAAABVAPH/AQABAAIAAABVAPL/AQABAAIAAABVAPP/AQABAAEAAABVAPT/AQABAAIAAABVAPX/AQABAAIAAABVAPb/AQABAAIAAABVAPf/AQABAAIAAABVAPj/AQABAAIAAABVAPn/AQABAAIAAABVAPr/AQABAAIAAABVAPv/AQABAAIAAABWAOH/AQABAAIAAABWAOL/AQABAAIAAABWAOP/AQABAAIAAABWAOT/AQABAAIAAABWAOX/AQABAAIAAABWAOb/AQABAAIAAABWAOf/AQABAAIAAABWAOj/AQABAAIAAABWAOn/AQABAAIAAABWAOr/AQABAAIAAABWAOv/AQABAAIAAABWAOz/AQABAAIAAABWAO3/AQABAAIAAABWAO7/AQABAAIAAABWAO//AQABAAIAAABWAPD/AQABAAIAAABWAPH/AQACAAEAAABWAPL/AQABAAIAAABWAPP/AQABAAIAAABWAPT/AQABAAIAAABWAPX/AQABAAEAAABWAPb/AQABAAIAAABWAPf/AQABAAIAAABWAPj/AQABAAIAAABWAPn/AQABAAIAAABWAPr/AQABAAIAAABWAPv/AQABAAIAAABXAOH/AQABAAIAAABXAOL/AQABAAIAAABXAOP/AQABAAIAAABXAOT/AQABAAIAAABXAOX/AQABAAIAAABXAOb/AQABAAIAAABXAOf/AQABAAIAAABXAOj/AQABAAIAAABXAOn/AQABAAIAAABXAOr/AQABAAIAAABXAOv/AQABAAIAAABXAOz/AQABAAIAAABXAO3/AQABAAIAAABXAO7/AQABAAIAAABXAO//AQABAAIAAABXAPD/AQABAAIAAABXAPH/AQABAAIAAABXAPL/AQABAAIAAABXAPP/AQABAAIAAABXAPT/AQABAAIAAABXAPX/AQABAAIAAABXAPb/AQABAAIAAABXAPf/AQABAAIAAABXAPj/AQABAAIAAABXAPn/AQABAAIAAABXAPr/AQABAAIAAABXAPv/AQABAAIAAABYAOH/AQACAAIAAABYAOL/AQABAAIAAABYAOP/AQABAAIAAABYAOT/AQABAAIAAABYAOX/AQABAAIAAABYAOb/AQABAAIAAABYAOf/AQABAAIAAABYAOj/AQABAAIAAABYAOn/AQABAAIAAABYAOr/AQABAAIAAABYAOv/AQABAAIAAABYAOz/AQABAAIAAABYAO3/AQABAAIAAABYAO7/AQABAAIAAABYAO//AQABAAIAAABYAPD/AQABAAIAAABYAPH/AQABAAIAAABYAPL/AQABAAEAAABYAPP/AQABAAIAAABYAPT/AQABAAIAAABYAPX/AQABAAIAAABYAPb/AQACAAEAAABYAPf/AQABAAIAAABYAPj/AQABAAIAAABYAPn/AQABAAIAAABYAPr/AQABAAIAAABYAPv/AQABAAIAAABHAPz/AQACAAEAAABHAP3/AQABAAIAAABHAP7/AQABAAIAAABHAP//AQABAAIAAABHAAAAAQABAAIAAABHAAEAAQABAAIAAABHAAIAAQABAAIAAABHAAMAAQABAAIAAABHAAQAAQABAAIAAABHAAUAAQABAAIAAABHAAYAAQABAAIAAABHAAcAAQABAAIAAABHAAgAAQABAAIAAABHAAkAAQABAAIAAABIAPz/AQABAAIAAABIAP3/AQABAAIAAABIAP7/AQABAAIAAABIAP//AQABAAIAAABIAAAAAQABAAIAAABIAAEAAQABAAIAAABIAAIAAQABAAEAAABIAAMAAQABAAIAAABIAAQAAQABAAIAAABIAAUAAQABAAIAAABIAAYAAQABAAIAAABIAAcAAQABAAIAAABIAAgAAQABAAIAAABIAAkAAQABAAIAAABJAPz/AQABAAIAAABJAP3/AQABAAIAAABJAP7/AQABAAIAAABJAP//AQABAAIAAABJAAAAAQABAAIAAABJAAEAAQABAAIAAABJAAIAAQABAAIAAABJAAMAAQABAAIAAABJAAQAAQABAAIAAABJAAUAAQABAAIAAABJAAYAAQABAAIAAABJAAcAAQABAAIAAABJAAgAAQABAAIAAABJAAkAAQAEAAMAAABKAPz/AQABAAIAAABKAP3/AQABAAEAAABKAP7/AQACAAEAAABKAP//AQAEAAEAAABKAAAAAQAEAAIAAABKAAEAAQABAAIAAABKAAIAAQABAAIAAABKAAMAAQABAAIAAABKAAQAAQABAAIAAABKAAUAAQABAAIAAABKAAYAAQABAAIAAABKAAcAAQABAAIAAABKAAgAAQABAAIAAABKAAkAAQAFAAMAAABLAPz/AQABAAIAAABLAP3/AQABAAEAAABLAP7/AQABAAIAAABLAP//AQAFAAEAAABLAAAAAQAFAAIAAABLAAEAAQABAAIAAABLAAIAAQABAAEAAABLAAMAAQABAAIAAABLAAQAAQABAAIAAABLAAUAAQABAAIAAABLAAYAAQABAAIAAABLAAcAAQABAAIAAABLAAgAAQABAAIAAABLAAkAAQABAAIAAABMAPz/AQABAAIAAABMAP3/AQABAAIAAABMAP7/AQABAAIAAABMAP//AQABAAIAAABMAAAAAQABAAIAAABMAAEAAQABAAIAAABMAAIAAQABAAIAAABMAAMAAQABAAIAAABMAAQAAQABAAIAAABMAAUAAQABAAIAAABMAAYAAQABAAIAAABMAAcAAQABAAIAAABMAAgAAQABAAIAAABMAAkAAQABAAEAAABNAPz/AQABAAEAAABNAP3/AQABAAIAAABNAP7/AQABAAIAAABNAP//AQABAAIAAABNAAAAAQABAAIAAABNAAEAAQABAAIAAABNAAIAAQABAAIAAABNAAMAAQABAAIAAABNAAQAAQABAAIAAABNAAUAAQABAAEAAABNAAYAAQACAAIAAABNAAcAAQABAAIAAABNAAgAAQABAAIAAABNAAkAAQABAAIAAABOAPz/AQABAAIAAABOAP3/AQABAAIAAABOAP7/AQABAAIAAABOAP//AQABAAIAAABOAAAAAQABAAIAAABOAAEAAQABAAIAAABOAAIAAQABAAIAAABOAAMAAQACAAEAAABOAAQAAQABAAIAAABOAAUAAQACAAIAAABOAAYAAQABAAIAAABOAAcAAQABAAIAAABOAAgAAQABAAIAAABOAAkAAQABAAIAAABPAPz/AQACAAIAAABPAP3/AQABAAIAAABPAP7/AQACAAIAAABPAP//AQABAAIAAABPAAAAAQABAAIAAABPAAEAAQABAAIAAABPAAIAAQACAAIAAABPAAMAAQABAAEAAABPAAQAAQABAAIAAABPAAUAAQABAAIAAABPAAYAAQABAAIAAABPAAcAAQACAAIAAABPAAgAAQABAAIAAABPAAkAAQABAAIAAABQAPz/AQABAAEAAABQAP3/AQABAAIAAABQAP7/AQABAAIAAABQAP//AQABAAIAAABQAAAAAQABAAIAAABQAAEAAQABAAIAAABQAAIAAQABAAIAAABQAAMAAQABAAIAAABQAAQAAQABAAIAAABQAAUAAQAEAAEAAABQAAYAAQAEAAIAAABQAAcAAQACAAEAAABQAAgAAQABAAIAAABQAAkAAQABAAIAAABRAPz/AQABAAEAAABRAP3/AQABAAIAAABRAP7/AQABAAIAAABRAP//AQABAAIAAABRAAAAAQABAAIAAABRAAEAAQABAAIAAABRAAIAAQABAAIAAABRAAMAAQABAAIAAABRAAQAAQABAAIAAABRAAUAAQAFAAEAAABRAAYAAQAFAAIAAABRAAcAAQABAAIAAABRAAgAAQABAAIAAABRAAkAAQABAAIAAABSAPz/AQABAAIAAABSAP3/AQABAAIAAABSAP7/AQABAAIAAABSAP//AQABAAIAAABSAAAAAQABAAIAAABSAAEAAQABAAIAAABSAAIAAQABAAIAAABSAAMAAQABAAIAAABSAAQAAQABAAIAAABSAAUAAQABAAIAAABSAAYAAQABAAEAAABSAAcAAQABAAIAAABSAAgAAQABAAIAAABSAAkAAQABAAIAAABTAPz/AQABAAEAAABTAP3/AQABAAIAAABTAP7/AQABAAEAAABTAP//AQABAAIAAABTAAAAAQABAAEAAABTAAEAAQABAAIAAABTAAIAAQABAAIAAABTAAMAAQABAAIAAABTAAQAAQABAAIAAABTAAUAAQABAAIAAABTAAYAAQACAAEAAABTAAcAAQABAAIAAABTAAgAAQABAAIAAABTAAkAAQABAAIAAABUAPz/AQACAAEAAABUAP3/AQABAAIAAABUAP7/AQACAAEAAABUAP//AQABAAIAAABUAAAAAQABAAIAAABUAAEAAQABAAIAAABUAAIAAQABAAIAAABUAAMAAQABAAIAAABUAAQAAQABAAIAAABUAAUAAQABAAIAAABUAAYAAQABAAIAAABUAAcAAQABAAIAAABUAAgAAQABAAIAAABUAAkAAQABAAIAAABVAPz/AQABAAIAAABVAP3/AQACAAEAAABVAP7/AQABAAIAAABVAP//AQABAAIAAABVAAAAAQACAAEAAABVAAEAAQABAAEAAABVAAIAAQABAAIAAABVAAMAAQABAAIAAABVAAQAAQABAAIAAABVAAUAAQABAAIAAABVAAYAAQABAAIAAABVAAcAAQABAAIAAABVAAgAAQACAAEAAABVAAkAAQABAAIAAABWAPz/AQABAAIAAABWAP3/AQACAAIAAABWAP7/AQABAAEAAABWAP//AQABAAIAAABWAAAAAQABAAIAAABWAAEAAQABAAEAAABWAAIAAQABAAIAAABWAAMAAQABAAIAAABWAAQAAQACAAIAAABWAAUAAQABAAIAAABWAAYAAQABAAIAAABWAAcAAQABAAIAAABWAAgAAQABAAIAAABWAAkAAQABAAIAAABXAPz/AQABAAIAAABXAP3/AQABAAIAAABXAP7/AQABAAIAAABXAP//AQABAAIAAABXAAAAAQABAAEAAABXAAEAAQABAAIAAABXAAIAAQABAAIAAABXAAMAAQABAAIAAABXAAQAAQABAAIAAABXAAUAAQABAAIAAABXAAYAAQACAAEAAABXAAcAAQABAAIAAABXAAgAAQABAAIAAABXAAkAAQABAAIAAABYAPz/AQACAAIAAABYAP3/AQABAAIAAABYAP7/AQABAAEAAABYAP//AQABAAIAAABYAAAAAQABAAEAAABYAAEAAQABAAIAAABYAAIAAQABAAIAAABYAAMAAQABAAIAAABYAAQAAQABAAIAAABYAAUAAQABAAIAAABYAAYAAQAEAAMAAABYAAcAAQABAAIAAABYAAgAAQABAAIAAABYAAkAAQABAAIAAABZAPj/AQABAAIAAABZAPn/AQABAAIAAABZAPr/AQACAAIAAABZAPv/AQABAAIAAABZAPz/AQABAAIAAABZAP3/AQABAAIAAABZAP7/AQABAAIAAABZAP//AQABAAIAAABZAAAAAQABAAIAAABZAAEAAQABAAIAAABZAAIAAQABAAIAAABZAAMAAQABAAIAAABZAAQAAQABAAIAAABZAAUAAQABAAIAAABZAAYAAQAFAAMAAABZAAcAAQABAAIAAABZAAgAAQABAAIAAABZAAkAAQABAAIAAABaAPj/AQABAAIAAABaAPn/AQABAAIAAABaAPr/AQABAAIAAABaAPv/AQABAAIAAABaAPz/AQABAAIAAABaAP3/AQABAAIAAABaAP7/AQACAAIAAABaAP//AQACAAEAAABaAAAAAQABAAIAAABaAAEAAQABAAIAAABaAAIAAQABAAIAAABaAAMAAQABAAIAAABaAAQAAQABAAIAAABaAAUAAQABAAIAAABaAAYAAQABAAIAAABaAAcAAQABAAIAAABaAAgAAQABAAIAAABaAAkAAQABAAIAAABbAPj/AQABAAIAAABbAPn/AQABAAIAAABbAPr/AQABAAIAAABbAPv/AQABAAIAAABbAPz/AQACAAIAAABbAP3/AQABAAIAAABbAP7/AQABAAIAAABbAP//AQABAAIAAABbAAAAAQABAAIAAABbAAEAAQACAAIAAABbAAIAAQABAAIAAABbAAMAAQABAAIAAABbAAQAAQABAAIAAABbAAUAAQACAAIAAABbAAYAAQABAAIAAABbAAcAAQABAAIAAABbAAgAAQABAAIAAABbAAkAAQABAAIAAABcAPj/AQABAAIAAABcAPn/AQABAAIAAABcAPr/AQABAAIAAABcAPv/AQACAAEAAABcAPz/AQABAAIAAABcAP3/AQABAAIAAABcAP7/AQABAAEAAABcAP//AQABAAIAAABcAAAAAQABAAIAAABcAAEAAQABAAIAAABcAAIAAQABAAIAAABcAAMAAQABAAIAAABcAAQAAQABAAIAAABcAAUAAQABAAIAAABcAAYAAQABAAIAAABcAAcAAQABAAIAAABcAAgAAQABAAIAAABcAAkAAQACAAEAAABdAPj/AQABAAIAAABdAPn/AQABAAIAAABdAPr/AQABAAIAAABdAPv/AQABAAIAAABdAPz/AQABAAIAAABdAP3/AQABAAIAAABdAP7/AQABAAIAAABdAP//AQABAAIAAABdAAAAAQABAAIAAABdAAEAAQABAAIAAABdAAIAAQABAAIAAABdAAMAAQABAAIAAABdAAQAAQABAAIAAABdAAUAAQABAAIAAABdAAYAAQABAAIAAABdAAcAAQABAAIAAABdAAgAAQACAAIAAABdAAkAAQABAAIAAABeAPj/AQACAAIAAABeAPn/AQABAAIAAABeAPr/AQABAAIAAABeAPv/AQABAAIAAABeAPz/AQABAAIAAABeAP3/AQABAAIAAABeAP7/AQABAAIAAABeAP//AQABAAIAAABeAAAAAQABAAIAAABeAAEAAQABAAIAAABeAAIAAQABAAIAAABeAAMAAQABAAIAAABeAAQAAQABAAIAAABeAAUAAQABAAIAAABeAAYAAQABAAIAAABeAAcAAQABAAIAAABeAAgAAQABAAIAAABeAAkAAQABAAIAAABfAPj/AQABAAIAAABfAPn/AQABAAIAAABfAPr/AQABAAIAAABfAPv/AQABAAIAAABfAPz/AQABAAIAAABfAP3/AQABAAIAAABfAP7/AQABAAIAAABfAP//AQABAAIAAABfAAAAAQABAAEAAABfAAEAAQABAAIAAABfAAIAAQACAAIAAABfAAMAAQABAAIAAABfAAQAAQABAAEAAABfAAUAAQABAAIAAABfAAYAAQABAAIAAABfAAcAAQABAAIAAABfAAgAAQABAAIAAABfAAkAAQABAAIAAABgAPj/AQABAAIAAABgAPn/AQABAAIAAABgAPr/AQABAAIAAABgAPv/AQABAAIAAABgAPz/AQABAAIAAABgAP3/AQABAAIAAABgAP7/AQACAAEAAABgAP//AQABAAIAAABgAAAAAQABAAIAAABgAAEAAQABAAIAAABgAAIAAQACAAEAAABgAAMAAQABAAIAAABgAAQAAQABAAIAAABgAAUAAQABAAIAAABgAAYAAQABAAIAAABgAAcAAQABAAIAAABgAAgAAQACAAEAAABgAAkAAQABAAIAAABhAPj/AQABAAIAAABhAPn/AQABAAIAAABhAPr/AQABAAIAAABhAPv/AQABAAIAAABhAPz/AQACAAEAAABhAP3/AQACAAEAAABhAP7/AQABAAIAAABhAP//AQABAAIAAABhAAAAAQABAAIAAABhAAEAAQABAAEAAABhAAIAAQABAAIAAABhAAMAAQABAAEAAABhAAQAAQABAAIAAABhAAUAAQABAAIAAABhAAYAAQABAAIAAABhAAcAAQABAAIAAABhAAgAAQABAAIAAABhAAkAAQABAAIAAABiAPj/AQABAAIAAABiAPn/AQABAAIAAABiAPr/AQABAAIAAABiAPv/AQABAAIAAABiAPz/AQABAAIAAABiAP3/AQAEAAEAAABiAP7/AQAEAAIAAABiAP//AQABAAIAAABiAAAAAQABAAIAAABiAAEAAQABAAEAAABiAAIAAQABAAIAAABiAAMAAQABAAIAAABiAAQAAQABAAIAAABiAAUAAQABAAIAAABiAAYAAQABAAIAAABiAAcAAQABAAIAAABiAAgAAQABAAIAAABiAAkAAQABAAIAAABjAPj/AQACAAEAAABjAPn/AQABAAIAAABjAPr/AQABAAIAAABjAPv/AQABAAIAAABjAPz/AQABAAIAAABjAP3/AQAFAAEAAABjAP7/AQAFAAIAAABjAP//AQABAAIAAABjAAAAAQABAAIAAABjAAEAAQABAAIAAABjAAIAAQABAAIAAABjAAMAAQABAAIAAABjAAQAAQABAAIAAABjAAUAAQABAAEAAABjAAYAAQABAAIAAABjAAcAAQABAAIAAABjAAgAAQABAAIAAABjAAkAAQABAAEAAABkAPj/AQACAAIAAABkAPn/AQABAAEAAABkAPr/AQABAAIAAABkAPv/AQACAAIAAABkAPz/AQABAAIAAABkAP3/AQABAAIAAABkAP7/AQABAAEAAABkAP//AQABAAIAAABkAAAAAQABAAIAAABkAAEAAQABAAIAAABkAAIAAQABAAIAAABkAAMAAQACAAIAAABkAAQAAQACAAEAAABkAAUAAQABAAIAAABkAAYAAQABAAIAAABkAAcAAQACAAIAAABkAAgAAQABAAIAAABkAAkAAQABAAIAAABlAPj/AQABAAIAAABlAPn/AQABAAIAAABlAPr/AQABAAIAAABlAPv/AQABAAIAAABlAPz/AQABAAIAAABlAP3/AQACAAIAAABlAP7/AQABAAIAAABlAP//AQABAAIAAABlAAAAAQABAAIAAABlAAEAAQABAAIAAABlAAIAAQABAAIAAABlAAMAAQAEAAEAAABlAAQAAQAEAAIAAABlAAUAAQABAAIAAABlAAYAAQABAAIAAABlAAcAAQABAAIAAABlAAgAAQABAAIAAABlAAkAAQABAAIAAABmAPj/AQABAAIAAABmAPn/AQACAAIAAABmAPr/AQABAAIAAABmAPv/AQABAAIAAABmAPz/AQABAAIAAABmAP3/AQABAAIAAABmAP7/AQABAAIAAABmAP//AQACAAIAAABmAAAAAQABAAIAAABmAAEAAQABAAIAAABmAAIAAQABAAIAAABmAAMAAQAFAAEAAABmAAQAAQAFAAIAAABmAAUAAQABAAIAAABmAAYAAQABAAIAAABmAAcAAQABAAIAAABmAAgAAQABAAIAAABmAAkAAQABAAIAAABnAPj/AQABAAIAAABnAPn/AQABAAIAAABnAPr/AQABAAIAAABnAPv/AQABAAIAAABnAPz/AQABAAIAAABnAP3/AQABAAIAAABnAP7/AQABAAIAAABnAP//AQABAAIAAABnAAAAAQABAAIAAABnAAEAAQACAAEAAABnAAIAAQABAAIAAABnAAMAAQABAAIAAABnAAQAAQACAAIAAABnAAUAAQABAAIAAABnAAYAAQABAAIAAABnAAcAAQABAAIAAABnAAgAAQABAAIAAABnAAkAAQABAAIAAABoAPj/AQABAAIAAABoAPn/AQABAAIAAABoAPr/AQABAAIAAABoAPv/AQABAAIAAABoAPz/AQABAAIAAABoAP3/AQABAAIAAABoAP7/AQABAAIAAABoAP//AQABAAIAAABoAAAAAQABAAIAAABoAAEAAQABAAEAAABoAAIAAQABAAIAAABoAAMAAQABAAIAAABoAAQAAQABAAIAAABoAAUAAQABAAIAAABoAAYAAQABAAIAAABoAAcAAQABAAIAAABoAAgAAQABAAIAAABoAAkAAQABAAIAAABpAPj/AQABAAIAAABpAPn/AQABAAIAAABpAPr/AQABAAIAAABpAPv/AQABAAIAAABpAPz/AQABAAIAAABpAP3/AQABAAIAAABpAP7/AQABAAIAAABpAP//AQABAAEAAABpAAAAAQABAAIAAABpAAEAAQABAAIAAABpAAIAAQACAAEAAABpAAMAAQABAAIAAABpAAQAAQABAAIAAABpAAUAAQABAAIAAABpAAYAAQABAAIAAABpAAcAAQABAAIAAABpAAgAAQABAAIAAABpAAkAAQABAAIAAABqAPj/AQABAAIAAABqAPn/AQACAAIAAABqAPr/AQABAAIAAABqAPv/AQABAAIAAABqAPz/AQABAAIAAABqAP3/AQABAAIAAABqAP7/AQABAAIAAABqAP//AQABAAIAAABqAAAAAQACAAEAAABqAAEAAQABAAIAAABqAAIAAQABAAIAAABqAAMAAQABAAIAAABqAAQAAQABAAIAAABqAAUAAQABAAIAAABqAAYAAQABAAIAAABqAAcAAQABAAIAAABqAAgAAQABAAIAAABqAAkAAQABAAIAAABrAPj/AQABAAIAAABrAPn/AQABAAIAAABrAPr/AQABAAIAAABrAPv/AQABAAIAAABrAPz/AQABAAIAAABrAP3/AQABAAIAAABrAP7/AQABAAIAAABrAP//AQABAAIAAABrAAAAAQABAAIAAABrAAEAAQABAAIAAABrAAIAAQABAAIAAABrAAMAAQABAAIAAABrAAQAAQABAAIAAABrAAUAAQABAAIAAABrAAYAAQABAAIAAABrAAcAAQABAAIAAABrAAgAAQABAAIAAABrAAkAAQABAAIAAABsAPj/AQABAAIAAABsAPn/AQABAAIAAABsAPr/AQABAAIAAABsAPv/AQABAAIAAABsAPz/AQABAAIAAABsAP3/AQACAAIAAABsAP7/AQABAAIAAABsAP//AQABAAIAAABsAAAAAQABAAIAAABsAAEAAQABAAIAAABsAAIAAQABAAIAAABsAAMAAQABAAIAAABsAAQAAQABAAIAAABsAAUAAQACAAIAAABsAAYAAQABAAIAAABsAAcAAQABAAIAAABsAAgAAQABAAIAAABsAAkAAQABAAIAAABtAPj/AQABAAIAAABtAPn/AQABAAIAAABtAPr/AQABAAIAAABtAPv/AQABAAIAAABtAPz/AQABAAEAAABtAP3/AQABAAIAAABtAP7/AQABAAIAAABtAP//AQABAAIAAABtAAAAAQABAAIAAABtAAEAAQABAAIAAABtAAIAAQABAAIAAABtAAMAAQABAAIAAABtAAQAAQABAAIAAABtAAUAAQABAAIAAABtAAYAAQABAAIAAABtAAcAAQABAAIAAABtAAgAAQABAAIAAABtAAkAAQABAAIAAABuAPj/AQABAAIAAABuAPn/AQABAAEAAABuAPr/AQABAAIAAABuAPv/AQABAAIAAABuAPz/AQABAAIAAABuAP3/AQABAAIAAABuAP7/AQABAAIAAABuAP//AQABAAIAAABuAAAAAQABAAEAAABuAAEAAQABAAIAAABuAAIAAQABAAIAAABuAAMAAQABAAIAAABuAAQAAQABAAIAAABuAAUAAQABAAIAAABuAAYAAQABAAIAAABuAAcAAQABAAIAAABuAAgAAQABAAIAAABuAAkAAQABAAIAAABvAPj/AQACAAIAAABvAPn/AQABAAIAAABvAPr/AQABAAIAAABvAPv/AQABAAIAAABvAPz/AQABAAIAAABvAP3/AQABAAIAAABvAP7/AQABAAIAAABvAP//AQABAAIAAABvAAAAAQABAAEAAABvAAEAAQABAAIAAABvAAIAAQABAAIAAABvAAMAAQABAAIAAABvAAQAAQACAAEAAABvAAUAAQABAAIAAABvAAYAAQABAAIAAABvAAcAAQABAAIAAABvAAgAAQABAAIAAABvAAkAAQABAAIAAABwAPj/AQABAAIAAABwAPn/AQACAAEAAABwAPr/AQABAAIAAABwAPv/AQACAAIAAABwAPz/AQABAAIAAABwAP3/AQABAAIAAABwAP7/AQABAAIAAABwAP//AQABAAIAAABwAAAAAQABAAIAAABwAAEAAQABAAIAAABwAAIAAQABAAIAAABwAAMAAQABAAIAAABwAAQAAQABAAIAAABwAAUAAQABAAIAAABwAAYAAQABAAIAAABwAAcAAQABAAIAAABwAAgAAQABAAIAAABwAAkAAQABAAIAAABxAPj/AQABAAIAAABxAPn/AQABAAIAAABxAPr/AQABAAIAAABxAPv/AQABAAIAAABxAPz/AQABAAIAAABxAP3/AQABAAIAAABxAP7/AQABAAIAAABxAP//AQABAAIAAABxAAAAAQABAAIAAABxAAEAAQACAAEAAABxAAIAAQABAAIAAABxAAMAAQABAAIAAABxAAQAAQABAAIAAABxAAUAAQABAAIAAABxAAYAAQABAAIAAABxAAcAAQABAAIAAABxAAgAAQABAAIAAABxAAkAAQABAAIAAAByAPj/AQABAAIAAAByAPn/AQABAAIAAAByAPr/AQABAAIAAAByAPv/AQABAAIAAAByAPz/AQABAAIAAAByAP3/AQABAAIAAAByAP7/AQACAAEAAAByAP//AQABAAIAAAByAAAAAQABAAIAAAByAAEAAQABAAIAAAByAAIAAQACAAEAAAByAAMAAQACAAEAAAByAAQAAQABAAIAAAByAAUAAQABAAIAAAByAAYAAQABAAIAAAByAAcAAQABAAIAAAByAAgAAQABAAIAAAByAAkAAQABAAEAAABzAPj/AQABAAIAAABzAPn/AQABAAIAAABzAPr/AQABAAIAAABzAPv/AQABAAIAAABzAPz/AQABAAIAAABzAP3/AQABAAIAAABzAP7/AQABAAIAAABzAP//AQABAAIAAABzAAAAAQACAAEAAABzAAEAAQABAAIAAABzAAIAAQABAAIAAABzAAMAAQABAAIAAABzAAQAAQABAAIAAABzAAUAAQABAAIAAABzAAYAAQABAAEAAABzAAcAAQABAAIAAABzAAgAAQABAAIAAABzAAkAAQABAAIAAAB0APj/AQABAAIAAAB0APn/AQABAAIAAAB0APr/AQABAAIAAAB0APv/AQABAAIAAAB0APz/AQABAAIAAAB0AP3/AQABAAIAAAB0AP7/AQABAAIAAAB0AP//AQABAAIAAAB0AAAAAQABAAIAAAB0AAEAAQACAAEAAAB0AAIAAQABAAIAAAB0AAMAAQACAAEAAAB0AAQAAQABAAIAAAB0AAUAAQABAAIAAAB0AAYAAQABAAIAAAB0AAcAAQABAAIAAAB0AAgAAQABAAIAAAB0AAkAAQABAAIAAAB1APj/AQACAAIAAAB1APn/AQABAAIAAAB1APr/AQABAAIAAAB1APv/AQABAAEAAAB1APz/AQABAAIAAAB1AP3/AQABAAIAAAB1AP7/AQABAAIAAAB1AP//AQABAAIAAAB1AAAAAQABAAIAAAB1AAEAAQABAAIAAAB1AAIAAQABAAIAAAB1AAMAAQABAAIAAAB1AAQAAQABAAIAAAB1AAUAAQABAAIAAAB1AAYAAQABAAIAAAB1AAcAAQACAAEAAAB1AAgAAQABAAIAAAB1AAkAAQACAAIAAAB2APj/AQABAAIAAAB2APn/AQABAAEAAAB2APr/AQABAAIAAAB2APv/AQABAAIAAAB2APz/AQABAAIAAAB2AP3/AQABAAIAAAB2AP7/AQABAAIAAAB2AP//AQACAAIAAAB2AAAAAQABAAIAAAB2AAEAAQABAAIAAAB2AAIAAQABAAIAAAB2AAMAAQABAAIAAAB2AAQAAQABAAIAAAB2AAUAAQABAAIAAAB2AAYAAQABAAIAAAB2AAcAAQABAAIAAAB2AAgAAQABAAIAAAB2AAkAAQABAAIAAABHAAoAAQABAAIAAABHAAsAAQABAAIAAABHAAwAAQABAAIAAABHAA0AAQABAAIAAABHAA4AAQABAAIAAABHAA8AAQABAAEAAABHABAAAQABAAIAAABHABEAAQACAAEAAABHABIAAQABAAIAAABIAAoAAQABAAIAAABIAAsAAQABAAIAAABIAAwAAQABAAIAAABIAA0AAQABAAIAAABIAA4AAQABAAEAAABIAA8AAQABAAIAAABIABAAAQABAAIAAABIABEAAQABAAIAAABIABIAAQABAAIAAABJAAoAAQABAAIAAABJAAsAAQABAAIAAABJAAwAAQABAAIAAABJAA0AAQABAAIAAABJAA4AAQABAAIAAABJAA8AAQABAAIAAABJABAAAQACAAIAAABJABEAAQABAAIAAABJABIAAQABAAIAAABKAAoAAQABAAIAAABKAAsAAQABAAIAAABKAAwAAQABAAIAAABKAA0AAQABAAIAAABKAA4AAQABAAIAAABKAA8AAQABAAIAAABKABAAAQABAAIAAABKABEAAQABAAIAAABKABIAAQABAAIAAABLAAoAAQABAAIAAABLAAsAAQACAAIAAABLAAwAAQABAAIAAABLAA0AAQABAAIAAABLAA4AAQABAAIAAABLAA8AAQABAAIAAABLABAAAQABAAIAAABLABEAAQABAAIAAABLABIAAQABAAIAAABMAAoAAQABAAIAAABMAAsAAQACAAEAAABMAAwAAQACAAIAAABMAA0AAQAEAAEAAABMAA4AAQAEAAIAAABMAA8AAQABAAIAAABMABAAAQABAAIAAABMABEAAQABAAIAAABMABIAAQABAAIAAABNAAoAAQABAAIAAABNAAsAAQABAAIAAABNAAwAAQABAAIAAABNAA0AAQAFAAEAAABNAA4AAQAFAAIAAABNAA8AAQABAAIAAABNABAAAQABAAEAAABNABEAAQABAAIAAABNABIAAQABAAEAAABOAAoAAQABAAIAAABOAAsAAQABAAIAAABOAAwAAQABAAIAAABOAA0AAQABAAIAAABOAA4AAQABAAIAAABOAA8AAQABAAIAAABOABAAAQABAAIAAABOABEAAQABAAEAAABOABIAAQABAAIAAABPAAoAAQABAAIAAABPAAsAAQABAAEAAABPAAwAAQABAAIAAABPAA0AAQABAAIAAABPAA4AAQABAAIAAABPAA8AAQABAAIAAABPABAAAQABAAIAAABPABEAAQABAAIAAABPABIAAQABAAIAAABQAAoAAQABAAIAAABQAAsAAQABAAIAAABQAAwAAQABAAIAAABQAA0AAQABAAIAAABQAA4AAQABAAIAAABQAA8AAQABAAIAAABQABAAAQABAAIAAABQABEAAQABAAIAAABQABIAAQABAAIAAABRAAoAAQABAAIAAABRAAsAAQACAAIAAABRAAwAAQABAAIAAABRAA0AAQABAAIAAABRAA4AAQABAAIAAABRAA8AAQABAAIAAABRABAAAQABAAIAAABRABEAAQABAAIAAABRABIAAQABAAIAAAB3AAAAAQABAAIAAAB3AAEAAQABAAIAAAB3AAIAAQABAAIAAAB3AAMAAQABAAIAAAB3AAQAAQABAAIAAAB3AAUAAQABAAIAAAB3AAYAAQACAAIAAAB3AAcAAQABAAIAAAB3AAgAAQABAAIAAAB3AAkAAQABAAIAAAB3AAoAAQABAAIAAAB3AAsAAQABAAIAAAB3AAwAAQABAAIAAAB3AA0AAQABAAIAAAB3AA4AAQABAAIAAAB3AA8AAQABAAIAAAB3ABAAAQABAAIAAAB3ABEAAQABAAIAAAB4AAAAAQABAAIAAAB4AAEAAQABAAIAAAB4AAIAAQABAAIAAAB4AAMAAQABAAIAAAB4AAQAAQABAAIAAAB4AAUAAQABAAIAAAB4AAYAAQABAAIAAAB4AAcAAQABAAIAAAB4AAgAAQABAAIAAAB4AAkAAQABAAIAAAB4AAoAAQABAAIAAAB4AAsAAQABAAIAAAB4AAwAAQABAAIAAAB4AA0AAQABAAIAAAB4AA4AAQABAAIAAAB4AA8AAQABAAIAAAB4ABAAAQABAAIAAAB4ABEAAQABAAIAAAB5AAAAAQABAAIAAAB5AAEAAQABAAIAAAB5AAIAAQABAAIAAAB5AAMAAQABAAIAAAB5AAQAAQABAAIAAAB5AAUAAQACAAEAAAB5AAYAAQABAAIAAAB5AAcAAQABAAIAAAB5AAgAAQABAAIAAAB5AAkAAQABAAIAAAB5AAoAAQABAAIAAAB5AAsAAQABAAIAAAB5AAwAAQABAAIAAAB5AA0AAQABAAIAAAB5AA4AAQACAAEAAAB5AA8AAQABAAIAAAB5ABAAAQABAAIAAAB5ABEAAQABAAIAAAB6AAAAAQABAAIAAAB6AAEAAQABAAIAAAB6AAIAAQABAAIAAAB6AAMAAQABAAIAAAB6AAQAAQABAAIAAAB6AAUAAQABAAIAAAB6AAYAAQABAAIAAAB6AAcAAQABAAIAAAB6AAgAAQABAAIAAAB6AAkAAQABAAIAAAB6AAoAAQABAAIAAAB6AAsAAQABAAIAAAB6AAwAAQABAAIAAAB6AA0AAQABAAIAAAB6AA4AAQABAAIAAAB6AA8AAQABAAIAAAB6ABAAAQABAAIAAAB6ABEAAQABAAIAAAB7AAAAAQABAAIAAAB7AAEAAQABAAIAAAB7AAIAAQABAAIAAAB7AAMAAQABAAIAAAB7AAQAAQABAAIAAAB7AAUAAQABAAIAAAB7AAYAAQABAAIAAAB7AAcAAQABAAIAAAB7AAgAAQABAAIAAAB7AAkAAQABAAIAAAB7AAoAAQABAAIAAAB7AAsAAQABAAIAAAB7AAwAAQABAAIAAAB7AA0AAQABAAIAAAB7AA4AAQABAAIAAAB7AA8AAQACAAIAAAB7ABAAAQABAAIAAAB7ABEAAQABAAIAAAB8AAAAAQABAAIAAAB8AAEAAQABAAIAAAB8AAIAAQABAAIAAAB8AAMAAQABAAIAAAB8AAQAAQABAAIAAAB8AAUAAQACAAEAAAB8AAYAAQABAAIAAAB8AAcAAQABAAIAAAB8AAgAAQAEAAEAAAB8AAkAAQAEAAIAAAB8AAoAAQABAAIAAAB8AAsAAQABAAIAAAB8AAwAAQACAAEAAAB8AA0AAQABAAIAAAB8AA4AAQABAAIAAAB8AA8AAQABAAIAAAB8ABAAAQABAAIAAAB8ABEAAQABAAIAAAB9AAAAAQABAAIAAAB9AAEAAQABAAIAAAB9AAIAAQABAAIAAAB9AAMAAQABAAIAAAB9AAQAAQABAAIAAAB9AAUAAQABAAIAAAB9AAYAAQABAAIAAAB9AAcAAQABAAIAAAB9AAgAAQAFAAEAAAB9AAkAAQAFAAIAAAB9AAoAAQABAAIAAAB9AAsAAQABAAIAAAB9AAwAAQABAAEAAAB9AA0AAQABAAIAAAB9AA4AAQABAAIAAAB9AA8AAQABAAIAAAB9ABAAAQABAAIAAAB9ABEAAQABAAIAAAB+AAAAAQABAAIAAAB+AAEAAQACAAEAAAB+AAIAAQABAAIAAAB+AAMAAQABAAIAAAB+AAQAAQABAAIAAAB+AAUAAQABAAIAAAB+AAYAAQABAAIAAAB+AAcAAQABAAIAAAB+AAgAAQABAAIAAAB+AAkAAQABAAIAAAB+AAoAAQABAAIAAAB+AAsAAQABAAEAAAB+AAwAAQABAAIAAAB+AA0AAQABAAIAAAB+AA4AAQABAAIAAAB+AA8AAQABAAIAAAB+ABAAAQABAAIAAAB+ABEAAQABAAIAAAB/AAAAAQABAAIAAAB/AAEAAQABAAIAAAB/AAIAAQABAAIAAAB/AAMAAQABAAIAAAB/AAQAAQABAAIAAAB/AAUAAQABAAIAAAB/AAYAAQACAAIAAAB/AAcAAQABAAIAAAB/AAgAAQABAAIAAAB/AAkAAQABAAIAAAB/AAoAAQABAAIAAAB/AAsAAQABAAIAAAB/AAwAAQABAAIAAAB/AA0AAQABAAIAAAB/AA4AAQABAAIAAAB/AA8AAQACAAIAAAB/ABAAAQACAAEAAAB/ABEAAQABAAIAAACAAAAAAQABAAIAAACAAAEAAQABAAIAAACAAAIAAQABAAEAAACAAAMAAQABAAIAAACAAAQAAQABAAIAAACAAAUAAQABAAIAAACAAAYAAQABAAIAAACAAAcAAQACAAEAAACAAAgAAQACAAIAAACAAAkAAQABAAEAAACAAAoAAQABAAIAAACAAAsAAQABAAIAAACAAAwAAQABAAIAAACAAA0AAQABAAIAAACAAA4AAQABAAIAAACAAA8AAQABAAIAAACAABAAAQABAAIAAACAABEAAQABAAIAAACBAAAAAQABAAIAAACBAAEAAQABAAIAAACBAAIAAQABAAIAAACBAAMAAQABAAIAAACBAAQAAQABAAIAAACBAAUAAQACAAIAAACBAAYAAQABAAIAAACBAAcAAQABAAIAAACBAAgAAQABAAIAAACBAAkAAQABAAIAAACBAAoAAQABAAIAAACBAAsAAQABAAIAAACBAAwAAQABAAIAAACBAA0AAQABAAIAAACBAA4AAQABAAIAAACBAA8AAQABAAIAAACBABAAAQABAAIAAACBABEAAQABAAIAAACCAAAAAQABAAIAAACCAAEAAQABAAIAAACCAAIAAQABAAIAAACCAAMAAQACAAIAAACCAAQAAQABAAIAAACCAAUAAQABAAIAAACCAAYAAQABAAIAAACCAAcAAQABAAIAAACCAAgAAQABAAIAAACCAAkAAQABAAIAAACCAAoAAQABAAIAAACCAAsAAQABAAIAAACCAAwAAQABAAIAAACCAA0AAQABAAIAAACCAA4AAQABAAIAAACCAA8AAQACAAIAAACCABAAAQABAAIAAACCABEAAQABAAIAAACDAAAAAQABAAIAAACDAAEAAQABAAIAAACDAAIAAQABAAIAAACDAAMAAQABAAIAAACDAAQAAQABAAIAAACDAAUAAQABAAIAAACDAAYAAQABAAIAAACDAAcAAQABAAIAAACDAAgAAQABAAIAAACDAAkAAQABAAIAAACDAAoAAQABAAIAAACDAAsAAQABAAIAAACDAAwAAQABAAIAAACDAA0AAQABAAIAAACDAA4AAQABAAIAAACDAA8AAQACAAEAAACDABAAAQABAAIAAACDABEAAQABAAEAAACEAAAAAQABAAIAAACEAAEAAQABAAIAAACEAAIAAQABAAIAAACEAAMAAQABAAIAAACEAAQAAQABAAIAAACEAAUAAQACAAEAAACEAAYAAQABAAIAAACEAAcAAQABAAIAAACEAAgAAQABAAIAAACEAAkAAQABAAIAAACEAAoAAQABAAIAAACEAAsAAQABAAIAAACEAAwAAQABAAIAAACEAA0AAQABAAIAAACEAA4AAQABAAIAAACEAA8AAQABAAIAAACEABAAAQACAAEAAACEABEAAQACAAIAAACFAAAAAQABAAIAAACFAAEAAQABAAIAAACFAAIAAQABAAIAAACFAAMAAQABAAIAAACFAAQAAQABAAIAAACFAAUAAQABAAIAAACFAAYAAQABAAIAAACFAAcAAQABAAIAAACFAAgAAQABAAIAAACFAAkAAQABAAIAAACFAAoAAQABAAIAAACFAAsAAQACAAIAAACFAAwAAQABAAIAAACFAA0AAQABAAIAAACFAA4AAQABAAIAAACFAA8AAQABAAIAAACFABAAAQABAAIAAACFABEAAQACAAEAAAB3ABIAAQABAAIAAAB3ABMAAQABAAIAAAB4ABIAAQABAAIAAAB4ABMAAQABAAIAAAB5ABIAAQABAAIAAAB5ABMAAQABAAIAAAB6ABIAAQABAAIAAAB6ABMAAQACAAEAAAB7ABIAAQABAAIAAAB7ABMAAQABAAIAAAB8ABIAAQABAAIAAAB8ABMAAQABAAIAAABHABMAAQABAAIAAABIABMAAQABAAEAAABJABMAAQABAAIAAABKABMAAQABAAIAAABLABMAAQABAAIAAABMABMAAQABAAIAAABNABMAAQABAAIAAABOABMAAQABAAIAAABPABMAAQABAAIAAABQABMAAQABAAIAAABRABMAAQABAAIAAAB9ABIAAQABAAIAAAB9ABMAAQABAAIAAAB+ABIAAQABAAIAAAB+ABMAAQACAAEAAAB/ABIAAQABAAIAAAB/ABMAAQABAAIAAACAABIAAQABAAIAAACAABMAAQABAAIAAACBABIAAQABAAIAAACBABMAAQABAAIAAACCABIAAQABAAIAAACCABMAAQABAAIAAACDABIAAQABAAIAAACDABMAAQABAAIAAACEABIAAQABAAIAAACEABMAAQABAAIAAACFABIAAQABAAIAAACFABMAAQABAAIAAAA0ACAAAAAAAAEAAAA0ACEAAAAAAAEAAAA0ACIAAAAAAAEAAAA1ACAAAAAAAAEAAAA1ACEAAAAAAAEAAAA1ACIAAAAAAAEAAAA2ACAAAAAAAAEAAAA2ACEAAAAAAAEAAAA2ACIAAAAAAAEAAAA3ACAAAAAAAAEAAAA3ACEAAAAAAAEAAAA3ACIAAAAAAAEAAAA4ACAAAAAAAAEAAAA4ACEAAAAAAAEAAAA4ACIAAAAAAAEAAAA5ACAAAAAAAAEAAAA5ACEAAAAAAAEAAAA5ACIAAAAAAAEAAAA6ACAAAAAAAAEAAAA6ACEAAAAAAAEAAAA6ACIAAAAAAAEAAAA7ACAAAAAAAAEAAAA7ACEAAAAAAAEAAAA7ACIAAAAAAAEAAAA8ACAAAAAAAAEAAAA8ACEAAAAAAAEAAAA8ACIAAAAAAAEAAAA9ACAAAAAAAAEAAAA9ACEAAAAAAAEAAAA9ACIAAAAAAAEAAAA+ACAAAAAAAAEAAAA+ACEAAAAAAAEAAAA+ACIAAAAAAAEAAAA/ACAAAAAAAAEAAAA/ACEAAAAAAAEAAAA/ACIAAAAAAAEAAABAACAAAAAAAAEAAABAACEAAAAAAAEAAABAACIAAAAAAAEAAABBACAAAAAAAAEAAABBACEAAAAAAAEAAABBACIAAAAAAAEAAABCACAAAAAAAAEAAABCACEAAAAAAAEAAABCACIAAAAAAAEAAABDACAAAAAAAAEAAABDACEAAAAAAAEAAABDACIAAAAAAAEAAABEACAAAAAAAAEAAABEACEAAAAAAAEAAABEACIAAAAAAAEAAABFACAAAAAAAAEAAABFACEAAAAAAAEAAABFACIAAAAAAAEAAABGACAAAAAAAAEAAABGACEAAAAAAAEAAABGACIAAAAAAAEAAABHACAAAAAAAAEAAABHACEAAAAAAAEAAABHACIAAAAAAAEAAABIACAAAAAAAAEAAABIACEAAAAAAAEAAABIACIAAAAAAAEAAABJACAAAAAAAAEAAABJACEAAAAAAAEAAABJACIAAAAAAAEAAABKACAAAAAAAAEAAABKACEAAAAAAAEAAABKACIAAAAAAAEAAABLACAAAAAAAAEAAABLACEAAAAAAAEAAABLACIAAAAAAAEAAABMACAAAAAAAAEAAABMACEAAAAAAAEAAABMACIAAAAAAAEAAABNACAAAAAAAAEAAABNACEAAAAAAAEAAABNACIAAAAAAAEAAABOACAAAAAAAAEAAABOACEAAAAAAAEAAABOACIAAAAAAAEAAABPACAAAAAAAAEAAABPACEAAAAAAAEAAABPACIAAAAAAAEAAABQACAAAAAAAAEAAABQACEAAAAAAAEAAABQACIAAAAAAAEAAABRACAAAAAAAAEAAABRACEAAAAAAAEAAABRACIAAAAAAAEAAABSACAAAAAAAAEAAABSACEAAAAAAAEAAABSACIAAAAAAAEAAABTACAAAAAAAAEAAABTACEAAAAAAAEAAABTACIAAAAAAAEAAABSAAoAAQABAAIAAABSAAsAAQACAAIAAABSAAwAAQABAAIAAABSAA0AAQABAAIAAABSAA4AAQABAAIAAABSAA8AAQABAAIAAABSABAAAQABAAIAAABSABEAAQABAAIAAABSABIAAQABAAEAAABSABMAAQACAAIAAABTAAoAAQABAAIAAABTAAsAAQABAAIAAABTAAwAAQABAAIAAABTAA0AAQABAAIAAABTAA4AAQABAAIAAABTAA8AAQABAAIAAABTABAAAQABAAIAAABTABEAAQABAAIAAABTABIAAQABAAIAAABTABMAAQABAAIAAAA0ACMAAAAAAAEAAAA1ACMAAAAAAAEAAAA2ACMAAAAAAAEAAAA3ACMAAAAAAAEAAAA4ACMAAAAAAAEAAAA5ACMAAAAAAAEAAAA6ACMAAAAAAAEAAAA7ACMAAAAAAAEAAAA8ACMAAAAAAAEAAAA9ACMAAAAAAAEAAAA+ACMAAAAAAAEAAAA/ACMAAAAAAAEAAABAACMAAAAAAAEAAABBACMAAAAAAAEAAABCACMAAAAAAAEAAABDACMAAAAAAAEAAABEACMAAAAAAAEAAABFACMAAAAAAAEAAABGACMAAAAAAAEAAABHACMAAAAAAAEAAABIACMAAAAAAAEAAABJACMAAAAAAAEAAABKACMAAAAAAAEAAABLACMAAAAAAAEAAABMACMAAAAAAAEAAABNACMAAAAAAAEAAABOACMAAAAAAAEAAABPACMAAAAAAAEAAABQACMAAAAAAAEAAABRACMAAAAAAAEAAABSACMAAAAAAAEAAABTACMAAAAAAAEAAAAwABQAAAAAAAEAAAAwABUAAAAAAAEAAAAxABQAAAAAAAEAAAAxABUAAAAAAAEAAAAyABQAAAAAAAEAAAAyABUAAAAAAAEAAAAzABQAAAAAAAEAAAAzABUAAAAAAAEAAAA0ABQAAAAAAAEAAAA0ABUAAAAAAAEAAAA1ABQAAAAAAAEAAAA1ABUAAAAAAAEAAAA2ABQAAAAAAAEAAAA2ABUAAAAAAAEAAAA3ABQAAAAAAAEAAAA3ABUAAAAAAAEAAAA4ABQAAAAAAAEAAAA4ABUAAAAAAAEAAAA5ABQAAAAAAAEAAAA5ABUAAAAAAAEAAAA6ABQAAAAAAAEAAAA6ABUAAAAAAAEAAAA7ABQAAAAAAAEAAAA7ABUAAAAAAAEAAAA8ABQAAAAAAAEAAAA8ABUAAAAAAAEAAAA9ABQAAAAAAAEAAAA9ABUAAAAAAAEAAAA+ABQAAAAAAAEAAAA+ABUAAAAAAAEAAAA/ABQAAAAAAAEAAAA/ABUAAAAAAAEAAAA+ABYAAAAAAAEAAAA+ABcAAAAAAAEAAAA+ABgAAAAAAAEAAAA+ABkAAAAAAAEAAAA+ABoAAAAAAAEAAAA+ABsAAAAAAAEAAAA+ABwAAAAAAAEAAAA+AB0AAAAAAAEAAAA+AB4AAAAAAAEAAAA+AB8AAAAAAAEAAAA/ABYAAAAAAAEAAAA/ABcAAAAAAAEAAAA/ABgAAAAAAAEAAAA/ABkAAAAAAAEAAAA/ABoAAAAAAAEAAAA/ABsAAAAAAAEAAAA/ABwAAAAAAAEAAAA/AB0AAAAAAAEAAAA/AB4AAAAAAAEAAAA/AB8AAAAAAAEAAAD2//3/AAAAAAEAAAD2//7/AAAAAAEAAAD3//7/AAAAAAEAAAD4//7/AAAAAAEAAAD4//3/AAAAAAEAAAD3//3/AAAAAAEAAAD5//3/AAAAAAEAAAD6//3/AAAAAAEAAAD6//7/AAAAAAEAAAD5//7/AAAAAAEAAAD7//7/AAAAAAEAAAD7//3/AAAAAAEAAAD2////AwABAAcAAAD3////AwABAAcAAAD4////AwABAAcAAAD5////AwABAAcAAAD6////AwABAAcAAAD7////AwABAAcAAADt//v/AAAAAAEAAADu//v/AAAAAAEAAADv//v/AAAAAAEAAADw//f/AAAAAAEAAADw//j/AAAAAAEAAADw//v/AAAAAAEAAADx//f/AAAAAAEAAADx//j/AAAAAAEAAADx//v/AAAAAAEAAADy//f/AAAAAAEAAADy//j/AAAAAAEAAADy//v/AAAAAAEAAADz//f/AAAAAAEAAADz//j/AAAAAAEAAADz//v/AAAAAAEAAAD0//X/AAAAAAEAAAD0//b/AAAAAAEAAAD0//f/AAAAAAEAAAD0//j/AAAAAAEAAAD0//v/AAAAAAEAAAD1//b/AAAAAAEAAAD1//f/AAAAAAEAAAD1//j/AAAAAAEAAAD1//n/AAAAAAEAAAD1//v/AAAAAAEAAAD2//b/AQABAAEAAAD2//f/AQACAAIAAAD2//j/AQABAAEAAAD2//n/AQABAAEAAAD2//r/AAAAAAEAAAD2//v/AAAAAAEAAAD2//z/AAAAAAEAAAD3//b/AQACAAEAAAD3//f/AQACAAEAAAD3//j/AQACAAIAAAD3//n/AQACAAEAAAD3//r/AAAAAAEAAAD3//v/AAAAAAEAAAD3//z/AAAAAAEAAAD4//b/AAAAAAEAAAD4//f/AQABAAEAAAD4//j/AQABAAIAAAD4//n/AQABAAEAAAD4//r/AQABAAEAAAD4//v/AAAAAAEAAAD4//z/AAAAAAEAAAD5//b/AAAAAAEAAAD5//f/AQACAAEAAAD5//j/AQACAAEAAAD5//n/AQABAAEAAAD5//r/AQACAAEAAAD5//v/AAAAAAEAAAD5//z/AAAAAAEAAAD6//b/AQABAAEAAAD6//f/AQABAAEAAAD6//j/AQAEAAEAAAD6//n/AQAEAAIAAAD6//r/AQABAAEAAAD6//v/AAAAAAEAAAD6//z/AAAAAAEAAAD7//b/AQACAAEAAAD7//f/AQACAAEAAAD7//j/AQAFAAEAAAD7//n/AQAFAAIAAAD7//r/AQACAAEAAAD7//v/AAAAAAEAAAD7//z/AAAAAAEAAAD8//b/AQABAAEAAAD8//f/AQAEAAAAAAD8//j/AQABAAEAAAD8//n/AQABAAIAAAD8//r/AAAAAAEAAAD8//v/AQABAAMAAAD9//b/AQACAAEAAAD9//f/AQACAAEAAAD9//j/AQABAAIAAAD9//n/AQACAAEAAAD9//r/AAAAAAEAAAD9//v/AQACAAMAAAD+//b/AQABAAEAAAD+//f/AQABAAEAAAD+//j/AQABAAEAAAD+//n/AQABAAEAAAD+//r/AAAAAAEAAAD+//v/AQABAAMAAAD///b/AQACAAEAAAD///f/AQACAAEAAAD///j/AQACAAIAAAD///n/AQACAAEAAAD///r/AAAAAAEAAAD///v/AQACAAMAAAAAAPb/AAAAAAEAAAAAAPf/AQABAAEAAAAAAPj/AQABAAEAAAAAAPn/AQABAAEAAAAAAPr/AQABAAIAAAAAAPv/AQACAAMAAAABAPb/AAAAAAEAAAABAPf/AQACAAEAAAABAPj/AQABAAIAAAABAPn/AQACAAEAAAABAPr/AQABAAEAAAABAPv/AQABAAMAAAACAPb/AAAAAAEAAAACAPf/AAAAAAEAAAACAPj/AQABAAEAAAACAPn/AQABAAEAAAACAPr/AQACAAEAAAACAPv/AQACAAMAAAADAPb/AAAAAAEAAAADAPf/AAAAAAEAAAADAPj/AQABAAEAAAADAPn/AQABAAEAAAADAPr/AQABAAEAAAADAPv/AQABAAMAAAAEAPb/AAAAAAEAAAAEAPf/AAAAAAEAAAAEAPj/AQACAAEAAAAEAPn/AQACAAEAAAAEAPr/AQACAAEAAAAEAPv/AQACAAMAAAAFAPb/AAAAAAEAAAAFAPf/AAAAAAEAAAAFAPj/AQABAAIAAAAFAPn/AQABAAEAAAAFAPr/AQABAAEAAAAFAPv/AQABAAMAAAAGAPb/AAAAAAEAAAAGAPf/AAAAAAEAAAAGAPj/AQAEAAEAAAAGAPn/AQAEAAIAAAAGAPr/AQACAAEAAAAGAPv/AQACAAMAAAAHAPb/AAAAAAEAAAAHAPf/AQABAAEAAAAHAPj/AQAFAAEAAAAHAPn/AQAFAAIAAAAHAPr/AAAAAAEAAAAHAPv/AQABAAMAAAAIAPb/AAAAAAEAAAAIAPf/AQACAAEAAAAIAPj/AQACAAEAAAAIAPn/AQABAAIAAAAIAPr/AAAAAAEAAAAIAPv/AQACAAMAAAAJAPb/AAAAAAEAAAAJAPf/AQABAAEAAAAJAPj/AQABAAEAAAAJAPn/AQABAAEAAAAJAPr/AAAAAAEAAAAJAPv/AQABAAMAAAAKAPb/AAAAAAEAAAAKAPf/AQACAAEAAAAKAPj/AQABAAIAAAAKAPn/AQABAAIAAAAKAPr/AQABAAEAAAAKAPv/AQACAAMAAAALAPb/AAAAAAEAAAALAPf/AQABAAEAAAALAPj/AQABAAEAAAALAPn/AQABAAEAAAALAPr/AQACAAEAAAALAPv/AQABAAMAAAAMAPb/AAAAAAEAAAAMAPf/AQACAAEAAAAMAPj/AQACAAEAAAAMAPn/AQACAAEAAAAMAPr/AAAAAAEAAAAMAPv/AQACAAMAAAAzAAcAAQADAAEAAACGABQAAAADAAEAAACGABUAAAADAAEAAACGABYAAAADAAEAAACGABcAAAADAAEAAACHABQAAAADAAEAAACHABUAAAADAAEAAACHABYAAAADAAEAAACHABcAAAADAAEAAACGABoAAAADAAEAAACGABsAAAADAAEAAACGABwAAAADAAEAAACGAB0AAAADAAEAAACHABoAAAADAAEAAACHABsAAAADAAEAAACHABwAAAADAAEAAACHAB0AAAADAAEAAACGABIAAAADAAEAAACGABMAAAADAAEAAACHABIAAAADAAEAAACHABMAAAADAAEAAACIABIAAAADAAEAAACIABMAAAADAAEAAACJABIAAAADAAEAAACJABMAAAADAAEAAACKABIAAAADAAEAAACKABMAAAADAAEAAACLABIAAAADAAEAAACLABMAAAADAAEAAACMABIAAAADAAEAAACMABMAAAADAAEAAACNABIAAAADAAEAAACNABMAAAADAAEAAACOABIAAAADAAEAAACOABMAAAADAAEAAACGAB4AAAADAAEAAACGAB8AAAADAAEAAACHAB4AAAADAAEAAACHAB8AAAADAAEAAACIAB4AAAADAAEAAACIAB8AAAADAAEAAACJAB4AAAADAAEAAACJAB8AAAADAAEAAACKAB4AAAADAAEAAACKAB8AAAADAAEAAACLAB4AAAADAAEAAACLAB8AAAADAAEAAACMAB4AAAADAAEAAACMAB8AAAADAAEAAACNAB4AAAADAAEAAACNAB8AAAADAAEAAACOAB4AAAADAAEAAACOAB8AAAADAAEAAACPAB4AAAADAAEAAACPAB8AAAADAAEAAACPABIAAAADAAEAAACPABMAAAADAAEAAACQAAAAAAADAAEAAACQAAEAAAADAAEAAACQAAIAAAADAAEAAACQAAMAAAADAAEAAACQAAQAAAADAAEAAACQAAUAAAADAAEAAACQAAYAAAADAAEAAACQAAcAAAADAAEAAACQAAgAAAADAAEAAACQAAkAAAADAAEAAACQAAoAAAADAAEAAACQAAsAAAADAAEAAACQAAwAAAADAAEAAACQAA0AAAADAAEAAACQAA4AAAADAAEAAACQAA8AAAADAAEAAACQABAAAAADAAEAAACQABEAAAADAAEAAACQABIAAAADAAEAAACQABMAAAADAAEAAACRAAAAAAADAAEAAACRAAEAAAADAAEAAACRAAIAAAADAAEAAACRAAMAAAADAAEAAACRAAQAAAADAAEAAACRAAUAAAADAAEAAACRAAYAAAADAAEAAACRAAcAAAADAAEAAACRAAgAAAADAAEAAACRAAkAAAADAAEAAACRAAoAAAADAAEAAACRAAsAAAADAAEAAACRAAwAAAADAAEAAACRAA0AAAADAAEAAACRAA4AAAADAAEAAACRAA8AAAADAAEAAACRABAAAAADAAEAAACRABEAAAADAAEAAACRABIAAAADAAEAAACRABMAAAADAAEAAACQAOr/AAADAAEAAACQAOv/AAADAAEAAACQAOz/AAADAAEAAACQAO3/AAADAAEAAACQAO7/AAADAAEAAACQAO//AAADAAEAAACQAPD/AAADAAEAAACQAPH/AAADAAEAAACQAPL/AAADAAEAAACQAPP/AAADAAEAAACQAPT/AAADAAEAAACQAPX/AAADAAEAAACQAPb/AAADAAEAAACQAPf/AAADAAEAAACQAPj/AAADAAEAAACQAPn/AAADAAEAAACQAPr/AAADAAEAAACQAPv/AAADAAEAAACQAPz/AAADAAEAAACQAP3/AAADAAEAAACQAP7/AAADAAEAAACQAP//AAADAAEAAACRAOr/AAADAAEAAACRAOv/AAADAAEAAACRAOz/AAADAAEAAACRAO3/AAADAAEAAACRAO7/AAADAAEAAACRAO//AAADAAEAAACRAPD/AAADAAEAAACRAPH/AAADAAEAAACRAPL/AAADAAEAAACRAPP/AAADAAEAAACRAPT/AAADAAEAAACRAPX/AAADAAEAAACRAPb/AAADAAEAAACRAPf/AAADAAEAAACRAPj/AAADAAEAAACRAPn/AAADAAEAAACRAPr/AAADAAEAAACRAPv/AAADAAEAAACRAPz/AAADAAEAAACRAP3/AAADAAEAAACRAP7/AAADAAEAAACRAP//AAADAAEAAACSAOr/AAADAAEAAACSAOv/AAADAAEAAACSAOz/AAADAAEAAACSAO3/AAADAAEAAACSAO7/AAADAAEAAACSAO//AAADAAEAAACSAPD/AAADAAEAAACSAPH/AAADAAEAAACSAPL/AAADAAEAAACSAPP/AAADAAEAAACSAPT/AAADAAEAAACSAPX/AAADAAEAAACSAPb/AAADAAEAAACSAPf/AAADAAEAAACSAPj/AAADAAEAAACSAPn/AAADAAEAAACSAPr/AAADAAEAAACSAPv/AAADAAEAAACSAPz/AAADAAEAAACSAP3/AAADAAEAAACSAP7/AAADAAEAAACSAP//AAADAAEAAACTAOr/AAADAAEAAACTAOv/AAADAAEAAACTAOz/AAADAAEAAACTAO3/AAADAAEAAACTAO7/AAADAAEAAACTAO//AAADAAEAAACTAPD/AAADAAEAAACTAPH/AAADAAEAAACTAPL/AAADAAEAAACTAPP/AAADAAEAAACTAPT/AAADAAEAAACTAPX/AAADAAEAAACTAPb/AAADAAEAAACTAPf/AAADAAEAAACTAPj/AAADAAEAAACTAPn/AAADAAEAAACTAPr/AAADAAEAAACTAPv/AAADAAEAAACTAPz/AAADAAEAAACTAP3/AAADAAEAAACTAP7/AAADAAEAAACTAP//AAADAAEAAACUAOr/AAADAAEAAACUAOv/AAADAAEAAACUAOz/AAADAAEAAACUAO3/AAADAAEAAACUAO7/AAADAAEAAACUAO//AAADAAEAAACUAPD/AAADAAEAAACUAPH/AAADAAEAAACUAPL/AAADAAEAAACUAPP/AAADAAEAAACUAPT/AAADAAEAAACUAPX/AAADAAEAAACUAPb/AAADAAEAAACUAPf/AAADAAEAAACUAPj/AAADAAEAAACUAPn/AAADAAEAAACUAPr/AAADAAEAAACUAPv/AAADAAEAAACUAPz/AAADAAEAAACUAP3/AAADAAEAAACUAP7/AAADAAEAAACUAP//AAADAAEAAACVAOr/AAADAAEAAACVAOv/AAADAAEAAACVAOz/AAADAAEAAACVAO3/AAADAAEAAACVAO7/AAADAAEAAACVAO//AAADAAEAAACVAPD/AAADAAEAAACVAPH/AAADAAEAAACVAPL/AAADAAEAAACVAPP/AAADAAEAAACVAPT/AAADAAEAAACVAPX/AAADAAEAAACVAPb/AAADAAEAAACVAPf/AAADAAEAAACVAPj/AAADAAEAAACVAPn/AAADAAEAAACVAPr/AAADAAEAAACVAPv/AAADAAEAAACVAPz/AAADAAEAAACVAP3/AAADAAEAAACVAP7/AAADAAEAAACVAP//AAADAAEAAACWAOr/AAADAAEAAACWAOv/AAADAAEAAACWAOz/AAADAAEAAACWAO3/AAADAAEAAACWAO7/AAADAAEAAACWAO//AAADAAEAAACWAPD/AAADAAEAAACWAPH/AAADAAEAAACWAPL/AAADAAEAAACWAPP/AAADAAEAAACWAPT/AAADAAEAAACWAPX/AAADAAEAAACWAPb/AAADAAEAAACWAPf/AAADAAEAAACWAPj/AAADAAEAAACWAPn/AAADAAEAAACWAPr/AAADAAEAAACWAPv/AAADAAEAAACWAPz/AAADAAEAAACWAP3/AAADAAEAAACWAP7/AAADAAEAAACWAP//AAADAAEAAACXAOr/AAADAAEAAACXAOv/AAADAAEAAACXAOz/AAADAAEAAACXAO3/AAADAAEAAACXAO7/AAADAAEAAACXAO//AAADAAEAAACXAPD/AAADAAEAAACXAPH/AAADAAEAAACXAPL/AAADAAEAAACXAPP/AAADAAEAAACXAPT/AAADAAEAAACXAPX/AAADAAEAAACXAPb/AAADAAEAAACXAPf/AAADAAEAAACXAPj/AAADAAEAAACXAPn/AAADAAEAAACXAPr/AAADAAEAAACXAPv/AAADAAEAAACXAPz/AAADAAEAAACXAP3/AAADAAEAAACXAP7/AAADAAEAAACXAP//AAADAAEAAACYAOr/AAADAAEAAACYAOv/AAADAAEAAACYAOz/AAADAAEAAACYAO3/AAADAAEAAACYAO7/AAADAAEAAACYAO//AAADAAEAAACYAPD/AAADAAEAAACYAPH/AAADAAEAAACYAPL/AAADAAEAAACYAPP/AAADAAEAAACYAPT/AAADAAEAAACYAPX/AAADAAEAAACYAPb/AAADAAEAAACYAPf/AAADAAEAAACYAPj/AAADAAEAAACYAPn/AAADAAEAAACYAPr/AAADAAEAAACYAPv/AAADAAEAAACYAPz/AAADAAEAAACYAP3/AAADAAEAAACYAP7/AAADAAEAAACYAP//AAADAAEAAACZAOr/AAADAAEAAACZAOv/AAADAAEAAACZAOz/AAADAAEAAACZAO3/AAADAAEAAACZAO7/AAADAAEAAACZAO//AAADAAEAAACZAPD/AAADAAEAAACZAPH/AAADAAEAAACZAPL/AAADAAEAAACZAPP/AAADAAEAAACZAPT/AAADAAEAAACZAPX/AAADAAEAAACZAPb/AAADAAEAAACZAPf/AAADAAEAAACZAPj/AAADAAEAAACZAPn/AAADAAEAAACZAPr/AAADAAEAAACZAPv/AAADAAEAAACZAPz/AAADAAEAAACZAP3/AAADAAEAAACZAP7/AAADAAEAAACZAP//AAADAAEAAACaAOr/AAADAAEAAACaAOv/AAADAAEAAACaAOz/AAADAAEAAACaAO3/AAADAAEAAACaAO7/AAADAAEAAACaAO//AAADAAEAAACaAPD/AAADAAEAAACaAPH/AAADAAEAAACaAPL/AAADAAEAAACaAPP/AAADAAEAAACaAPT/AAADAAEAAACaAPX/AAADAAEAAACaAPb/AAADAAEAAACaAPf/AAADAAEAAACaAPj/AAADAAEAAACaAPn/AAADAAEAAACaAPr/AAADAAEAAACaAPv/AAADAAEAAACaAPz/AAADAAEAAACaAP3/AAADAAEAAACaAP7/AAADAAEAAACaAP//AAADAAEAAACbAOr/AAADAAEAAACbAOv/AAADAAEAAACbAOz/AAADAAEAAACbAO3/AAADAAEAAACbAO7/AAADAAEAAACbAO//AAADAAEAAACbAPD/AAADAAEAAACbAPH/AAADAAEAAACbAPL/AAADAAEAAACbAPP/AAADAAEAAACbAPT/AAADAAEAAACbAPX/AAADAAEAAACbAPb/AAADAAEAAACbAPf/AAADAAEAAACbAPj/AAADAAEAAACbAPn/AAADAAEAAACbAPr/AAADAAEAAACbAPv/AAADAAEAAACbAPz/AAADAAEAAACbAP3/AAADAAEAAACbAP7/AAADAAEAAACbAP//AAADAAEAAACcAOr/AAADAAEAAACcAOv/AAADAAEAAACcAOz/AAADAAEAAACcAO3/AAADAAEAAACcAO7/AAADAAEAAACcAO//AAADAAEAAACcAPD/AAADAAEAAACcAPH/AAADAAEAAACcAPL/AAADAAEAAACcAPP/AAADAAEAAACcAPT/AAADAAEAAACcAPX/AAADAAEAAACcAPb/AAADAAEAAACcAPf/AAADAAEAAACcAPj/AAADAAEAAACcAPn/AAADAAEAAACcAPr/AAADAAEAAACcAPv/AAADAAEAAACcAPz/AAADAAEAAACcAP3/AAADAAEAAACcAP7/AAADAAEAAACcAP//AAADAAEAAACdAOr/AAADAAEAAACdAOv/AAADAAEAAACdAOz/AAADAAEAAACdAO3/AAADAAEAAACdAO7/AAADAAEAAACdAO//AAADAAEAAACdAPD/AAADAAEAAACdAPH/AAADAAEAAACdAPL/AAADAAEAAACdAPP/AAADAAEAAACdAPT/AAADAAEAAACdAPX/AAADAAEAAACdAPb/AAADAAEAAACdAPf/AAADAAEAAACdAPj/AAADAAEAAACdAPn/AAADAAEAAACdAPr/AAADAAEAAACdAPv/AAADAAEAAACdAPz/AAADAAEAAACdAP3/AAADAAEAAACdAP7/AAADAAEAAACdAP//AAADAAEAAACeAOr/AAADAAEAAACeAOv/AAADAAEAAACeAOz/AAADAAEAAACeAO3/AAADAAEAAACeAO7/AAADAAEAAACeAO//AAADAAEAAACeAPD/AAADAAEAAACeAPH/AAADAAEAAACeAPL/AAADAAEAAACeAPP/AAADAAEAAACeAPT/AAADAAEAAACeAPX/AAADAAEAAACeAPb/AAADAAEAAACeAPf/AAADAAEAAACeAPj/AAADAAEAAACeAPn/AAADAAEAAACeAPr/AAADAAEAAACeAPv/AAADAAEAAACeAPz/AAADAAEAAACeAP3/AAADAAEAAACeAP7/AAADAAEAAACeAP//AAADAAEAAACfAOr/AAADAAEAAACfAOv/AAADAAEAAACfAOz/AAADAAEAAACfAO3/AAADAAEAAACfAO7/AAADAAEAAACfAO//AAADAAEAAACfAPD/AAADAAEAAACfAPH/AAADAAEAAACfAPL/AAADAAEAAACfAPP/AAADAAEAAACfAPT/AAADAAEAAACfAPX/AAADAAEAAACfAPb/AAADAAEAAACfAPf/AAADAAEAAACfAPj/AAADAAEAAACfAPn/AAADAAEAAACfAPr/AAADAAEAAACfAPv/AAADAAEAAACfAPz/AAADAAEAAACfAP3/AAADAAEAAACfAP7/AAADAAEAAACfAP//AAADAAEAAACgAOr/AAADAAEAAACgAOv/AAADAAEAAACgAOz/AAADAAEAAACgAO3/AAADAAEAAACgAO7/AAADAAEAAACgAO//AAADAAEAAACgAPD/AAADAAEAAACgAPH/AAADAAEAAACgAPL/AAADAAEAAACgAPP/AAADAAEAAACgAPT/AAADAAEAAACgAPX/AAADAAEAAACgAPb/AAADAAEAAACgAPf/AAADAAEAAACgAPj/AAADAAEAAACgAPn/AAADAAEAAACgAPr/AAADAAEAAACgAPv/AAADAAEAAACgAPz/AAADAAEAAACgAP3/AAADAAEAAACgAP7/AAADAAEAAACgAP//AAADAAEAAAChAOr/AAADAAEAAAChAOv/AAADAAEAAAChAOz/AAADAAEAAAChAO3/AAADAAEAAAChAO7/AAADAAEAAAChAO//AAADAAEAAAChAPD/AAADAAEAAAChAPH/AAADAAEAAAChAPL/AAADAAEAAAChAPP/AAADAAEAAAChAPT/AAADAAEAAAChAPX/AAADAAEAAAChAPb/AAADAAEAAAChAPf/AAADAAEAAAChAPj/AAADAAEAAAChAPn/AAADAAEAAAChAPr/AAADAAEAAAChAPv/AAADAAEAAAChAPz/AAADAAEAAAChAP3/AAADAAEAAAChAP7/AAADAAEAAAChAP//AAADAAEAAACiAOr/AAADAAEAAACiAOv/AAADAAEAAACiAOz/AAADAAEAAACiAO3/AAADAAEAAACiAO7/AAADAAEAAACiAO//AAADAAEAAACiAPD/AAADAAEAAACiAPH/AAADAAEAAACiAPL/AAADAAEAAACiAPP/AAADAAEAAACiAPT/AAADAAEAAACiAPX/AAADAAEAAACiAPb/AAADAAEAAACiAPf/AAADAAEAAACiAPj/AAADAAEAAACiAPn/AAADAAEAAACiAPr/AAADAAEAAACiAPv/AAADAAEAAACiAPz/AAADAAEAAACiAP3/AAADAAEAAACiAP7/AAADAAEAAACiAP//AAADAAEAAACjAOr/AAADAAEAAACjAOv/AAADAAEAAACjAOz/AAADAAEAAACjAO3/AAADAAEAAACjAO7/AAADAAEAAACjAO//AAADAAEAAACjAPD/AAADAAEAAACjAPH/AAADAAEAAACjAPL/AAADAAEAAACjAPP/AAADAAEAAACjAPT/AAADAAEAAACjAPX/AAADAAEAAACjAPb/AAADAAEAAACjAPf/AAADAAEAAACjAPj/AAADAAEAAACjAPn/AAADAAEAAACjAPr/AAADAAEAAACjAPv/AAADAAEAAACjAPz/AAADAAEAAACjAP3/AAADAAEAAACjAP7/AAADAAEAAACjAP//AAADAAEAAACkAOr/AAADAAEAAACkAOv/AAADAAEAAACkAOz/AAADAAEAAACkAO3/AAADAAEAAACkAO7/AAADAAEAAACkAO//AAADAAEAAACkAPD/AAADAAEAAACkAPH/AAADAAEAAACkAPL/AAADAAEAAACkAPP/AAADAAEAAACkAPT/AAADAAEAAACkAPX/AAADAAEAAACkAPb/AAADAAEAAACkAPf/AAADAAEAAACkAPj/AAADAAEAAACkAPn/AAADAAEAAACkAPr/AAADAAEAAACkAPv/AAADAAEAAACkAPz/AAADAAEAAACkAP3/AAADAAEAAACkAP7/AAADAAEAAACkAP//AAADAAEAAAClAOr/AAADAAEAAAClAOv/AAADAAEAAAClAOz/AAADAAEAAAClAO3/AAADAAEAAAClAO7/AAADAAEAAAClAO//AAADAAEAAAClAPD/AAADAAEAAAClAPH/AAADAAEAAAClAPL/AAADAAEAAAClAPP/AAADAAEAAAClAPT/AAADAAEAAAClAPX/AAADAAEAAAClAPb/AAADAAEAAAClAPf/AAADAAEAAAClAPj/AAADAAEAAAClAPn/AAADAAEAAAClAPr/AAADAAEAAAClAPv/AAADAAEAAAClAPz/AAADAAEAAAClAP3/AAADAAEAAAClAP7/AAADAAEAAAClAP//AAADAAEAAACmAOr/AAADAAEAAACmAOv/AAADAAEAAACmAOz/AAADAAEAAACmAO3/AAADAAEAAACmAO7/AAADAAEAAACmAO//AAADAAEAAACmAPD/AAADAAEAAACmAPH/AAADAAEAAACmAPL/AAADAAEAAACmAPP/AAADAAEAAACmAPT/AAADAAEAAACmAPX/AAADAAEAAACmAPb/AAADAAEAAACmAPf/AAADAAEAAACmAPj/AAADAAEAAACmAPn/AAADAAEAAACmAPr/AAADAAEAAACmAPv/AAADAAEAAACmAPz/AAADAAEAAACmAP3/AAADAAEAAACmAP7/AAADAAEAAACmAP//AAADAAEAAACnAOr/AAADAAEAAACnAOv/AAADAAEAAACnAOz/AAADAAEAAACnAO3/AAADAAEAAACnAO7/AAADAAEAAACnAO//AAADAAEAAACnAPD/AAADAAEAAACnAPH/AAADAAEAAACnAPL/AAADAAEAAACnAPP/AAADAAEAAACnAPT/AAADAAEAAACnAPX/AAADAAEAAACnAPb/AAADAAEAAACnAPf/AAADAAEAAACnAPj/AAADAAEAAACnAPn/AAADAAEAAACnAPr/AAADAAEAAACnAPv/AAADAAEAAACnAPz/AAADAAEAAACnAP3/AAADAAEAAACnAP7/AAADAAEAAACnAP//AAADAAEAAACoAOr/AAADAAEAAACoAOv/AAADAAEAAACoAOz/AAADAAEAAACoAO3/AAADAAEAAACoAO7/AAADAAEAAACoAO//AAADAAEAAACoAPD/AAADAAEAAACoAPH/AAADAAEAAACoAPL/AAADAAEAAACoAPP/AAADAAEAAACoAPT/AAADAAEAAACoAPX/AAADAAEAAACoAPb/AAADAAEAAACoAPf/AAADAAEAAACoAPj/AAADAAEAAACoAPn/AAADAAEAAACoAPr/AAADAAEAAACoAPv/AAADAAEAAACoAPz/AAADAAEAAACoAP3/AAADAAEAAACoAP7/AAADAAEAAACoAP//AAADAAEAAACpAOr/AAADAAEAAACpAOv/AAADAAEAAACpAOz/AAADAAEAAACpAO3/AAADAAEAAACpAO7/AAADAAEAAACpAO//AAADAAEAAACpAPD/AAADAAEAAACpAPH/AAADAAEAAACpAPL/AAADAAEAAACpAPP/AAADAAEAAACpAPT/AAADAAEAAACpAPX/AAADAAEAAACpAPb/AAADAAEAAACpAPf/AAADAAEAAACpAPj/AAADAAEAAACpAPn/AAADAAEAAACpAPr/AAADAAEAAACpAPv/AAADAAEAAACpAPz/AAADAAEAAACpAP3/AAADAAEAAACpAP7/AAADAAEAAACpAP//AAADAAEAAACqAOr/AAADAAEAAACqAOv/AAADAAEAAACqAOz/AAADAAEAAACqAO3/AAADAAEAAACqAO7/AAADAAEAAACqAO//AAADAAEAAACqAPD/AAADAAEAAACqAPH/AAADAAEAAACqAPL/AAADAAEAAACqAPP/AAADAAEAAACqAPT/AAADAAEAAACqAPX/AAADAAEAAACqAPb/AAADAAEAAACqAPf/AAADAAEAAACqAPj/AAADAAEAAACqAPn/AAADAAEAAACqAPr/AAADAAEAAACqAPv/AAADAAEAAACqAPz/AAADAAEAAACqAP3/AAADAAEAAACqAP7/AAADAAEAAACqAP//AAADAAEAAACrAOr/AAADAAEAAACrAOv/AAADAAEAAACrAOz/AAADAAEAAACrAO3/AAADAAEAAACrAO7/AAADAAEAAACrAO//AAADAAEAAACrAPD/AAADAAEAAACrAPH/AAADAAEAAACrAPL/AAADAAEAAACrAPP/AAADAAEAAACrAPT/AAADAAEAAACrAPX/AAADAAEAAACrAPb/AAADAAEAAACrAPf/AAADAAEAAACrAPj/AAADAAEAAACrAPn/AAADAAEAAACrAPr/AAADAAEAAACrAPv/AAADAAEAAACrAPz/AAADAAEAAACrAP3/AAADAAEAAACrAP7/AAADAAEAAACrAP//AAADAAEAAACsAOr/AAADAAEAAACsAOv/AAADAAEAAACsAOz/AAADAAEAAACsAO3/AAADAAEAAACsAO7/AAADAAEAAACsAO//AAADAAEAAACsAPD/AAADAAEAAACsAPH/AAADAAEAAACsAPL/AAADAAEAAACsAPP/AAADAAEAAACsAPT/AAADAAEAAACsAPX/AAADAAEAAACsAPb/AAADAAEAAACsAPf/AAADAAEAAACsAPj/AAADAAEAAACsAPn/AAADAAEAAACsAPr/AAADAAEAAACsAPv/AAADAAEAAACsAPz/AAADAAEAAACsAP3/AAADAAEAAACsAP7/AAADAAEAAACsAP//AAADAAEAAACtAOr/AAADAAEAAACtAOv/AAADAAEAAACtAOz/AAADAAEAAACtAO3/AAADAAEAAACtAO7/AAADAAEAAACtAO//AAADAAEAAACtAPD/AAADAAEAAACtAPH/AAADAAEAAACtAPL/AAADAAEAAACtAPP/AAADAAEAAACtAPT/AAADAAEAAACtAPX/AAADAAEAAACtAPb/AAADAAEAAACtAPf/AAADAAEAAACtAPj/AAADAAEAAACtAPn/AAADAAEAAACtAPr/AAADAAEAAACtAPv/AAADAAEAAACtAPz/AAADAAEAAACtAP3/AAADAAEAAACtAP7/AAADAAEAAACtAP//AAADAAEAAACuAOr/AAADAAEAAACuAOv/AAADAAEAAACuAOz/AAADAAEAAACuAO3/AAADAAEAAACuAO7/AAADAAEAAACuAO//AAADAAEAAACuAPD/AAADAAEAAACuAPH/AAADAAEAAACuAPL/AAADAAEAAACuAPP/AAADAAEAAACuAPT/AAADAAEAAACuAPX/AAADAAEAAACuAPb/AAADAAEAAACuAPf/AAADAAEAAACuAPj/AAADAAEAAACuAPn/AAADAAEAAACuAPr/AAADAAEAAACuAPv/AAADAAEAAACuAPz/AAADAAEAAACuAP3/AAADAAEAAACuAP7/AAADAAEAAACuAP//AAADAAEAAACvAOr/AAADAAEAAACvAOv/AAADAAEAAACvAOz/AAADAAEAAACvAO3/AAADAAEAAACvAO7/AAADAAEAAACvAO//AAADAAEAAACvAPD/AAADAAEAAACvAPH/AAADAAEAAACvAPL/AAADAAEAAACvAPP/AAADAAEAAACvAPT/AAADAAEAAACvAPX/AAADAAEAAACvAPb/AAADAAEAAACvAPf/AAADAAEAAACvAPj/AAADAAEAAACvAPn/AAADAAEAAACvAPr/AAADAAEAAACvAPv/AAADAAEAAACvAPz/AAADAAEAAACvAP3/AAADAAEAAACvAP7/AAADAAEAAACvAP//AAADAAEAAACwAOr/AAADAAEAAACwAOv/AAADAAEAAACwAOz/AAADAAEAAACwAO3/AAADAAEAAACwAO7/AAADAAEAAACwAO//AAADAAEAAACwAPD/AAADAAEAAACwAPH/AAADAAEAAACwAPL/AAADAAEAAACwAPP/AAADAAEAAACwAPT/AAADAAEAAACwAPX/AAADAAEAAACwAPb/AAADAAEAAACwAPf/AAADAAEAAACwAPj/AAADAAEAAACwAPn/AAADAAEAAACwAPr/AAADAAEAAACwAPv/AAADAAEAAACwAPz/AAADAAEAAACwAP3/AAADAAEAAACwAP7/AAADAAEAAACwAP//AAADAAEAAACxAOr/AAADAAEAAACxAOv/AAADAAEAAACxAOz/AAADAAEAAACxAO3/AAADAAEAAACxAO7/AAADAAEAAACxAO//AAADAAEAAACxAPD/AAADAAEAAACxAPH/AAADAAEAAACxAPL/AAADAAEAAACxAPP/AAADAAEAAACxAPT/AAADAAEAAACxAPX/AAADAAEAAACxAPb/AAADAAEAAACxAPf/AAADAAEAAACxAPj/AAADAAEAAACxAPn/AAADAAEAAACxAPr/AAADAAEAAACxAPv/AAADAAEAAACxAPz/AAADAAEAAACxAP3/AAADAAEAAACxAP7/AAADAAEAAACxAP//AAADAAEAAACyAOr/AAADAAEAAACyAOv/AAADAAEAAACyAOz/AAADAAEAAACyAO3/AAADAAEAAACyAO7/AAADAAEAAACyAO//AAADAAEAAACyAPD/AAADAAEAAACyAPH/AAADAAEAAACyAPL/AAADAAEAAACyAPP/AAADAAEAAACyAPT/AAADAAEAAACyAPX/AAADAAEAAACyAPb/AAADAAEAAACyAPf/AAADAAEAAACyAPj/AAADAAEAAACyAPn/AAADAAEAAACyAPr/AAADAAEAAACyAPv/AAADAAEAAACyAPz/AAADAAEAAACyAP3/AAADAAEAAACyAP7/AAADAAEAAACyAP//AAADAAEAAACzAOr/AAADAAEAAACzAOv/AAADAAEAAACzAOz/AAADAAEAAACzAO3/AAADAAEAAACzAO7/AAADAAEAAACzAO//AAADAAEAAACzAPD/AAADAAEAAACzAPH/AAADAAEAAACzAPL/AAADAAEAAACzAPP/AAADAAEAAACzAPT/AAADAAEAAACzAPX/AAADAAEAAACzAPb/AAADAAEAAACzAPf/AAADAAEAAACzAPj/AAADAAEAAACzAPn/AAADAAEAAACzAPr/AAADAAEAAACzAPv/AAADAAEAAACzAPz/AAADAAEAAACzAP3/AAADAAEAAACzAP7/AAADAAEAAACzAP//AAADAAEAAAC0AOr/AAADAAEAAAC0AOv/AAADAAEAAAC0AOz/AAADAAEAAAC0AO3/AAADAAEAAAC0AO7/AAADAAEAAAC0AO//AAADAAEAAAC0APD/AAADAAEAAAC0APH/AAADAAEAAAC0APL/AAADAAEAAAC0APP/AAADAAEAAAC0APT/AAADAAEAAAC0APX/AAADAAEAAAC0APb/AAADAAEAAAC0APf/AAADAAEAAAC0APj/AAADAAEAAAC0APn/AAADAAEAAAC0APr/AAADAAEAAAC0APv/AAADAAEAAAC0APz/AAADAAEAAAC0AP3/AAADAAEAAAC0AP7/AAADAAEAAAC0AP//AAADAAEAAAC1AOr/AAADAAEAAAC1AOv/AAADAAEAAAC1AOz/AAADAAEAAAC1AO3/AAADAAEAAAC1AO7/AAADAAEAAAC1AO//AAADAAEAAAC1APD/AAADAAEAAAC1APH/AAADAAEAAAC1APL/AAADAAEAAAC1APP/AAADAAEAAAC1APT/AAADAAEAAAC1APX/AAADAAEAAAC1APb/AAADAAEAAAC1APf/AAADAAEAAAC1APj/AAADAAEAAAC1APn/AAADAAEAAAC1APr/AAADAAEAAAC1APv/AAADAAEAAAC1APz/AAADAAEAAAC1AP3/AAADAAEAAAC1AP7/AAADAAEAAAC1AP//AAADAAEAAAC2AOr/AAADAAEAAAC2AOv/AAADAAEAAAC2AOz/AAADAAEAAAC2AO3/AAADAAEAAAC2AO7/AAADAAEAAAC2AO//AAADAAEAAAC2APD/AAADAAEAAAC2APH/AAADAAEAAAC2APL/AAADAAEAAAC2APP/AAADAAEAAAC2APT/AAADAAEAAAC2APX/AAADAAEAAAC2APb/AAADAAEAAAC2APf/AAADAAEAAAC2APj/AAADAAEAAAC2APn/AAADAAEAAAC2APr/AAADAAEAAAC2APv/AAADAAEAAAC2APz/AAADAAEAAAC2AP3/AAADAAEAAAC2AP7/AAADAAEAAAC2AP//AAADAAEAAAC3AOr/AAADAAEAAAC3AOv/AAADAAEAAAC3AOz/AAADAAEAAAC3AO3/AAADAAEAAAC3AO7/AAADAAEAAAC3AO//AAADAAEAAAC3APD/AAADAAEAAAC3APH/AAADAAEAAAC3APL/AAADAAEAAAC3APP/AAADAAEAAAC3APT/AAADAAEAAAC3APX/AAADAAEAAAC3APb/AAADAAEAAAC3APf/AAADAAEAAAC3APj/AAADAAEAAAC3APn/AAADAAEAAAC3APr/AAADAAEAAAC3APv/AAADAAEAAAC3APz/AAADAAEAAAC3AP3/AAADAAEAAAC3AP7/AAADAAEAAAC3AP//AAADAAEAAAC4AOr/AAADAAEAAAC4AOv/AAADAAEAAAC4AOz/AAADAAEAAAC4AO3/AAADAAEAAAC4AO7/AAADAAEAAAC4AO//AAADAAEAAAC4APD/AAADAAEAAAC4APH/AAADAAEAAAC4APL/AAADAAEAAAC4APP/AAADAAEAAAC4APT/AAADAAEAAAC4APX/AAADAAEAAAC4APb/AAADAAEAAAC4APf/AAADAAEAAAC4APj/AAADAAEAAAC4APn/AAADAAEAAAC4APr/AAADAAEAAAC4APv/AAADAAEAAAC4APz/AAADAAEAAAC4AP3/AAADAAEAAAC4AP7/AAADAAEAAAC4AP//AAADAAEAAAC5AOr/AAADAAEAAAC5AOv/AAADAAEAAAC5AOz/AAADAAEAAAC5AO3/AAADAAEAAAC5AO7/AAADAAEAAAC5AO//AAADAAEAAAC5APD/AAADAAEAAAC5APH/AAADAAEAAAC5APL/AAADAAEAAAC5APP/AAADAAEAAAC5APT/AAADAAEAAAC5APX/AAADAAEAAAC5APb/AAADAAEAAAC5APf/AAADAAEAAAC5APj/AAADAAEAAAC5APn/AAADAAEAAAC5APr/AAADAAEAAAC5APv/AAADAAEAAAC5APz/AAADAAEAAAC5AP3/AAADAAEAAAC5AP7/AAADAAEAAAC5AP//AAADAAEAAAC6AOr/AAADAAEAAAC6AOv/AAADAAEAAAC6AOz/AAADAAEAAAC6AO3/AAADAAEAAAC6AO7/AAADAAEAAAC6AO//AAADAAEAAAC6APD/AAADAAEAAAC6APH/AAADAAEAAAC6APL/AAADAAEAAAC6APP/AAADAAEAAAC6APT/AAADAAEAAAC6APX/AAADAAEAAAC6APb/AAADAAEAAAC6APf/AAADAAEAAAC6APj/AAADAAEAAAC6APn/AAADAAEAAAC6APr/AAADAAEAAAC6APv/AAADAAEAAAC6APz/AAADAAEAAAC6AP3/AAADAAEAAAC6AP7/AAADAAEAAAC6AP//AAADAAEAAAC7AOr/AAADAAEAAAC7AOv/AAADAAEAAAC7AOz/AAADAAEAAAC7AO3/AAADAAEAAAC7AO7/AAADAAEAAAC7AO//AAADAAEAAAC7APD/AAADAAEAAAC7APH/AAADAAEAAAC7APL/AAADAAEAAAC7APP/AAADAAEAAAC7APT/AAADAAEAAAC7APX/AAADAAEAAAC7APb/AAADAAEAAAC7APf/AAADAAEAAAC7APj/AAADAAEAAAC7APn/AAADAAEAAAC7APr/AAADAAEAAAC7APv/AAADAAEAAAC7APz/AAADAAEAAAC7AP3/AAADAAEAAAC7AP7/AAADAAEAAAC7AP//AAADAAEAAAC8AOr/AAADAAEAAAC8AOv/AAADAAEAAAC8AOz/AAADAAEAAAC8AO3/AAADAAEAAAC8AO7/AAADAAEAAAC8AO//AAADAAEAAAC8APD/AAADAAEAAAC8APH/AAADAAEAAAC8APL/AAADAAEAAAC8APP/AAADAAEAAAC8APT/AAADAAEAAAC8APX/AAADAAEAAAC8APb/AAADAAEAAAC8APf/AAADAAEAAAC8APj/AAADAAEAAAC8APn/AAADAAEAAAC8APr/AAADAAEAAAC8APv/AAADAAEAAAC8APz/AAADAAEAAAC8AP3/AAADAAEAAAC8AP7/AAADAAEAAAC8AP//AAADAAEAAAC9AOr/AAADAAEAAAC9AOv/AAADAAEAAAC9AOz/AAADAAEAAAC9AO3/AAADAAEAAAC9AO7/AAADAAEAAAC9AO//AAADAAEAAAC9APD/AAADAAEAAAC9APH/AAADAAEAAAC9APL/AAADAAEAAAC9APP/AAADAAEAAAC9APT/AAADAAEAAAC9APX/AAADAAEAAAC9APb/AAADAAEAAAC9APf/AAADAAEAAAC9APj/AAADAAEAAAC9APn/AAADAAEAAAC9APr/AAADAAEAAAC9APv/AAADAAEAAAC9APz/AAADAAEAAAC9AP3/AAADAAEAAAC9AP7/AAADAAEAAAC9AP//AAADAAEAAAC+AOr/AAADAAEAAAC+AOv/AAADAAEAAAC+AOz/AAADAAEAAAC+AO3/AAADAAEAAAC+AO7/AAADAAEAAAC+AO//AAADAAEAAAC+APD/AAADAAEAAAC+APH/AAADAAEAAAC+APL/AAADAAEAAAC+APP/AAADAAEAAAC+APT/AAADAAEAAAC+APX/AAADAAEAAAC+APb/AAADAAEAAAC+APf/AAADAAEAAAC+APj/AAADAAEAAAC+APn/AAADAAEAAAC+APr/AAADAAEAAAC+APv/AAADAAEAAAC+APz/AAADAAEAAAC+AP3/AAADAAEAAAC+AP7/AAADAAEAAAC+AP//AAADAAEAAAC/AOr/AAADAAEAAAC/AOv/AAADAAEAAAC/AOz/AAADAAEAAAC/AO3/AAADAAEAAAC/AO7/AAADAAEAAAC/AO//AAADAAEAAAC/APD/AAADAAEAAAC/APH/AAADAAEAAAC/APL/AAADAAEAAAC/APP/AAADAAEAAAC/APT/AAADAAEAAAC/APX/AAADAAEAAAC/APb/AAADAAEAAAC/APf/AAADAAEAAAC/APj/AAADAAEAAAC/APn/AAADAAEAAAC/APr/AAADAAEAAAC/APv/AAADAAEAAAC/APz/AAADAAEAAAC/AP3/AAADAAEAAAC/AP7/AAADAAEAAAC/AP//AAADAAEAAADAAOr/AAADAAEAAADAAOv/AAADAAEAAADAAOz/AAADAAEAAADAAO3/AAADAAEAAADAAO7/AAADAAEAAADAAO//AAADAAEAAADAAPD/AAADAAEAAADAAPH/AAADAAEAAADAAPL/AAADAAEAAADAAPP/AAADAAEAAADAAPT/AAADAAEAAADAAPX/AAADAAEAAADAAPb/AAADAAEAAADAAPf/AAADAAEAAADAAPj/AAADAAEAAADAAPn/AAADAAEAAADAAPr/AAADAAEAAADAAPv/AAADAAEAAADAAPz/AAADAAEAAADAAP3/AAADAAEAAADAAP7/AAADAAEAAADAAP//AAADAAEAAADBAOr/AAADAAEAAADBAOv/AAADAAEAAADBAOz/AAADAAEAAADBAO3/AAADAAEAAADBAO7/AAADAAEAAADBAO//AAADAAEAAADBAPD/AAADAAEAAADBAPH/AAADAAEAAADBAPL/AAADAAEAAADBAPP/AAADAAEAAADBAPT/AAADAAEAAADBAPX/AAADAAEAAADBAPb/AAADAAEAAADBAPf/AAADAAEAAADBAPj/AAADAAEAAADBAPn/AAADAAEAAADBAPr/AAADAAEAAADBAPv/AAADAAEAAADBAPz/AAADAAEAAADBAP3/AAADAAEAAADBAP7/AAADAAEAAADBAP//AAADAAEAAADCAOr/AAADAAEAAADCAOv/AAADAAEAAADCAOz/AAADAAEAAADCAO3/AAADAAEAAADCAO7/AAADAAEAAADCAO//AAADAAEAAADCAPD/AAADAAEAAADCAPH/AAADAAEAAADCAPL/AAADAAEAAADCAPP/AAADAAEAAADCAPT/AAADAAEAAADCAPX/AAADAAEAAADCAPb/AAADAAEAAADCAPf/AAADAAEAAADCAPj/AAADAAEAAADCAPn/AAADAAEAAADCAPr/AAADAAEAAADCAPv/AAADAAEAAADCAPz/AAADAAEAAADCAP3/AAADAAEAAADCAP7/AAADAAEAAADCAP//AAADAAEAAADDAOr/AAADAAEAAADDAOv/AAADAAEAAADDAOz/AAADAAEAAADDAO3/AAADAAEAAADDAO7/AAADAAEAAADDAO//AAADAAEAAADDAPD/AAADAAEAAADDAPH/AAADAAEAAADDAPL/AAADAAEAAADDAPP/AAADAAEAAADDAPT/AAADAAEAAADDAPX/AAADAAEAAADDAPb/AAADAAEAAADDAPf/AAADAAEAAADDAPj/AAADAAEAAADDAPn/AAADAAEAAADDAPr/AAADAAEAAADDAPv/AAADAAEAAADDAPz/AAADAAEAAADDAP3/AAADAAEAAADDAP7/AAADAAEAAADDAP//AAADAAEAAADEAOr/AAADAAEAAADEAOv/AAADAAEAAADEAOz/AAADAAEAAADEAO3/AAADAAEAAADEAO7/AAADAAEAAADEAO//AAADAAEAAADEAPD/AAADAAEAAADEAPH/AAADAAEAAADEAPL/AAADAAEAAADEAPP/AAADAAEAAADEAPT/AAADAAEAAADEAPX/AAADAAEAAADEAPb/AAADAAEAAADEAPf/AAADAAEAAADEAPj/AAADAAEAAADEAPn/AAADAAEAAADEAPr/AAADAAEAAADEAPv/AAADAAEAAADEAPz/AAADAAEAAADEAP3/AAADAAEAAADEAP7/AAADAAEAAADEAP//AAADAAEAAADFAOr/AAADAAEAAADFAOv/AAADAAEAAADFAOz/AAADAAEAAADFAO3/AAADAAEAAADFAO7/AAADAAEAAADFAO//AAADAAEAAADFAPD/AAADAAEAAADFAPH/AAADAAEAAADFAPL/AAADAAEAAADFAPP/AAADAAEAAADFAPT/AAADAAEAAADFAPX/AAADAAEAAADFAPb/AAADAAEAAADFAPf/AAADAAEAAADFAPj/AAADAAEAAADFAPn/AAADAAEAAADFAPr/AAADAAEAAADFAPv/AAADAAEAAADFAPz/AAADAAEAAADFAP3/AAADAAEAAADFAP7/AAADAAEAAADFAP//AAADAAEAAADGAOr/AAADAAEAAADGAOv/AAADAAEAAADGAOz/AAADAAEAAADGAO3/AAADAAEAAADGAO7/AAADAAEAAADGAO//AAADAAEAAADGAPD/AAADAAEAAADGAPH/AAADAAEAAADGAPL/AAADAAEAAADGAPP/AAADAAEAAADGAPT/AAADAAEAAADGAPX/AAADAAEAAADGAPb/AAADAAEAAADGAPf/AAADAAEAAADGAPj/AAADAAEAAADGAPn/AAADAAEAAADGAPr/AAADAAEAAADGAPv/AAADAAEAAADGAPz/AAADAAEAAADGAP3/AAADAAEAAADGAP7/AAADAAEAAADGAP//AAADAAEAAADHAOr/AAADAAEAAADHAOv/AAADAAEAAADHAOz/AAADAAEAAADHAO3/AAADAAEAAADHAO7/AAADAAEAAADHAO//AAADAAEAAADHAPD/AAADAAEAAADHAPH/AAADAAEAAADHAPL/AAADAAEAAADHAPP/AAADAAEAAADHAPT/AAADAAEAAADHAPX/AAADAAEAAADHAPb/AAADAAEAAADHAPf/AAADAAEAAADHAPj/AAADAAEAAADHAPn/AAADAAEAAADHAPr/AAADAAEAAADHAPv/AAADAAEAAADHAPz/AAADAAEAAADHAP3/AAADAAEAAADHAP7/AAADAAEAAADHAP//AAADAAEAAADIAOr/AAADAAEAAADIAOv/AAADAAEAAADIAOz/AAADAAEAAADIAO3/AAADAAEAAADIAO7/AAADAAEAAADIAO//AAADAAEAAADIAPD/AAADAAEAAADIAPH/AAADAAEAAADIAPL/AAADAAEAAADIAPP/AAADAAEAAADIAPT/AAADAAEAAADIAPX/AAADAAEAAADIAPb/AAADAAEAAADIAPf/AAADAAEAAADIAPj/AAADAAEAAADIAPn/AAADAAEAAADIAPr/AAADAAEAAADIAPv/AAADAAEAAADIAPz/AAADAAEAAADIAP3/AAADAAEAAADIAP7/AAADAAEAAADIAP//AAADAAEAAADJAOr/AAADAAEAAADJAOv/AAADAAEAAADJAOz/AAADAAEAAADJAO3/AAADAAEAAADJAO7/AAADAAEAAADJAO//AAADAAEAAADJAPD/AAADAAEAAADJAPH/AAADAAEAAADJAPL/AAADAAEAAADJAPP/AAADAAEAAADJAPT/AAADAAEAAADJAPX/AAADAAEAAADJAPb/AAADAAEAAADJAPf/AAADAAEAAADJAPj/AAADAAEAAADJAPn/AAADAAEAAADJAPr/AAADAAEAAADJAPv/AAADAAEAAADJAPz/AAADAAEAAADJAP3/AAADAAEAAADJAP7/AAADAAEAAADJAP//AAADAAEAAADKAOr/AAADAAEAAADKAOv/AAADAAEAAADKAOz/AAADAAEAAADKAO3/AAADAAEAAADKAO7/AAADAAEAAADKAO//AAADAAEAAADKAPD/AAADAAEAAADKAPH/AAADAAEAAADKAPL/AAADAAEAAADKAPP/AAADAAEAAADKAPT/AAADAAEAAADKAPX/AAADAAEAAADKAPb/AAADAAEAAADKAPf/AAADAAEAAADKAPj/AAADAAEAAADKAPn/AAADAAEAAADKAPr/AAADAAEAAADKAPv/AAADAAEAAADKAPz/AAADAAEAAADKAP3/AAADAAEAAADKAP7/AAADAAEAAADKAP//AAADAAEAAADLAOr/AAADAAEAAADLAOv/AAADAAEAAADLAOz/AAADAAEAAADLAO3/AAADAAEAAADLAO7/AAADAAEAAADLAO//AAADAAEAAADLAPD/AAADAAEAAADLAPH/AAADAAEAAADLAPL/AAADAAEAAADLAPP/AAADAAEAAADLAPT/AAADAAEAAADLAPX/AAADAAEAAADLAPb/AAADAAEAAADLAPf/AAADAAEAAADLAPj/AAADAAEAAADLAPn/AAADAAEAAADLAPr/AAADAAEAAADLAPv/AAADAAEAAADLAPz/AAADAAEAAADLAP3/AAADAAEAAADLAP7/AAADAAEAAADLAP//AAADAAEAAADMAOr/AAADAAEAAADMAOv/AAADAAEAAADMAOz/AAADAAEAAADMAO3/AAADAAEAAADMAO7/AAADAAEAAADMAO//AAADAAEAAADMAPD/AAADAAEAAADMAPH/AAADAAEAAADMAPL/AAADAAEAAADMAPP/AAADAAEAAADMAPT/AAADAAEAAADMAPX/AAADAAEAAADMAPb/AAADAAEAAADMAPf/AAADAAEAAADMAPj/AAADAAEAAADMAPn/AAADAAEAAADMAPr/AAADAAEAAADMAPv/AAADAAEAAADMAPz/AAADAAEAAADMAP3/AAADAAEAAADMAP7/AAADAAEAAADMAP//AAADAAEAAADNAOr/AAADAAEAAADNAOv/AAADAAEAAADNAOz/AAADAAEAAADNAO3/AAADAAEAAADNAO7/AAADAAEAAADNAO//AAADAAEAAADNAPD/AAADAAEAAADNAPH/AAADAAEAAADNAPL/AAADAAEAAADNAPP/AAADAAEAAADNAPT/AAADAAEAAADNAPX/AAADAAEAAADNAPb/AAADAAEAAADNAPf/AAADAAEAAADNAPj/AAADAAEAAADNAPn/AAADAAEAAADNAPr/AAADAAEAAADNAPv/AAADAAEAAADNAPz/AAADAAEAAADNAP3/AAADAAEAAADNAP7/AAADAAEAAADNAP//AAADAAEAAADOAOr/AAADAAEAAADOAOv/AAADAAEAAADOAOz/AAADAAEAAADOAO3/AAADAAEAAADOAO7/AAADAAEAAADOAO//AAADAAEAAADOAPD/AAADAAEAAADOAPH/AAADAAEAAADOAPL/AAADAAEAAADOAPP/AAADAAEAAADOAPT/AAADAAEAAADOAPX/AAADAAEAAADOAPb/AAADAAEAAADOAPf/AAADAAEAAADOAPj/AAADAAEAAADOAPn/AAADAAEAAADOAPr/AAADAAEAAADOAPv/AAADAAEAAADOAPz/AAADAAEAAADOAP3/AAADAAEAAADOAP7/AAADAAEAAADOAP//AAADAAEAAADPAOr/AAADAAEAAADPAOv/AAADAAEAAADPAOz/AAADAAEAAADPAO3/AAADAAEAAADPAO7/AAADAAEAAADPAO//AAADAAEAAADPAPD/AAADAAEAAADPAPH/AAADAAEAAADPAPL/AAADAAEAAADPAPP/AAADAAEAAADPAPT/AAADAAEAAADPAPX/AAADAAEAAADPAPb/AAADAAEAAADPAPf/AAADAAEAAADPAPj/AAADAAEAAADPAPn/AAADAAEAAADPAPr/AAADAAEAAADPAPv/AAADAAEAAADPAPz/AAADAAEAAADPAP3/AAADAAEAAADPAP7/AAADAAEAAADPAP//AAADAAEAAADQAOr/AAADAAEAAADQAOv/AAADAAEAAADQAOz/AAADAAEAAADQAO3/AAADAAEAAADQAO7/AAADAAEAAADQAO//AAADAAEAAADQAPD/AAADAAEAAADQAPH/AAADAAEAAADQAPL/AAADAAEAAADQAPP/AAADAAEAAADQAPT/AAADAAEAAADQAPX/AAADAAEAAADQAPb/AAADAAEAAADQAPf/AAADAAEAAADQAPj/AAADAAEAAADQAPn/AAADAAEAAADQAPr/AAADAAEAAADQAPv/AAADAAEAAADQAPz/AAADAAEAAADQAP3/AAADAAEAAADQAP7/AAADAAEAAADQAP//AAADAAEAAADRAOr/AAADAAEAAADRAOv/AAADAAEAAADRAOz/AAADAAEAAADRAO3/AAADAAEAAADRAO7/AAADAAEAAADRAO//AAADAAEAAADRAPD/AAADAAEAAADRAPH/AAADAAEAAADRAPL/AAADAAEAAADRAPP/AAADAAEAAADRAPT/AAADAAEAAADRAPX/AAADAAEAAADRAPb/AAADAAEAAADRAPf/AAADAAEAAADRAPj/AAADAAEAAADRAPn/AAADAAEAAADRAPr/AAADAAEAAADRAPv/AAADAAEAAADRAPz/AAADAAEAAADRAP3/AAADAAEAAADRAP7/AAADAAEAAADRAP//AAADAAEAAADSAOr/AAADAAEAAADSAOv/AAADAAEAAADSAOz/AAADAAEAAADSAO3/AAADAAEAAADSAO7/AAADAAEAAADSAO//AAADAAEAAADSAPD/AAADAAEAAADSAPH/AAADAAEAAADSAPL/AAADAAEAAADSAPP/AAADAAEAAADSAPT/AAADAAEAAADSAPX/AAADAAEAAADSAPb/AAADAAEAAADSAPf/AAADAAEAAADSAPj/AAADAAEAAADSAPn/AAADAAEAAADSAPr/AAADAAEAAADSAPv/AAADAAEAAADSAPz/AAADAAEAAADSAP3/AAADAAEAAADSAP7/AAADAAEAAADSAP//AAADAAEAAADTAOr/AAADAAEAAADTAOv/AAADAAEAAADTAOz/AAADAAEAAADTAO3/AAADAAEAAADTAO7/AAADAAEAAADTAO//AAADAAEAAADTAPD/AAADAAEAAADTAPH/AAADAAEAAADTAPL/AAADAAEAAADTAPP/AAADAAEAAADTAPT/AAADAAEAAADTAPX/AAADAAEAAADTAPb/AAADAAEAAADTAPf/AAADAAEAAADTAPj/AAADAAEAAADTAPn/AAADAAEAAADTAPr/AAADAAEAAADTAPv/AAADAAEAAADTAPz/AAADAAEAAADTAP3/AAADAAEAAADTAP7/AAADAAEAAADTAP//AAADAAEAAADUAOr/AAADAAEAAADUAOv/AAADAAEAAADUAOz/AAADAAEAAADUAO3/AAADAAEAAADUAO7/AAADAAEAAADUAO//AAADAAEAAADUAPD/AAADAAEAAADUAPH/AAADAAEAAADUAPL/AAADAAEAAADUAPP/AAADAAEAAADUAPT/AAADAAEAAADUAPX/AAADAAEAAADUAPb/AAADAAEAAADUAPf/AAADAAEAAADUAPj/AAADAAEAAADUAPn/AAADAAEAAADUAPr/AAADAAEAAADUAPv/AAADAAEAAADUAPz/AAADAAEAAADUAP3/AAADAAEAAADUAP7/AAADAAEAAADUAP//AAADAAEAAADVAOr/AAADAAEAAADVAOv/AAADAAEAAADVAOz/AAADAAEAAADVAO3/AAADAAEAAADVAO7/AAADAAEAAADVAO//AAADAAEAAADVAPD/AAADAAEAAADVAPH/AAADAAEAAADVAPL/AAADAAEAAADVAPP/AAADAAEAAADVAPT/AAADAAEAAADVAPX/AAADAAEAAADVAPb/AAADAAEAAADVAPf/AAADAAEAAADVAPj/AAADAAEAAADVAPn/AAADAAEAAADVAPr/AAADAAEAAADVAPv/AAADAAEAAADVAPz/AAADAAEAAADVAP3/AAADAAEAAADVAP7/AAADAAEAAADVAP//AAADAAEAAADWAOr/AAADAAEAAADWAOv/AAADAAEAAADWAOz/AAADAAEAAADWAO3/AAADAAEAAADWAO7/AAADAAEAAADWAO//AAADAAEAAADWAPD/AAADAAEAAADWAPH/AAADAAEAAADWAPL/AAADAAEAAADWAPP/AAADAAEAAADWAPT/AAADAAEAAADWAPX/AAADAAEAAADWAPb/AAADAAEAAADWAPf/AAADAAEAAADWAPj/AAADAAEAAADWAPn/AAADAAEAAADWAPr/AAADAAEAAADWAPv/AAADAAEAAADWAPz/AAADAAEAAADWAP3/AAADAAEAAADWAP7/AAADAAEAAADWAP//AAADAAEAAADXAOr/AAADAAEAAADXAOv/AAADAAEAAADXAOz/AAADAAEAAADXAO3/AAADAAEAAADXAO7/AAADAAEAAADXAO//AAADAAEAAADXAPD/AAADAAEAAADXAPH/AAADAAEAAADXAPL/AAADAAEAAADXAPP/AAADAAEAAADXAPT/AAADAAEAAADXAPX/AAADAAEAAADXAPb/AAADAAEAAADXAPf/AAADAAEAAADXAPj/AAADAAEAAADXAPn/AAADAAEAAADXAPr/AAADAAEAAADXAPv/AAADAAEAAADXAPz/AAADAAEAAADXAP3/AAADAAEAAADXAP7/AAADAAEAAADXAP//AAADAAEAAADYAOr/AAADAAEAAADYAOv/AAADAAEAAADYAOz/AAADAAEAAADYAO3/AAADAAEAAADYAO7/AAADAAEAAADYAO//AAADAAEAAADYAPD/AAADAAEAAADYAPH/AAADAAEAAADYAPL/AAADAAEAAADYAPP/AAADAAEAAADYAPT/AAADAAEAAADYAPX/AAADAAEAAADYAPb/AAADAAEAAADYAPf/AAADAAEAAADYAPj/AAADAAEAAADYAPn/AAADAAEAAADYAPr/AAADAAEAAADYAPv/AAADAAEAAADYAPz/AAADAAEAAADYAP3/AAADAAEAAADYAP7/AAADAAEAAADYAP//AAADAAEAAADZAOr/AAADAAEAAADZAOv/AAADAAEAAADZAOz/AAADAAEAAADZAO3/AAADAAEAAADZAO7/AAADAAEAAADZAO//AAADAAEAAADZAPD/AAADAAEAAADZAPH/AAADAAEAAADZAPL/AAADAAEAAADZAPP/AAADAAEAAADZAPT/AAADAAEAAADZAPX/AAADAAEAAADZAPb/AAADAAEAAADZAPf/AAADAAEAAADZAPj/AAADAAEAAADZAPn/AAADAAEAAADZAPr/AAADAAEAAADZAPv/AAADAAEAAADZAPz/AAADAAEAAADZAP3/AAADAAEAAADZAP7/AAADAAEAAADZAP//AAADAAEAAADaAOr/AAADAAEAAADaAOv/AAADAAEAAADaAOz/AAADAAEAAADaAO3/AAADAAEAAADaAO7/AAADAAEAAADaAO//AAADAAEAAADaAPD/AAADAAEAAADaAPH/AAADAAEAAADaAPL/AAADAAEAAADaAPP/AAADAAEAAADaAPT/AAADAAEAAADaAPX/AAADAAEAAADaAPb/AAADAAEAAADaAPf/AAADAAEAAADaAPj/AAADAAEAAADaAPn/AAADAAEAAADaAPr/AAADAAEAAADaAPv/AAADAAEAAADaAPz/AAADAAEAAADaAP3/AAADAAEAAADaAP7/AAADAAEAAADaAP//AAADAAEAAADbAOr/AAADAAEAAADbAOv/AAADAAEAAADbAOz/AAADAAEAAADbAO3/AAADAAEAAADbAO7/AAADAAEAAADbAO//AAADAAEAAADbAPD/AAADAAEAAADbAPH/AAADAAEAAADbAPL/AAADAAEAAADbAPP/AAADAAEAAADbAPT/AAADAAEAAADbAPX/AAADAAEAAADbAPb/AAADAAEAAADbAPf/AAADAAEAAADbAPj/AAADAAEAAADbAPn/AAADAAEAAADbAPr/AAADAAEAAADbAPv/AAADAAEAAADbAPz/AAADAAEAAADbAP3/AAADAAEAAADbAP7/AAADAAEAAADbAP//AAADAAEAAADcAOr/AAADAAEAAADcAOv/AAADAAEAAADcAOz/AAADAAEAAADcAO3/AAADAAEAAADcAO7/AAADAAEAAADcAO//AAADAAEAAADcAPD/AAADAAEAAADcAPH/AAADAAEAAADcAPL/AAADAAEAAADcAPP/AAADAAEAAADcAPT/AAADAAEAAADcAPX/AAADAAEAAADcAPb/AAADAAEAAADcAPf/AAADAAEAAADcAPj/AAADAAEAAADcAPn/AAADAAEAAADcAPr/AAADAAEAAADcAPv/AAADAAEAAADcAPz/AAADAAEAAADcAP3/AAADAAEAAADcAP7/AAADAAEAAADcAP//AAADAAEAAADdAOr/AAADAAEAAADdAOv/AAADAAEAAADdAOz/AAADAAEAAADdAO3/AAADAAEAAADdAO7/AAADAAEAAADdAO//AAADAAEAAADdAPD/AAADAAEAAADdAPH/AAADAAEAAADdAPL/AAADAAEAAADdAPP/AAADAAEAAADdAPT/AAADAAEAAADdAPX/AAADAAEAAADdAPb/AAADAAEAAADdAPf/AAADAAEAAADdAPj/AAADAAEAAADdAPn/AAADAAEAAADdAPr/AAADAAEAAADdAPv/AAADAAEAAADdAPz/AAADAAEAAADdAP3/AAADAAEAAADdAP7/AAADAAEAAADdAP//AAADAAEAAADeAOr/AAADAAEAAADeAOv/AAADAAEAAADeAOz/AAADAAEAAADeAO3/AAADAAEAAADeAO7/AAADAAEAAADeAO//AAADAAEAAADeAPD/AAADAAEAAADeAPH/AAADAAEAAADeAPL/AAADAAEAAADeAPP/AAADAAEAAADeAPT/AAADAAEAAADeAPX/AAADAAEAAADeAPb/AAADAAEAAADeAPf/AAADAAEAAADeAPj/AAADAAEAAADeAPn/AAADAAEAAADeAPr/AAADAAEAAADeAPv/AAADAAEAAADeAPz/AAADAAEAAADeAP3/AAADAAEAAADeAP7/AAADAAEAAADeAP//AAADAAEAAADfAOr/AAADAAEAAADfAOv/AAADAAEAAADfAOz/AAADAAEAAADfAO3/AAADAAEAAADfAO7/AAADAAEAAADfAO//AAADAAEAAADfAPD/AAADAAEAAADfAPH/AAADAAEAAADfAPL/AAADAAEAAADfAPP/AAADAAEAAADfAPT/AAADAAEAAADfAPX/AAADAAEAAADfAPb/AAADAAEAAADfAPf/AAADAAEAAADfAPj/AAADAAEAAADfAPn/AAADAAEAAADfAPr/AAADAAEAAADfAPv/AAADAAEAAADfAPz/AAADAAEAAADfAP3/AAADAAEAAADfAP7/AAADAAEAAADfAP//AAADAAEAAADgAOr/AAADAAEAAADgAOv/AAADAAEAAADgAOz/AAADAAEAAADgAO3/AAADAAEAAADgAO7/AAADAAEAAADgAO//AAADAAEAAADgAPD/AAADAAEAAADgAPH/AAADAAEAAADgAPL/AAADAAEAAADgAPP/AAADAAEAAADgAPT/AAADAAEAAADgAPX/AAADAAEAAADgAPb/AAADAAEAAADgAPf/AAADAAEAAADgAPj/AAADAAEAAADgAPn/AAADAAEAAADgAPr/AAADAAEAAADgAPv/AAADAAEAAADgAPz/AAADAAEAAADgAP3/AAADAAEAAADgAP7/AAADAAEAAADgAP//AAADAAEAAACQAB4AAAADAAEAAACQAB8AAAADAAEAAACRAB4AAAADAAEAAACRAB8AAAADAAEAAACSAB4AAAADAAEAAACSAB8AAAADAAEAAACTAB4AAAADAAEAAACTAB8AAAADAAEAAACUAB4AAAADAAEAAACUAB8AAAADAAEAAACVAB4AAAADAAEAAACVAB8AAAADAAEAAACWAB4AAAADAAEAAACWAB8AAAADAAEAAACXAB4AAAADAAEAAACXAB8AAAADAAEAAACYAB4AAAADAAEAAACYAB8AAAADAAEAAACZAB4AAAADAAEAAACZAB8AAAADAAEAAACaAB4AAAADAAEAAACaAB8AAAADAAEAAACbAB4AAAADAAEAAACbAB8AAAADAAEAAACcAB4AAAADAAEAAACcAB8AAAADAAEAAACdAB4AAAADAAEAAACdAB8AAAADAAEAAACeAB4AAAADAAEAAACeAB8AAAADAAEAAACfAB4AAAADAAEAAACfAB8AAAADAAEAAACgAB4AAAADAAEAAACgAB8AAAADAAEAAAChAB4AAAADAAEAAAChAB8AAAADAAEAAACiAB4AAAADAAEAAACiAB8AAAADAAEAAACjAB4AAAADAAEAAACjAB8AAAADAAEAAACkAB4AAAADAAEAAACkAB8AAAADAAEAAAClAB4AAAADAAEAAAClAB8AAAADAAEAAACmAB4AAAADAAEAAACmAB8AAAADAAEAAACnAB4AAAADAAEAAACnAB8AAAADAAEAAACoAB4AAAADAAEAAACoAB8AAAADAAEAAACpAB4AAAADAAEAAACpAB8AAAADAAEAAACqAB4AAAADAAEAAACqAB8AAAADAAEAAACrAB4AAAADAAEAAACrAB8AAAADAAEAAACsAB4AAAADAAEAAACsAB8AAAADAAEAAACtAB4AAAADAAEAAACtAB8AAAADAAEAAACuAB4AAAADAAEAAACuAB8AAAADAAEAAACvAB4AAAADAAEAAACvAB8AAAADAAEAAACiAA4AAAADAAEAAACiAA8AAAADAAEAAACiABAAAAADAAEAAACiABEAAAADAAEAAACiABIAAAADAAEAAACiABMAAAADAAEAAACiABQAAAADAAEAAACiABUAAAADAAEAAACiABYAAAADAAEAAACiABcAAAADAAEAAACiABgAAAADAAEAAACiABkAAAADAAEAAACiABoAAAADAAEAAACiABsAAAADAAEAAACiABwAAAADAAEAAACiAB0AAAADAAEAAACjAA4AAAADAAEAAACjAA8AAAADAAEAAACjABAAAAADAAEAAACjABEAAAADAAEAAACjABIAAAADAAEAAACjABMAAAADAAEAAACjABQAAAADAAEAAACjABUAAAADAAEAAACjABYAAAADAAEAAACjABcAAAADAAEAAACjABgAAAADAAEAAACjABkAAAADAAEAAACjABoAAAADAAEAAACjABsAAAADAAEAAACjABwAAAADAAEAAACjAB0AAAADAAEAAAA=") +tile_set = ExtResource("2_q0kvn") + +[node name="z-index -3" parent="Layers" index="4"] +tile_map_data = PackedByteArray("AAASAPr/AAABAAAAAAASAPv/AAABAAAAAAATAPr/AAABAAAAAAATAPv/AAABAAAAAAAUAPr/AAABAAAAAAAUAPv/AAABAAAAAAAVAPr/AAABAAAAAAAVAPv/AAABAAAAAAAWAPr/AAABAAAAAAAWAPv/AAABAAAAAAAXAPr/AAABAAAAAAAXAPv/AAABAAAAAAAYAPr/AAABAAAAAAAYAPv/AAABAAAAAAAZAPr/AAABAAAAAAAZAPv/AAABAAAAAAAaAPr/AAABAAAAAAAaAPv/AAABAAAAAAAbAPr/AAABAAAAAAAbAPv/AAABAAAAAAAcAPr/AAABAAAAAAAcAPv/AAABAAAAAAAdAPr/AAABAAAAAAAdAPv/AAABAAAAAAAYAPf/AAABAAAAAAAYAPj/AAABAAAAAAAYAPn/AAABAAAAAAAZAPf/AAABAAAAAAAZAPj/AAABAAAAAAAZAPn/AAABAAAAAAAaAPf/AAABAAAAAAAaAPj/AAABAAAAAAAaAPn/AAABAAAAAAAbAPf/AAABAAAAAAAbAPj/AAABAAAAAAAbAPn/AAABAAAAAAAcAPf/AAABAAAAAAAcAPj/AAABAAAAAAAcAPn/AAABAAAAAAAdAPf/AAABAAAAAAAdAPj/AAABAAAAAAAdAPn/AAABAAAAAAAFAAEAAwADAAAAAAAFAAAAAwADAAAAAAAFAP//AwAFAAEAAAAFAP7/AwAFAAAAAAAFAP3/AwADAAAAAAAEAP3/AwADAAAAAAADAP3/AwADAAAAAAACAP3/AwADAAAAAAABAP3/AwADAAAAAAAAAP3/AwADAAAAAAD///3/AwADAAAAAAD+//3/AwADAAAAAAD9//3/AwADAAAAAAD8//3/AwADAAAAAAD8//7/AwADAAAAAAD8////AwADAAAAAAD7////AwADAAAAAAD6////AwADAAAAAAD5////AwADAAAAAAD4////AwADAAAAAAD3////AwADAAAAAAD2////AwADAAAAAAD1////AwADAAAAAAD1//7/AwADAAAAAAD1//3/AwADAAAAAAD1//z/AwADAAAAAAD0//z/AwADAAAAAADz//z/AwADAAAAAADy//z/AwADAAAAAADx//z/AwADAAAAAADw//z/AwADAAAAAADv//z/AwADAAAAAADv//3/AwADAAAAAADv//7/AwADAAAAAADv////AwADAAAAAADv/wAAAwAHAAAAAADv/wEAAwAHAAEAAADv/wIAAwADAAAAAADw/wIAAwADAAAAAADw/wEAAwADAAAAAADw/wAAAwADAAAAAADw////AwADAAAAAADw//7/AwADAAAAAADw//3/AwADAAAAAADx//3/AwADAAAAAADx//7/AwADAAAAAADx////AwADAAAAAADx/wAAAwADAAAAAADx/wEAAwADAAAAAADx/wIAAwADAAAAAADy/wIAAwADAAAAAADy/wEAAwADAAAAAADy/wAAAwADAAAAAADy////AwADAAAAAADy//7/AwADAAAAAADy//3/AwAEAAAAAADz//3/AwADAAAAAADz//7/AwADAAAAAADz////AwADAAAAAADz/wAAAwADAAAAAADz/wEAAwADAAAAAADz/wIAAwADAAAAAAD0/wIAAwADAAAAAAD0/wEAAwADAAAAAAD0/wAAAwADAAAAAAD0////AwADAAAAAAD0//7/AwADAAAAAAD0//3/AwADAAAAAAD1/wAAAwAEAAAAAAD1/wEAAwADAAAAAAD1/wIAAwADAAAAAAD2/wIAAwADAAAAAAD2/wEAAwADAAAAAAD2/wAAAwADAAAAAAD3/wAAAwADAAAAAAD3/wEAAwADAAAAAAD3/wIAAwADAAAAAAD4/wIAAwADAAAAAAD4/wEAAwADAAAAAAD4/wAAAwADAAAAAAD5/wAAAwADAAAAAAD5/wEAAwADAAAAAAD5/wIAAwADAAAAAAD6/wIAAwADAAAAAAD6/wEAAwADAAAAAAD6/wAAAwADAAAAAAD7/wAAAwADAAAAAAD7/wEAAwADAAAAAAD7/wIAAwADAAAAAAD8/wIAAwADAAAAAAD8/wEAAwADAAAAAAD8/wAAAwADAAAAAAD9/wAAAwADAAAAAAD9////AwADAAAAAAD9//7/AwADAAAAAAD+//7/AwADAAAAAAD+////AwADAAAAAAD+/wAAAwADAAAAAAD+/wEAAwADAAAAAAD9/wEAAwAEAAAAAAD9/wIAAwADAAAAAAD+/wIAAwADAAAAAAD//wIAAwADAAAAAAD//wEAAwADAAAAAAD//wAAAwADAAAAAAD/////AwADAAAAAAD///7/AwADAAAAAAAAAP7/AwADAAAAAAAAAP//AwADAAAAAAAAAAAAAwADAAAAAAAAAAEAAwADAAAAAAAAAAIAAwADAAAAAAABAAIAAwADAAAAAAABAAEAAwADAAAAAAABAAAAAwADAAAAAAABAP//AwADAAAAAAABAP7/AwADAAAAAAACAP7/AwADAAAAAAACAP//AwADAAAAAAACAAAAAwADAAAAAAACAAEAAwADAAAAAAACAAIAAwADAAAAAAADAAIAAwAHAAEAAAADAAEAAwAHAAAAAAADAAAAAwADAAAAAAADAP//AwADAAAAAAADAP7/AwADAAAAAAAEAP7/AwADAAAAAAAEAP//AwADAAAAAAAEAAAAAwADAAAAAAAEAAEAAwADAAAAAAAEAAIAAwADAAAAAAAFAAIAAwADAAAAAAAGAAIAAwADAAAAAAAGAAEAAwADAAAAAAAGAAAAAwADAAAAAAAGAP//AwAGAAEAAAAGAP7/AwAGAAAAAAAGAP3/AwADAAAAAAAHAP3/AwADAAAAAAAHAP7/AwAHAAAAAAAHAP//AwAHAAEAAAAHAAAAAwADAAAAAAAHAAEAAwADAAAAAAAHAAIAAwADAAAAAAAIAAIAAwADAAAAAAAIAAEAAwADAAAAAAAIAAAAAwADAAAAAAAIAP//AwADAAAAAAAIAP7/AwADAAAAAAAIAP3/AwADAAAAAAAJAP3/AwADAAAAAAAJAP7/AwADAAAAAAAJAP//AwADAAAAAAAJAAAAAwADAAAAAAAJAAEAAwADAAAAAAAJAAIAAwADAAAAAAAKAAIAAwADAAAAAAAKAAEAAwADAAAAAAAKAAAAAwADAAAAAAAKAP//AwADAAAAAAAKAP7/AwADAAAAAAAKAP3/AwADAAAAAAALAP3/AwAFAAIAAAALAP7/AwAFAAMAAAALAP//AwADAAAAAAALAAAAAwADAAAAAAALAAEAAwADAAAAAAALAAIAAwADAAAAAAAMAAIAAwADAAAAAAAMAAEAAwADAAAAAAAMAAAAAwADAAAAAAAMAP//AwADAAAAAAAMAP7/AwAGAAMAAAAMAP3/AwAGAAIAAAANAP3/AwAHAAIAAAANAPz/AwADAAAAAAANAPv/AwADAAAAAAANAPr/AwADAAQAAAANAPn/AwADAAMAAAANAPj/AwADAAAAAAANAPf/AwADAAAAAAANAPb/AwADAAAAAAANAPX/AwADAAAAAAANAPT/AwADAAAAAAANAPP/AwADAAAAAAANAPL/AwADAAAAAAANAPH/AwADAAAAAAAMAPH/AwADAAAAAAALAPH/AwAEAAAAAAAKAPH/AwADAAAAAAAJAPH/AwADAAAAAAAIAPH/AwADAAAAAAAHAPH/AwADAAAAAAAGAPH/AwADAAAAAAAFAPH/AwAEAAMAAAAEAPH/AwADAAMAAAADAPH/AwAHAAAAAAACAPH/AwADAAAAAAABAPH/AwADAAAAAAAAAPH/AwADAAAAAAD///H/AwADAAAAAAD+//H/AwADAAAAAAD9//H/AwADAAAAAAD8//H/AwADAAAAAAD7//H/AwADAAAAAAD6//H/AwADAAAAAAD5//H/AwADAAAAAAD4//H/AwADAAAAAAD3//H/AwADAAAAAAD3//L/AwADAAAAAAD3//P/AwADAAAAAAD3//T/AwAHAAAAAAD3//X/AwAHAAEAAAD4//X/AwADAAAAAAD4//T/AwADAAAAAAD4//P/AwADAAAAAAD4//L/AwADAAAAAAD5//L/AwADAAAAAAD5//P/AwADAAAAAAD5//T/AwADAAAAAAD5//X/AwADAAAAAAD6//X/AwADAAAAAAD6//T/AwADAAAAAAD6//P/AwADAAAAAAD6//L/AwADAAAAAAD7//L/AwADAAAAAAD7//P/AwADAAAAAAD7//T/AwADAAAAAAD7//X/AwADAAAAAAD8//X/AwADAAAAAAD8//T/AwAEAAAAAAD8//P/AwADAAAAAAD8//L/AwADAAAAAAD9//L/AwADAAAAAAD9//P/AwADAAAAAAD9//T/AwADAAAAAAD9//X/AwADAAAAAAD+//X/AwADAAAAAAD+//T/AwADAAAAAAD+//P/AwADAAAAAAD+//L/AwADAAAAAAD///L/AwADAAAAAAD///P/AwADAAAAAAD///T/AwADAAAAAAD///X/AwADAAAAAAAAAPX/AwADAAAAAAAAAPT/AwADAAAAAAAAAPP/AwADAAAAAAAAAPL/AwADAAAAAAABAPL/AwADAAAAAAABAPP/AwADAAAAAAABAPT/AwADAAAAAAABAPX/AwADAAAAAAACAPX/AwADAAAAAAACAPT/AwADAAAAAAACAPP/AwADAAAAAAACAPL/AwADAAAAAAADAPL/AwAHAAEAAAADAPP/AwADAAAAAAADAPT/AwADAAAAAAADAPX/AwADAAAAAAAEAPX/AwADAAAAAAAEAPT/AwADAAAAAAAEAPP/AwADAAAAAAAEAPL/AwADAAQAAAAFAPL/AwAEAAQAAAAFAPP/AwADAAAAAAAFAPT/AwADAAAAAAAFAPX/AwADAAAAAAAGAPX/AwADAAAAAAAGAPT/AwADAAAAAAAGAPP/AwADAAAAAAAGAPL/AwADAAAAAAAHAPL/AwADAAAAAAAHAPP/AwADAAAAAAAHAPT/AwADAAAAAAAHAPX/AwADAAAAAAAIAPX/AwADAAAAAAAIAPT/AwADAAAAAAAIAPP/AwADAAAAAAAIAPL/AwADAAAAAAAJAPL/AwADAAAAAAAJAPP/AwADAAAAAAAJAPT/AwADAAAAAAAJAPX/AwADAAAAAAAKAPX/AwADAAAAAAAKAPT/AwADAAAAAAAKAPP/AwADAAAAAAAKAPL/AwADAAAAAAALAPL/AwADAAAAAAALAPP/AwADAAAAAAALAPT/AwADAAAAAAALAPX/AwADAAAAAAAMAPX/AwADAAAAAAAMAPT/AwADAAAAAAAMAPP/AwADAAAAAAAMAPL/AwADAAAAAAAOAPH/AwADAAAAAAAOAPL/AwADAAAAAAAOAPP/AwADAAAAAAAOAPT/AwADAAAAAAAOAPX/AwADAAAAAAAOAPb/AwADAAAAAAAOAPf/AwADAAAAAAAOAPj/AwADAAAAAAAOAPn/AwAEAAMAAAAOAPr/AwAEAAQAAAAOAPv/AwADAAAAAAAOAPz/AwADAAAAAAAOAP3/AwADAAAAAAAOAP7/AwADAAAAAAANAP7/AwAHAAMAAAANAP//AwADAAAAAAANAAAAAwADAAAAAAANAAEAAwADAAAAAAANAAIAAwADAAAAAAAOAAIAAwADAAAAAAAOAAEAAwADAAAAAAAOAAAAAwADAAAAAAAOAP//AwADAAAAAAAPAP//AwADAAAAAAAPAP7/AwADAAAAAAAPAP3/AwADAAAAAAAPAPz/AwAFAAEAAAAPAPv/AwAFAAAAAAAPAPr/AwADAAAAAAAPAPn/AwADAAAAAAAPAPj/AwADAAAAAAAPAPf/AwADAAAAAAAPAPb/AwADAAAAAAAPAPX/AwADAAAAAAAPAPT/AwADAAAAAAAPAPP/AwADAAAAAAAPAPL/AwADAAAAAAAPAPH/AwADAAAAAAAQAPH/AwADAAAAAAAQAPL/AwAFAAIAAAAQAPP/AwAFAAMAAAAQAPT/AwADAAAAAAAQAPX/AwADAAAAAAAQAPb/AwADAAAAAAAQAPf/AwADAAAAAAAQAPj/AwADAAAAAAAQAPn/AwADAAAAAAAQAPr/AwADAAAAAAAQAPv/AwAGAAAAAAAQAPz/AwAGAAEAAAAQAP3/AwADAAAAAAAQAP7/AwADAAAAAAAQAP//AwADAAAAAAAQAAAAAwADAAAAAAAPAAAAAwADAAAAAAAPAAEAAwADAAAAAAAPAAIAAwADAAAAAAAQAAIAAwADAAAAAAAQAAEAAwAEAAAAAAARAAEAAwADAAAAAAARAAAAAwADAAAAAAARAPv/AwAHAAAAAAARAPr/AwADAAAAAAARAPn/AwADAAAAAAARAPj/AwADAAAAAAARAPf/AwADAAAAAAARAPb/AwAEAAIAAAARAPX/AwADAAAAAAARAPT/AwADAAAAAAARAPP/AwAGAAMAAAARAPL/AwAGAAIAAAARAPH/AwADAAAAAAARAAIAAwADAAAAAAAaAAEAAAABAAAAAAAbAAEAAAABAAAAAAAbAAIAAAACAAIAAAAaAAIAAAACAAIAAAAaAAMAAAACAAIAAAAbAAMAAAACAAIAAAAbAAQAAAACAAIAAAAaAAQAAAACAAIAAAA0AAIAAAACAAIAAAA0AAMAAAACAAIAAAA0AAQAAAACAAIAAAA0AAUAAAACAAIAAAA1AAIAAAACAAIAAAA1AAMAAAACAAIAAAA1AAQAAAACAAIAAAA1AAUAAAACAAIAAAA0AP7/AAACAAIAAAA0AP//AAACAAIAAAA0AAAAAAACAAIAAAA0AAEAAAACAAIAAAA1AP7/AAACAAIAAAA1AP//AAACAAIAAAA1AAAAAAACAAIAAAA1AAEAAAACAAIAAAANAAUAAwADAAAAAAANAAYAAwADAAAAAAANAAcAAwADAAAAAAANAAgAAwADAAAAAAANAAkAAwADAAAAAAANAAoAAwADAAAAAAANAAsAAwADAAAAAAANAAwAAwADAAAAAAANAA0AAwADAAAAAAAOAAUAAwADAAAAAAAOAAYAAwADAAAAAAAOAAcAAwADAAAAAAAOAAgAAwADAAAAAAAOAAkAAwADAAAAAAAOAAoAAwADAAAAAAAOAAsAAwADAAAAAAAOAAwAAwADAAAAAAAOAA0AAwADAAAAAAAPAAUAAwADAAAAAAAPAAYAAwADAAAAAAAPAAcAAwADAAAAAAAPAAgAAwADAAAAAAAPAAkAAwADAAAAAAAPAAoAAwADAAAAAAAPAAsAAwADAAAAAAAPAAwAAwADAAAAAAAPAA0AAwADAAAAAAAQAAUAAwADAAAAAAAQAAYAAwADAAAAAAAQAAcAAwADAAAAAAAQAAgAAwADAAAAAAAQAAkAAwADAAAAAAAQAAoAAwADAAAAAAAQAAsAAwADAAAAAAAQAAwAAwADAAAAAAAQAA0AAwADAAAAAAARAAUAAwADAAAAAAARAAYAAwADAAAAAAARAAcAAwADAAAAAAARAAgAAwADAAAAAAARAAkAAwADAAAAAAARAAoAAwADAAAAAAARAAsAAwADAAAAAAARAAwAAwADAAAAAAARAA0AAwADAAAAAAASAAUAAwADAAAAAAASAAYAAwADAAAAAAASAAcAAwADAAAAAAASAAgAAwADAAAAAAASAAkAAwADAAAAAAASAAoAAwADAAAAAAASAAsAAwADAAAAAAASAAwAAwADAAAAAAASAA0AAwADAAAAAAATAAUAAwADAAAAAAATAAYAAwADAAAAAAATAAcAAwADAAAAAAATAAgAAwADAAAAAAATAAkAAwADAAAAAAATAAoAAwADAAAAAAATAAsAAwADAAAAAAATAAwAAwADAAAAAAATAA0AAwADAAAAAAAUAAUAAwADAAAAAAAUAAYAAwADAAAAAAAUAAcAAwADAAAAAAAUAAgAAwADAAAAAAAUAAkAAwADAAAAAAAUAAoAAwADAAAAAAAUAAsAAwADAAAAAAAUAAwAAwADAAAAAAAUAA0AAwADAAAAAAAVAAUAAwADAAAAAAAVAAYAAwADAAAAAAAVAAcAAwACAAMAABAVAAgAAwACAAQAABAVAAkAAwADAAAAAAAVAAoAAwADAAAAAAAVAAsAAwADAAAAAAAVAAwAAwADAAAAAAAVAA0AAwADAAAAAAAWAAUAAwADAAAAAAAWAAYAAwADAAAAAAAWAAcAAwABAAMAABAWAAgAAwABAAQAABAWAAkAAwADAAAAAAAWAAoAAwADAAAAAAAWAAsAAwADAAAAAAAWAAwAAwADAAAAAAAWAA0AAwADAAAAAAAXAAUAAwADAAAAAAAXAAYAAwADAAAAAAAXAAcAAwAAAAMAABAXAAgAAwAAAAQAABAXAAkAAwADAAAAAAAXAAoAAwADAAAAAAAXAAsAAwADAAAAAAAXAAwAAwADAAAAAAAXAA0AAwADAAAAAAAYAAUAAwADAAAAAAAYAAYAAwADAAAAAAAYAAcAAwADAAAAAAAYAAgAAwADAAAAAAAYAAkAAwADAAAAAAAYAAoAAwADAAAAAAAYAAsAAwADAAAAAAAYAAwAAwADAAAAAAAYAA0AAwADAAAAAAAZAAUAAwADAAAAAAAZAAYAAwADAAAAAAAZAAcAAwADAAAAAAAZAAgAAwADAAAAAAAZAAkAAwADAAAAAAAZAAoAAwADAAAAAAAZAAsAAwADAAAAAAAZAAwAAwADAAAAAAAZAA0AAwADAAAAAAAaAAUAAAACAAAAAAAaAAYAAAACAAAAAAAaAAcAAAACAAAAAAAaAAgAAAACAAAAAAAaAAkAAAACAAAAAAAaAAoAAAACAAAAAAAaAAsAAAACAAAAAAAaAAwAAwADAAAAAAAaAA0AAwADAAAAAAAbAAUAAAACAAAAAAAbAAYAAAACAAAAAAAbAAcAAAACAAAAAAAbAAgAAAACAAAAAAAbAAkAAAACAAAAAAAbAAoAAAACAAAAAAAbAAsAAAACAAAAAAAbAAwAAwADAAAAAAAbAA0AAwADAAAAAAAcAAUAAwADAAAAAAAcAAYAAwADAAAAAAAcAAcAAwADAAAAAAAcAAgAAwAFAAIAAAAcAAkAAwAFAAMAAAAcAAoAAwADAAAAAAAcAAsAAwADAAAAAAAcAAwAAwADAAAAAAAcAA0AAwADAAAAAAAdAAUAAwADAAAAAAAdAAYAAwADAAAAAAAdAAcAAwADAAAAAAAdAAgAAwAGAAIAAAAdAAkAAwAGAAMAAAAdAAoAAwADAAAAAAAdAAsAAwADAAAAAAAdAAwAAwADAAAAAAAdAA0AAwADAAAAAAAeAAUAAwADAAAAAAAeAAYAAwADAAAAAAAeAAcAAwADAAAAAAAeAAgAAwAHAAIAAAAeAAkAAwAHAAMAAAAeAAoAAwADAAAAAAAeAAsAAwADAAAAAAAeAAwAAwADAAAAAAAeAA0AAwADAAAAAAAfAAUAAwADAAAAAAAfAAYAAwADAAAAAAAfAAcAAwADAAAAAAAfAAgAAwADAAAAAAAfAAkAAwADAAAAAAAfAAoAAwADAAAAAAAfAAsAAwADAAAAAAAfAAwAAwADAAAAAAAfAA0AAwADAAAAAAAgAAUAAwADAAAAAAAgAAYAAwADAAAAAAAgAAcAAwADAAAAAAAgAAgAAwADAAAAAAAgAAkAAwADAAAAAAAgAAoAAwADAAAAAAAgAAsAAwADAAAAAAAgAAwAAwADAAAAAAAgAA0AAwADAAAAAAAhAAUAAwADAAAAAAAhAAYAAwADAAAAAAAhAAcAAwADAAAAAAAhAAgAAwADAAAAAAAhAAkAAwADAAAAAAAhAAoAAwADAAAAAAAhAAsAAwADAAAAAAAhAAwAAwADAAAAAAAhAA0AAwADAAAAAAAiAAUAAwADAAAAAAAiAAYAAwADAAAAAAAiAAcAAwADAAAAAAAiAAgAAwADAAAAAAAiAAkAAwADAAAAAAAiAAoAAwADAAAAAAAiAAsAAwADAAAAAAAiAAwAAwADAAAAAAAiAA0AAwADAAAAAAAjAAUAAwADAAAAAAAjAAYAAwADAAAAAAAjAAcAAwADAAAAAAAjAAgAAwADAAAAAAAjAAkAAwADAAAAAAAjAAoAAwADAAAAAAAjAAsAAwADAAAAAAAjAAwAAwADAAAAAAAjAA0AAwADAAAAAAAkAAUAAwADAAAAAAAkAAYAAwADAAAAAAAkAAcAAwADAAAAAAAkAAgAAwADAAAAAAAkAAkAAwADAAAAAAAkAAoAAwADAAAAAAAkAAsAAwADAAAAAAAkAAwAAwADAAAAAAAkAA0AAwADAAAAAAAlAAUAAwADAAAAAAAlAAYAAwADAAAAAAAlAAcAAwADAAAAAAAlAAgAAwADAAAAAAAlAAkAAwADAAAAAAAlAAoAAwADAAAAAAAlAAsAAwADAAAAAAAlAAwAAwADAAAAAAAlAA0AAwADAAAAAAAmAAUAAwADAAAAAAAmAAYAAwADAAAAAAAmAAcAAwADAAAAAAAmAAgAAwADAAAAAAAmAAkAAwADAAAAAAAmAAoAAwADAAAAAAAmAAsAAwADAAAAAAAmAAwAAwADAAAAAAAmAA0AAwADAAAAAAAnAAUAAwADAAAAAAAnAAYAAwADAAAAAAAnAAcAAwADAAAAAAAnAAgAAwADAAAAAAAnAAkAAwADAAAAAAAnAAoAAwADAAAAAAAnAAsAAwADAAAAAAAnAAwAAwADAAAAAAAnAA0AAwADAAAAAAAoAAUAAwADAAAAAAAoAAYAAwADAAAAAAAoAAcAAwADAAAAAAAoAAgAAwADAAAAAAAoAAkAAwADAAAAAAAoAAoAAwADAAAAAAAoAAsAAwADAAAAAAAoAAwAAwADAAAAAAAoAA0AAwADAAAAAADv/wYAAwADAAAAAADv/wcAAwADAAAAAADv/wgAAwADAAAAAADv/wkAAwADAAAAAADv/woAAwADAAAAAADv/wsAAwADAAAAAADv/wwAAwADAAAAAADv/w0AAwADAAAAAADw/wYAAwADAAAAAADw/wcAAwADAAAAAADw/wgAAwADAAAAAADw/wkAAwADAAAAAADw/woAAwADAAAAAADw/wsAAwADAAAAAADw/wwAAwADAAAAAADw/w0AAwADAAAAAADx/wYAAwADAAAAAADx/wcAAwADAAAAAADx/wgAAwADAAAAAADx/wkAAwADAAAAAADx/woAAwADAAAAAADx/wsAAwADAAAAAADx/wwAAwADAAAAAADx/w0AAwADAAAAAADy/wYAAwADAAAAAADy/wcAAwADAAAAAADy/wgAAwADAAAAAADy/wkAAwADAAAAAADy/woAAwADAAAAAADy/wsAAwAFAAMAAFDy/wwAAwAGAAMAAFDy/w0AAwAHAAMAAFDz/wYAAwADAAAAAADz/wcAAwADAAAAAADz/wgAAwADAAAAAADz/wkAAwADAAAAAADz/woAAwADAAAAAADz/wsAAwAFAAIAAFDz/wwAAwAGAAIAAFDz/w0AAwAHAAIAAFD0/wYAAwADAAAAAAD0/wcAAwADAAAAAAD0/wgAAwADAAAAAAD0/wkAAwADAAAAAAD0/woAAwADAAAAAAD0/wsAAwADAAAAAAD0/wwAAwADAAAAAAD0/w0AAwADAAAAAAD1/wYAAwADAAAAAAD1/wcAAwADAAAAAAD1/wgAAwADAAAAAAD1/wkAAwADAAAAAAD1/woAAwADAAAAAAD1/wsAAwADAAAAAAD1/wwAAwADAAAAAAD1/w0AAwADAAAAAAD2/wYAAwADAAAAAAD2/wcAAwADAAAAAAD2/wgAAwADAAAAAAD2/wkAAwADAAAAAAD2/woAAwADAAAAAAD2/wsAAwADAAAAAAD2/wwAAwADAAAAAAD2/w0AAwADAAAAAAD3/wYAAwADAAAAAAD3/wcAAwADAAAAAAD3/wgAAwADAAAAAAD3/wkAAwADAAAAAAD3/woAAwADAAAAAAD3/wsAAwADAAAAAAD3/wwAAwADAAAAAAD3/w0AAwADAAAAAAD4/wYAAwADAAAAAAD4/wcAAwADAAAAAAD4/wgAAwADAAAAAAD4/wkAAwADAAAAAAD4/woAAwADAAAAAAD4/wsAAwADAAAAAAD4/wwAAwADAAAAAAD4/w0AAwADAAAAAAD5/wYAAwADAAAAAAD5/wcAAwADAAAAAAD5/wgAAwADAAAAAAD5/wkAAwADAAAAAAD5/woAAwADAAAAAAD5/wsAAwADAAAAAAD5/wwAAwADAAAAAAD5/w0AAwADAAAAAAD6/wYAAwADAAAAAAD6/wcAAwADAAAAAAD6/wgAAwADAAAAAAD6/wkAAwADAAAAAAD6/woAAwADAAAAAAD6/wsAAwADAAAAAAD6/wwAAwADAAAAAAD6/w0AAwADAAAAAAD7/wYAAwADAAAAAAD7/wcAAwADAAAAAAD7/wgAAwADAAAAAAD7/wkAAwADAAAAAAD7/woAAwADAAAAAAD7/wsAAwADAAAAAAD7/wwAAwADAAAAAAD7/w0AAwADAAAAAAD8/wYAAwADAAAAAAD8/wcAAwADAAAAAAD8/wgAAwADAAAAAAD8/wkAAwADAAAAAAD8/woAAwADAAAAAAD8/wsAAwADAAAAAAD8/wwAAwADAAAAAAD8/w0AAwADAAAAAAD9/wYAAwADAAAAAAD9/wcAAwADAAAAAAD9/wgAAwADAAAAAAD9/wkAAwADAAAAAAD9/woAAwADAAAAAAD9/wsAAwADAAAAAAD9/wwAAwADAAAAAAD9/w0AAwADAAAAAAD+/wYAAwADAAAAAAD+/wcAAwADAAAAAAD+/wgAAwADAAAAAAD+/wkAAwADAAAAAAD+/woAAwADAAAAAAD+/wsAAwADAAAAAAD+/wwAAwADAAAAAAD+/w0AAwADAAAAAAD//wYAAwADAAAAAAD//wcAAwADAAAAAAD//wgAAwADAAAAAAD//wkAAwADAAAAAAD//woAAwADAAAAAAD//wsAAwADAAAAAAD//wwAAwADAAAAAAD//w0AAwADAAAAAAAAAAYAAwADAAAAAAAAAAcAAwADAAAAAAAAAAgAAwADAAAAAAAAAAkAAwADAAAAAAAAAAoAAwADAAAAAAAAAAsAAwADAAAAAAAAAAwAAwADAAAAAAAAAA0AAwADAAAAAAABAAYAAwADAAAAAAABAAcAAwADAAAAAAABAAgAAwADAAAAAAABAAkAAwADAAAAAAABAAoAAwADAAAAAAABAAsAAwADAAAAAAABAAwAAwADAAAAAAABAA0AAwADAAAAAAACAAYAAwADAAAAAAACAAcAAwADAAAAAAACAAgAAwADAAAAAAACAAkAAwADAAAAAAACAAoAAwADAAAAAAACAAsAAwADAAAAAAACAAwAAwADAAAAAAACAA0AAwADAAAAAAADAAYAAwADAAAAAAADAAcAAwADAAAAAAADAAgAAwADAAAAAAADAAkAAwADAAAAAAADAAoAAwADAAAAAAADAAsAAwADAAAAAAADAAwAAwADAAAAAAADAA0AAwADAAAAAAAEAAYAAwADAAAAAAAEAAcAAwADAAAAAAAEAAgAAwADAAAAAAAEAAkAAwADAAAAAAAEAAoAAwADAAAAAAAEAAsAAwADAAAAAAAEAAwAAwADAAAAAAAEAA0AAwADAAAAAAAFAAYAAwADAAAAAAAFAAcAAwADAAAAAAAFAAgAAwADAAAAAAAFAAkAAwADAAAAAAAFAAoAAwADAAAAAAAFAAsAAwADAAAAAAAFAAwAAwADAAAAAAAFAA0AAwADAAAAAAAGAAYAAwADAAAAAAAGAAcAAwADAAAAAAAGAAgAAwADAAAAAAAGAAkAAwADAAAAAAAGAAoAAwADAAAAAAAGAAsAAwADAAAAAAAGAAwAAwADAAAAAAAGAA0AAwADAAAAAAAHAAYAAwADAAAAAAAHAAcAAwADAAAAAAAHAAgAAwADAAAAAAAHAAkAAwADAAAAAAAHAAoAAwADAAAAAAAHAAsAAwADAAAAAAAHAAwAAwADAAAAAAAHAA0AAwADAAAAAAAIAAYAAwADAAAAAAAIAAcAAwADAAAAAAAIAAgAAwADAAAAAAAIAAkAAwADAAAAAAAIAAoAAwADAAAAAAAIAAsAAwADAAAAAAAIAAwAAwADAAAAAAAIAA0AAwADAAAAAAAJAAYAAwADAAAAAAAJAAcAAwADAAAAAAAJAAgAAwADAAAAAAAJAAkAAwADAAAAAAAJAAoAAwADAAAAAAAJAAsAAwADAAAAAAAJAAwAAwADAAAAAAAJAA0AAwADAAAAAAAKAAYAAwADAAAAAAAKAAcAAwADAAAAAAAKAAgAAwADAAAAAAAKAAkAAwADAAAAAAAKAAoAAwADAAAAAAAKAAsAAwADAAAAAAAKAAwAAwADAAAAAAAKAA0AAwADAAAAAAALAAYAAwADAAAAAAALAAcAAwADAAAAAAALAAgAAwADAAAAAAALAAkAAwADAAAAAAALAAoAAwADAAAAAAALAAsAAwADAAAAAAALAAwAAwADAAAAAAALAA0AAwADAAAAAAAMAAYAAwADAAAAAAAMAAcAAwADAAAAAAAMAAgAAwADAAAAAAAMAAkAAwADAAAAAAAMAAoAAwADAAAAAAAMAAsAAwADAAAAAAAMAAwAAwADAAAAAAAMAA0AAwADAAAAAAARAA4AAwADAAAAAAARAA8AAwADAAAAAAARABAAAwADAAAAAAARABEAAwADAAAAAAARABIAAwADAAAAAAARABMAAwADAAAAAAARABQAAwADAAAAAAARABUAAwADAAAAAAARABYAAwADAAAAAAARABcAAwADAAAAAAARABgAAwADAAAAAAARABkAAwADAAAAAAARABoAAwADAAAAAAASAA4AAwADAAAAAAASAA8AAwADAAAAAAASABAAAwADAAAAAAASABEAAwADAAAAAAASABIAAwADAAAAAAASABMAAwADAAAAAAASABQAAwADAAAAAAASABUAAwADAAAAAAASABYAAwADAAAAAAASABcAAwADAAAAAAASABgAAwADAAAAAAASABkAAwADAAAAAAASABoAAwADAAAAAAATAA4AAwADAAAAAAATAA8AAwADAAAAAAATABAAAwADAAAAAAATABEAAwADAAAAAAATABIAAwADAAAAAAATABMAAwADAAAAAAATABQAAwADAAAAAAATABUAAwADAAAAAAATABYAAwADAAAAAAATABcAAwADAAAAAAATABgAAwADAAAAAAATABkAAwADAAAAAAATABoAAwADAAAAAAAUAA4AAwADAAAAAAAUAA8AAwADAAAAAAAUABAAAwADAAAAAAAUABEAAwADAAAAAAAUABIAAwADAAAAAAAUABMAAwADAAAAAAAUABQAAwADAAAAAAAUABUAAwADAAAAAAAUABYAAwADAAAAAAAUABcAAwADAAAAAAAUABgAAwADAAAAAAAUABkAAwADAAAAAAAUABoAAwADAAAAAAAVAA4AAwADAAAAAAAVAA8AAwADAAAAAAAVABAAAwADAAAAAAAVABEAAwADAAAAAAAVABIAAwADAAAAAAAVABMAAwADAAAAAAAVABQAAwADAAAAAAAVABUAAwADAAAAAAAVABYAAwADAAAAAAAVABcAAwADAAAAAAAVABgAAwADAAAAAAAVABkAAwADAAAAAAAVABoAAwADAAAAAAAWAA4AAwADAAAAAAAWAA8AAwADAAAAAAAWABAAAwADAAAAAAAWABEAAwADAAAAAAAWABIAAwADAAAAAAAWABMAAwADAAAAAAAWABQAAwADAAAAAAAWABUAAwADAAAAAAAWABYAAwADAAAAAAAWABcAAwADAAAAAAAWABgAAwADAAAAAAAWABkAAwADAAAAAAAWABoAAwADAAAAAAAXAA4AAwADAAAAAAAXAA8AAwADAAAAAAAXABAAAwADAAAAAAAXABEAAwADAAAAAAAXABIAAwADAAAAAAAXABMAAwADAAAAAAAXABQAAwADAAAAAAAXABUAAwADAAAAAAAXABYAAwADAAAAAAAXABcAAwADAAAAAAAXABgAAwADAAAAAAAXABkAAwADAAAAAAAXABoAAwADAAAAAAAYAA4AAwADAAAAAAAYAA8AAwADAAAAAAAYABAAAwADAAAAAAAYABEAAwADAAAAAAAYABIAAwADAAAAAAAYABMAAwADAAAAAAAYABQAAwADAAAAAAAYABUAAwADAAAAAAAYABYAAwADAAAAAAAYABcAAwADAAAAAAAYABgAAwADAAAAAAAYABkAAwADAAAAAAAYABoAAwADAAAAAAAZAA4AAwADAAAAAAAZAA8AAwADAAAAAAAZABAAAwADAAAAAAAZABEAAwADAAAAAAAZABIAAwADAAAAAAAZABMAAwADAAAAAAAZABQAAwADAAAAAAAZABUAAwADAAAAAAAZABYAAwADAAAAAAAZABcAAwADAAAAAAAZABgAAwADAAAAAAAZABkAAwADAAAAAAAZABoAAwADAAAAAAAaAA4AAwADAAAAAAAaAA8AAwADAAAAAAAaABAAAwADAAAAAAAaABEAAwADAAAAAAAaABIAAwADAAAAAAAaABMAAwADAAAAAAAaABQAAwADAAAAAAAaABUAAwADAAAAAAAaABYAAwADAAMAAAAaABcAAwADAAQAAAAaABgAAwADAAAAAAAaABkAAwADAAAAAAAaABoAAwADAAAAAAAbAA4AAwADAAAAAAAbAA8AAwADAAAAAAAbABAAAwADAAAAAAAbABEAAwADAAAAAAAbABIAAwADAAAAAAAbABMAAwADAAAAAAAbABQAAwADAAAAAAAbABUAAwADAAAAAAAbABYAAwAEAAMAAAAbABcAAwAEAAQAAAAbABgAAwADAAAAAAAbABkAAwADAAAAAAAbABoAAwADAAAAAAAcAA4AAwADAAAAAAAcAA8AAwADAAAAAAAcABAAAwADAAAAAAAcABEAAwADAAAAAAAcABIAAwADAAAAAAAcABMAAwADAAAAAAAcABQAAwADAAAAAAAcABUAAwADAAAAAAAcABYAAwADAAAAAAAcABcAAwADAAAAAAAcABgAAwADAAAAAAAcABkAAwADAAAAAAAcABoAAwADAAAAAAAdAA4AAwADAAAAAAAdAA8AAwADAAAAAAAdABAAAwADAAAAAAAdABEAAwADAAAAAAAdABIAAwADAAAAAAAdABMAAwADAAAAAAAdABQAAwADAAAAAAAdABUAAwADAAAAAAAdABYAAwADAAAAAAAdABcAAwADAAAAAAAdABgAAwADAAAAAAAdABkAAwADAAAAAAAdABoAAwADAAAAAAAeAA4AAwADAAAAAAAeAA8AAwADAAAAAAAeABAAAwADAAAAAAAeABEAAwADAAAAAAAeABIAAwADAAAAAAAeABMAAwADAAAAAAAeABQAAwADAAAAAAAeABUAAwADAAAAAAAeABYAAwADAAAAAAAeABcAAwADAAAAAAAeABgAAwADAAAAAAAeABkAAwADAAAAAAAeABoAAwADAAAAAAAfAA4AAwADAAAAAAAfAA8AAwADAAAAAAAfABAAAwADAAAAAAAfABEAAwADAAAAAAAfABIAAwADAAAAAAAfABMAAwADAAAAAAAfABQAAwADAAAAAAAfABUAAwADAAAAAAAfABYAAwADAAAAAAAfABcAAwADAAAAAAAfABgAAwADAAAAAAAfABkAAwADAAAAAAAfABoAAwADAAAAAAAgAA4AAwADAAAAAAAgAA8AAwADAAAAAAAgABAAAwADAAAAAAAgABEAAwADAAAAAAAgABIAAwADAAAAAAAgABMAAwADAAAAAAAgABQAAwADAAAAAAAgABUAAwADAAAAAAAgABYAAwADAAAAAAAgABcAAwADAAAAAAAgABgAAwADAAAAAAAgABkAAwADAAAAAAAgABoAAwADAAAAAAAhAA4AAwADAAAAAAAhAA8AAwADAAAAAAAhABAAAwADAAAAAAAhABEAAwADAAAAAAAhABIAAwADAAAAAAAhABMAAwADAAAAAAAhABQAAwADAAAAAAAhABUAAwADAAAAAAAhABYAAwADAAAAAAAhABcAAwADAAAAAAAhABgAAwADAAAAAAAhABkAAwADAAAAAAAhABoAAwADAAAAAAAiAA4AAwADAAAAAAAiAA8AAwADAAAAAAAiABAAAwADAAAAAAAiABEAAwADAAAAAAAiABIAAwADAAAAAAAiABMAAwADAAAAAAAiABQAAwADAAAAAAAiABUAAwADAAAAAAAiABYAAwADAAAAAAAiABcAAwADAAAAAAAiABgAAwADAAAAAAAiABkAAwADAAAAAAAiABoAAwADAAAAAAAjAA4AAwADAAAAAAAjAA8AAwADAAAAAAAjABAAAwADAAAAAAAjABEAAwADAAAAAAAjABIAAwADAAAAAAAjABMAAwADAAAAAAAjABQAAwADAAAAAAAjABUAAwADAAAAAAAjABYAAwADAAAAAAAjABcAAwADAAAAAAAjABgAAwADAAAAAAAjABkAAwADAAAAAAAjABoAAwADAAAAAAAkAA4AAwADAAAAAAAkAA8AAwADAAAAAAAkABAAAwADAAAAAAAkABEAAwADAAAAAAAkABIAAwADAAAAAAAkABMAAwADAAAAAAAkABQAAwADAAAAAAAkABUAAwADAAAAAAAkABYAAwADAAAAAAAkABcAAwADAAAAAAAkABgAAwADAAAAAAAkABkAAwADAAAAAAAkABoAAwADAAAAAAAlAA4AAwADAAAAAAAlAA8AAwADAAAAAAAlABAAAwADAAAAAAAlABEAAwADAAAAAAAlABIAAwADAAAAAAAlABMAAwADAAAAAAAlABQAAwADAAAAAAAlABUAAwADAAAAAAAlABYAAwADAAAAAAAlABcAAwADAAAAAAAlABgAAwADAAAAAAAlABkAAwADAAAAAAAlABoAAwADAAAAAAAmAA4AAwADAAAAAAAmAA8AAwADAAAAAAAmABAAAwADAAAAAAAmABEAAwADAAAAAAAmABIAAwADAAAAAAAmABMAAwADAAAAAAAmABQAAwADAAAAAAAmABUAAwADAAAAAAAmABYAAwADAAAAAAAmABcAAwADAAAAAAAmABgAAwADAAAAAAAmABkAAwADAAAAAAAmABoAAwADAAAAAAAYAPL/AwADAAAAAAAYAPP/AwADAAAAAAAYAPT/AwADAAAAAAAYAPX/AwADAAAAAAAYAPb/AwADAAAAAAAZAPL/AwADAAAAAAAZAPP/AwADAAAAAAAZAPT/AwADAAAAAAAZAPX/AwADAAAAAAAZAPb/AwADAAAAAAAaAPL/AwADAAAAAAAaAPP/AwADAAAAAAAaAPT/AwADAAAAAAAaAPX/AwADAAAAAAAaAPb/AwADAAAAAAAbAPL/AwADAAAAAAAbAPP/AwADAAAAAAAbAPT/AwADAAAAAAAbAPX/AwADAAAAAAAbAPb/AwADAAAAAAAcAPL/AwADAAAAAAAcAPP/AwADAAAAAAAcAPT/AwADAAAAAAAcAPX/AwADAAAAAAAcAPb/AwADAAAAAAAdAPL/AwADAAAAAAAdAPP/AwADAAAAAAAdAPT/AwADAAAAAAAdAPX/AwADAAAAAAAdAPb/AwADAAAAAAAeAPL/AwADAAAAAAAeAPP/AwADAAAAAAAeAPT/AwADAAAAAAAeAPX/AwADAAAAAAAeAPb/AwADAAAAAAAfAPL/AwADAAAAAAAfAPP/AwADAAAAAAAfAPT/AwADAAAAAAAfAPX/AwADAAAAAAAfAPb/AwADAAAAAAAgAPL/AwADAAAAAAAgAPP/AwADAAAAAAAgAPT/AwADAAAAAAAgAPX/AwADAAAAAAAgAPb/AwADAAAAAAAhAPL/AwADAAAAAAAhAPP/AwADAAAAAAAhAPT/AwADAAAAAAAhAPX/AwADAAAAAAAhAPb/AwADAAAAAAAiAPL/AwADAAAAAAAiAPP/AwADAAAAAAAiAPT/AwADAAAAAAAiAPX/AwADAAAAAAAiAPb/AwADAAAAAAAYAOn/AwADAAAAAAAYAOr/AwADAAAAAAAYAOv/AwADAAAAAAAYAOz/AwADAAAAAAAYAO3/AwADAAAAAAAYAO7/AwADAAAAAAAYAO//AwADAAAAAAAYAPD/AwADAAAAAAAYAPH/AwADAAAAAAAZAOn/AwADAAAAAAAZAOr/AwADAAAAAAAZAOv/AwADAAAAAAAZAOz/AwADAAAAAAAZAO3/AwADAAAAAAAZAO7/AwADAAAAAAAZAO//AwADAAAAAAAZAPD/AwADAAAAAAAZAPH/AwADAAAAAAAaAOn/AwADAAAAAAAaAOr/AwADAAAAAAAaAOv/AwADAAAAAAAaAOz/AwADAAAAAAAaAO3/AwADAAAAAAAaAO7/AwADAAAAAAAaAO//AwADAAAAAAAaAPD/AwADAAAAAAAaAPH/AwADAAAAAAAbAOn/AwADAAAAAAAbAOr/AwADAAAAAAAbAOv/AwADAAAAAAAbAOz/AwADAAAAAAAbAO3/AwADAAAAAAAbAO7/AwADAAAAAAAbAO//AwADAAAAAAAbAPD/AwADAAAAAAAbAPH/AwADAAAAAAAcAOn/AwADAAAAAAAcAOr/AwADAAAAAAAcAOv/AwADAAAAAAAcAOz/AwADAAAAAAAcAO3/AwADAAAAAAAcAO7/AwADAAAAAAAcAO//AwADAAAAAAAcAPD/AwADAAAAAAAcAPH/AwADAAAAAAAdAOn/AwADAAAAAAAdAOr/AwADAAAAAAAdAOv/AwADAAAAAAAdAOz/AwADAAAAAAAdAO3/AwADAAAAAAAdAO7/AwADAAAAAAAdAO//AwADAAAAAAAdAPD/AwADAAAAAAAdAPH/AwADAAAAAAAeAOn/AwADAAAAAAAeAOr/AwADAAAAAAAeAOv/AwADAAAAAAAeAOz/AwADAAAAAAAeAO3/AwADAAAAAAAeAO7/AwADAAAAAAAeAO//AwADAAAAAAAeAPD/AwADAAAAAAAeAPH/AwADAAAAAAAfAOn/AwADAAAAAAAfAOr/AwADAAAAAAAfAOv/AwADAAAAAAAfAOz/AwADAAAAAAAfAO3/AwADAAAAAAAfAO7/AwADAAAAAAAfAO//AwADAAAAAAAfAPD/AwADAAAAAAAfAPH/AwADAAAAAAAgAOn/AwADAAAAAAAgAOr/AwADAAAAAAAgAOv/AwADAAAAAAAgAOz/AwADAAAAAAAgAO3/AwADAAAAAAAgAO7/AwADAAAAAAAgAO//AwADAAAAAAAgAPD/AwADAAAAAAAgAPH/AwADAAAAAAAhAOn/AwADAAAAAAAhAOr/AwADAAAAAAAhAOv/AwADAAAAAAAhAOz/AwADAAAAAAAhAO3/AwADAAAAAAAhAO7/AwADAAAAAAAhAO//AwADAAAAAAAhAPD/AwADAAAAAAAhAPH/AwADAAAAAAAiAOn/AwADAAAAAAAiAOr/AwADAAAAAAAiAOv/AwADAAAAAAAiAOz/AwADAAAAAAAiAO3/AwADAAAAAAAiAO7/AwADAAAAAAAiAO//AwADAAAAAAAiAPD/AwADAAAAAAAiAPH/AwADAAAAAAAjAOn/AwADAAAAAAAjAOr/AwADAAAAAAAjAOv/AwADAAAAAAAjAOz/AwADAAAAAAAjAO3/AwADAAAAAAAjAO7/AwADAAAAAAAjAO//AwADAAAAAAAjAPD/AwADAAAAAAAjAPH/AwADAAAAAAAjAPL/AwADAAAAAAAjAPP/AwADAAAAAAAjAPT/AwADAAAAAAAjAPX/AwADAAAAAAAjAPb/AwADAAAAAAAkAOn/AwADAAAAAAAkAOr/AwADAAAAAAAkAOv/AwADAAAAAAAkAOz/AwADAAAAAAAkAO3/AwADAAAAAAAkAO7/AwADAAAAAAAkAO//AwADAAAAAAAkAPD/AwADAAAAAAAkAPH/AwADAAAAAAAkAPL/AwADAAAAAAAkAPP/AwADAAAAAAAkAPT/AwADAAAAAAAkAPX/AwADAAAAAAAkAPb/AwADAAAAAAAlAOn/AwADAAAAAAAlAOr/AwADAAAAAAAlAOv/AwADAAAAAAAlAOz/AwADAAAAAAAlAO3/AwADAAAAAAAlAO7/AwADAAAAAAAlAO//AwADAAAAAAAlAPD/AwADAAAAAAAlAPH/AwADAAAAAAAlAPL/AwADAAAAAAAlAPP/AwADAAAAAAAlAPT/AwADAAAAAAAlAPX/AwADAAAAAAAlAPb/AwADAAAAAAAmAOn/AwADAAAAAAAmAOr/AwADAAAAAAAmAOv/AwADAAAAAAAmAOz/AwADAAAAAAAmAO3/AwADAAAAAAAmAO7/AwADAAAAAAAmAO//AwADAAAAAAAmAPD/AwADAAAAAAAmAPH/AwADAAAAAAAmAPL/AwADAAAAAAAmAPP/AwADAAAAAAAmAPT/AwADAAAAAAAmAPX/AwADAAAAAAAmAPb/AwADAAAAAAAnAOn/AwADAAAAAAAnAOr/AwADAAAAAAAnAOv/AwADAAAAAAAnAOz/AwADAAAAAAAnAO3/AwADAAAAAAAnAO7/AwADAAAAAAAnAO//AwADAAAAAAAnAPD/AwADAAAAAAAnAPH/AwADAAAAAAAnAPL/AwADAAAAAAAnAPP/AwADAAAAAAAnAPT/AwADAAAAAAAnAPX/AwADAAAAAAAnAPb/AwADAAAAAAAoAOn/AwADAAAAAAAoAOr/AwADAAAAAAAoAOv/AwADAAAAAAAoAOz/AwADAAAAAAAoAO3/AwADAAAAAAAoAO7/AwADAAAAAAAoAO//AwADAAAAAAAoAPD/AwADAAAAAAAoAPH/AwADAAAAAAAoAPL/AwADAAAAAAAoAPP/AwADAAAAAAAoAPT/AwADAAAAAAAoAPX/AwADAAAAAAAoAPb/AwADAAAAAAApAOn/AwADAAAAAAApAOr/AwADAAAAAAApAOv/AwADAAAAAAApAOz/AwADAAAAAAApAO3/AwADAAAAAAApAO7/AwADAAAAAAApAO//AwADAAAAAAApAPD/AwADAAAAAAApAPH/AwADAAAAAAApAPL/AwADAAAAAAApAPP/AwADAAAAAAApAPT/AwADAAAAAAApAPX/AwADAAAAAAApAPb/AwADAAAAAAAqAOn/AwADAAAAAAAqAOr/AwADAAAAAAAqAOv/AwADAAAAAAAqAOz/AwADAAAAAAAqAO3/AwADAAAAAAAqAO7/AwADAAAAAAAqAO//AwADAAAAAAAqAPD/AwADAAAAAAAqAPH/AwADAAAAAAAqAPL/AwADAAAAAAAqAPP/AwADAAAAAAAqAPT/AwADAAAAAAAqAPX/AwADAAAAAAAqAPb/AwADAAAAAAArAOn/AwADAAAAAAArAOr/AwADAAAAAAArAOv/AwADAAAAAAArAOz/AwADAAAAAAArAO3/AwADAAAAAAArAO7/AwADAAAAAAArAO//AwADAAAAAAArAPD/AwADAAAAAAArAPH/AwADAAAAAAArAPL/AwADAAAAAAArAPP/AwADAAAAAAArAPT/AwADAAAAAAArAPX/AwADAAAAAAArAPb/AwADAAAAAAAsAOn/AwADAAAAAAAsAOr/AwADAAAAAAAsAOv/AwADAAAAAAAsAOz/AwADAAAAAAAsAO3/AwADAAAAAAAsAO7/AwADAAAAAAAsAO//AwADAAAAAAAsAPD/AwADAAAAAAAsAPH/AwADAAAAAAAsAPL/AwADAAAAAAAsAPP/AwADAAAAAAAsAPT/AwADAAAAAAAsAPX/AwADAAAAAAAsAPb/AwADAAAAAAAtAOn/AwADAAAAAAAtAOr/AwADAAAAAAAtAOv/AwADAAAAAAAtAOz/AwADAAAAAAAtAO3/AwADAAAAAAAtAO7/AwADAAAAAAAtAO//AwADAAAAAAAtAPD/AwADAAAAAAAtAPH/AwADAAAAAAAtAPL/AwADAAAAAAAtAPP/AwADAAAAAAAtAPT/AwADAAAAAAAtAPX/AwADAAAAAAAtAPb/AwADAAAAAAAuAOn/AwADAAAAAAAuAOr/AwADAAAAAAAuAOv/AwADAAAAAAAuAOz/AwADAAAAAAAuAO3/AwADAAAAAAAuAO7/AwADAAAAAAAuAO//AwADAAAAAAAuAPD/AwADAAAAAAAuAPH/AwADAAAAAAAuAPL/AwADAAAAAAAuAPP/AwADAAAAAAAuAPT/AwADAAAAAAAuAPX/AwADAAAAAAAuAPb/AwADAAAAAAAvAOn/AwADAAAAAAAvAOr/AwADAAAAAAAvAOv/AwADAAAAAAAvAOz/AwADAAAAAAAvAO3/AwADAAAAAAAvAO7/AwADAAAAAAAvAO//AwADAAAAAAAvAPD/AwADAAAAAAAvAPH/AwADAAAAAAAvAPL/AwADAAAAAAAvAPP/AwADAAAAAAAvAPT/AwADAAAAAAAvAPX/AwADAAAAAAAvAPb/AwADAAAAAAAwAOn/AwADAAAAAAAwAOr/AwADAAAAAAAwAOv/AwADAAAAAAAwAOz/AwADAAAAAAAwAO3/AwADAAAAAAAwAO7/AwADAAAAAAAwAO//AwADAAAAAAAwAPD/AwADAAAAAAAwAPH/AwADAAAAAAAwAPL/AwADAAAAAAAwAPP/AwADAAAAAAAwAPT/AwADAAAAAAAwAPX/AwADAAAAAAAwAPb/AwADAAAAAAAxAOn/AwADAAAAAAAxAOr/AwADAAAAAAAxAOv/AwADAAAAAAAxAOz/AwADAAAAAAAxAO3/AwADAAAAAAAxAO7/AwADAAAAAAAxAO//AwADAAAAAAAxAPD/AwADAAAAAAAxAPH/AwADAAAAAAAxAPL/AwADAAAAAAAxAPP/AwADAAAAAAAxAPT/AwADAAAAAAAxAPX/AwADAAAAAAAxAPb/AwADAAAAAAAyAOn/AwADAAAAAAAyAOr/AwADAAAAAAAyAOv/AwADAAAAAAAyAOz/AwADAAAAAAAyAO3/AwADAAAAAAAyAO7/AwADAAAAAAAyAO//AwADAAAAAAAyAPD/AwADAAAAAAAyAPH/AwADAAAAAAAyAPL/AwADAAAAAAAyAPP/AwADAAAAAAAyAPT/AwADAAAAAAAyAPX/AwADAAAAAAAyAPb/AwADAAAAAAAzAOn/AwADAAAAAAAzAOr/AwADAAAAAAAzAOv/AwADAAAAAAAzAOz/AwADAAAAAAAzAO3/AwADAAAAAAAzAO7/AwADAAAAAAAzAO//AwADAAAAAAAzAPD/AwADAAAAAAAzAPH/AwADAAAAAAAzAPL/AwADAAAAAAAzAPP/AwADAAAAAAAzAPT/AwADAAAAAAAzAPX/AwADAAAAAAAzAPb/AwADAAAAAAA0AOn/AwADAAAAAAA0AOr/AwADAAAAAAA0AOv/AwADAAAAAAA0AOz/AwADAAAAAAA0AO3/AwADAAAAAAA0AO7/AwADAAAAAAA0AO//AwADAAAAAAA0APD/AwADAAAAAAA0APH/AwADAAAAAAA0APL/AwADAAAAAAA0APP/AwADAAAAAAA0APT/AwADAAAAAAA0APX/AwADAAAAAAA0APb/AwADAAAAAAA1AOn/AwADAAAAAAA1AOr/AwADAAAAAAA1AOv/AwADAAAAAAA1AOz/AwADAAAAAAA1AO3/AwADAAAAAAA1AO7/AwADAAAAAAA1AO//AwADAAAAAAA1APD/AwADAAAAAAA1APH/AwADAAAAAAA1APL/AwADAAAAAAA1APP/AwADAAAAAAA1APT/AwADAAAAAAA1APX/AwADAAAAAAA1APb/AwADAAAAAAA2AOn/AwADAAAAAAA2AOr/AwADAAAAAAA2AOv/AwADAAAAAAA2AOz/AwADAAAAAAA2AO3/AwADAAAAAAA2AO7/AwADAAAAAAA2AO//AwADAAAAAAA2APD/AwADAAAAAAA2APH/AwADAAAAAAA2APL/AwADAAAAAAA2APP/AwADAAAAAAA2APT/AwADAAAAAAA2APX/AwADAAAAAAA2APb/AwADAAAAAAA3AOn/AwADAAAAAAA3AOr/AwADAAAAAAA3AOv/AwADAAAAAAA3AOz/AwADAAAAAAA3AO3/AwADAAAAAAA3AO7/AwADAAAAAAA3AO//AwADAAAAAAA3APD/AwADAAAAAAA3APH/AwADAAAAAAA3APL/AwADAAAAAAA3APP/AwADAAAAAAA3APT/AwADAAAAAAA3APX/AwADAAAAAAA3APb/AwADAAAAAAA4AOn/AwADAAAAAAA4AOr/AwADAAAAAAA4AOv/AwADAAAAAAA4AOz/AwADAAAAAAA4AO3/AwADAAAAAAA4AO7/AwADAAAAAAA4AO//AwADAAAAAAA4APD/AwADAAAAAAA4APH/AwADAAAAAAA4APL/AwADAAAAAAA4APP/AwADAAAAAAA4APT/AwADAAAAAAA4APX/AwADAAAAAAA4APb/AwADAAAAAAA5AOn/AwADAAAAAAA5AOr/AwADAAAAAAA5AOv/AwADAAAAAAA5AOz/AwADAAAAAAA5AO3/AwADAAAAAAA5AO7/AwADAAAAAAA5AO//AwADAAAAAAA5APD/AwADAAAAAAA5APH/AwADAAAAAAA5APL/AwADAAAAAAA5APP/AwADAAAAAAA5APT/AwADAAAAAAA5APX/AwADAAAAAAA5APb/AwADAAAAAAA6AOn/AwADAAAAAAA6AOr/AwADAAAAAAA6AOv/AwADAAAAAAA6AOz/AwADAAAAAAA6AO3/AwADAAAAAAA6AO7/AwADAAAAAAA6AO//AwADAAAAAAA6APD/AwADAAAAAAA6APH/AwADAAAAAAA6APL/AwADAAAAAAA6APP/AwADAAAAAAA6APT/AwADAAAAAAA6APX/AwADAAAAAAA6APb/AwADAAAAAAA7AOn/AwADAAAAAAA7AOr/AwADAAAAAAA7AOv/AwADAAAAAAA7AOz/AwADAAAAAAA7AO3/AwADAAAAAAA7AO7/AwADAAAAAAA7AO//AwADAAAAAAA7APD/AwADAAAAAAA7APH/AwADAAAAAAA7APL/AwADAAAAAAA7APP/AwADAAAAAAA7APT/AwADAAAAAAA7APX/AwADAAAAAAA7APb/AwADAAAAAAA8AOn/AwADAAAAAAA8AOr/AwADAAAAAAA8AOv/AwADAAAAAAA8AOz/AwADAAAAAAA8AO3/AwADAAAAAAA8AO7/AwADAAAAAAA8AO//AwADAAAAAAA8APD/AwADAAAAAAA8APH/AwADAAAAAAA8APL/AwADAAAAAAA8APP/AwADAAAAAAA8APT/AwADAAAAAAA8APX/AwADAAAAAAA8APb/AwADAAAAAAA9AOn/AwADAAAAAAA9AOr/AwADAAAAAAA9AOv/AwADAAAAAAA9AOz/AwADAAAAAAA9AO3/AwADAAAAAAA9AO7/AwADAAAAAAA9AO//AwADAAAAAAA9APD/AwADAAAAAAA9APH/AwADAAAAAAA9APL/AwADAAAAAAA9APP/AwADAAAAAAA9APT/AwADAAAAAAA9APX/AwADAAAAAAA9APb/AwADAAAAAAA+AOn/AwADAAAAAAA+AOr/AwADAAAAAAA+AOv/AwADAAAAAAA+AOz/AwADAAAAAAA+AO3/AwADAAAAAAA+AO7/AwADAAAAAAA+AO//AwADAAAAAAA+APD/AwADAAAAAAA+APH/AwADAAAAAAA+APL/AwADAAAAAAA+APP/AwADAAAAAAA+APT/AwADAAAAAAA+APX/AwADAAAAAAA+APb/AwADAAAAAAA/AOn/AwADAAAAAAA/AOr/AwADAAAAAAA/AOv/AwADAAAAAAA/AOz/AwADAAAAAAA/AO3/AwADAAAAAAA/AO7/AwADAAAAAAA/AO//AwADAAAAAAA/APD/AwADAAAAAAA/APH/AwADAAAAAAA/APL/AwADAAAAAAA/APP/AwADAAAAAAA/APT/AwADAAAAAAA/APX/AwADAAAAAAA/APb/AwADAAAAAABAAOn/AwADAAAAAABAAOr/AwADAAAAAABAAOv/AwADAAAAAABAAOz/AwADAAAAAABAAO3/AwADAAAAAABAAO7/AwADAAAAAABAAO//AwADAAAAAABAAPD/AwADAAAAAABAAPH/AwADAAAAAABAAPL/AwADAAAAAABAAPP/AwADAAAAAABAAPT/AwADAAAAAABAAPX/AwADAAAAAABAAPb/AwADAAAAAABBAOn/AwADAAAAAABBAOr/AwADAAAAAABBAOv/AwADAAAAAABBAOz/AwADAAAAAABBAO3/AwADAAAAAABBAO7/AwADAAAAAABBAO//AwADAAAAAABBAPD/AwADAAAAAABBAPH/AwADAAAAAABBAPL/AwADAAAAAABBAPP/AwADAAAAAABBAPT/AwADAAAAAABBAPX/AwADAAAAAABBAPb/AwADAAAAAABCAOn/AwADAAAAAABCAOr/AwADAAAAAABCAOv/AwADAAAAAABCAOz/AwADAAAAAABCAO3/AwADAAAAAABCAO7/AwADAAAAAABCAO//AwADAAAAAABCAPD/AwADAAAAAABCAPH/AwADAAAAAABCAPL/AwADAAAAAABCAPP/AwADAAAAAABCAPT/AwADAAAAAABCAPX/AwADAAAAAABCAPb/AwADAAAAAABDAOn/AwADAAAAAABDAOr/AwADAAAAAABDAOv/AwADAAAAAABDAOz/AwADAAAAAABDAO3/AwADAAAAAABDAO7/AwADAAAAAABDAO//AwADAAAAAABDAPD/AwADAAAAAABDAPH/AwADAAAAAABDAPL/AwADAAAAAABDAPP/AwADAAAAAABDAPT/AwADAAAAAABDAPX/AwADAAAAAABDAPb/AwADAAAAAABEAOn/AwADAAAAAABEAOr/AwADAAAAAABEAOv/AwADAAAAAABEAOz/AwADAAAAAABEAO3/AwADAAAAAABEAO7/AwADAAAAAABEAO//AwADAAAAAABEAPD/AwADAAAAAABEAPH/AwADAAAAAABEAPL/AwADAAAAAABEAPP/AwADAAAAAABEAPT/AwADAAAAAABEAPX/AwADAAAAAABEAPb/AwADAAAAAABFAOn/AwADAAAAAABFAOr/AwADAAAAAABFAOv/AwADAAAAAABFAOz/AwADAAAAAABFAO3/AwADAAAAAABFAO7/AwADAAAAAABFAO//AwADAAAAAABFAPD/AwADAAAAAABFAPH/AwADAAAAAABFAPL/AwADAAAAAABFAPP/AwADAAAAAABFAPT/AwADAAAAAABFAPX/AwADAAAAAABFAPb/AwADAAAAAABGAOn/AwADAAAAAABGAOr/AwADAAAAAABGAOv/AwADAAAAAABGAOz/AwADAAAAAABGAO3/AwADAAAAAABGAO7/AwADAAAAAABGAO//AwADAAAAAABGAPD/AwADAAAAAABGAPH/AwADAAAAAABGAPL/AwADAAAAAABGAPP/AwADAAAAAABGAPT/AwADAAAAAABGAPX/AwADAAAAAABGAPb/AwADAAAAAAAYAN3/AwADAAAAAAAYAN7/AwADAAAAAAAYAN//AwADAAAAAAAYAOD/AwADAAAAAAAYAOH/AwADAAAAAAAYAOL/AwADAAAAAAAYAOP/AwADAAAAAAAYAOT/AwADAAAAAAAYAOX/AwADAAAAAAAYAOb/AwADAAAAAAAYAOf/AwADAAAAAAAYAOj/AwADAAAAAAAZAN3/AwADAAAAAAAZAN7/AwADAAAAAAAZAN//AwADAAAAAAAZAOD/AwADAAAAAAAZAOH/AwADAAAAAAAZAOL/AwADAAAAAAAZAOP/AwADAAAAAAAZAOT/AwADAAAAAAAZAOX/AwADAAAAAAAZAOb/AwADAAAAAAAZAOf/AwADAAAAAAAZAOj/AwADAAAAAAAaAN3/AwADAAAAAAAaAN7/AwADAAAAAAAaAN//AwADAAAAAAAaAOD/AwADAAAAAAAaAOH/AwADAAAAAAAaAOL/AwADAAAAAAAaAOP/AwADAAAAAAAaAOT/AwADAAAAAAAaAOX/AwADAAAAAAAaAOb/AwADAAAAAAAaAOf/AwADAAAAAAAaAOj/AwADAAAAAAAbAN3/AwADAAAAAAAbAN7/AwADAAAAAAAbAN//AwADAAAAAAAbAOD/AwADAAAAAAAbAOH/AwADAAAAAAAbAOL/AwADAAAAAAAbAOP/AwADAAAAAAAbAOT/AwADAAAAAAAbAOX/AwADAAAAAAAbAOb/AwADAAAAAAAbAOf/AwADAAAAAAAbAOj/AwADAAAAAAAcAN3/AwADAAAAAAAcAN7/AwADAAAAAAAcAN//AwADAAAAAAAcAOD/AwADAAAAAAAcAOH/AwADAAAAAAAcAOL/AwADAAAAAAAcAOP/AwADAAAAAAAcAOT/AwADAAAAAAAcAOX/AwADAAAAAAAcAOb/AwADAAAAAAAcAOf/AwADAAAAAAAcAOj/AwADAAAAAAAdAN3/AwADAAAAAAAdAN7/AwADAAAAAAAdAN//AwADAAAAAAAdAOD/AwADAAAAAAAdAOH/AwADAAAAAAAdAOL/AwADAAAAAAAdAOP/AwADAAAAAAAdAOT/AwADAAAAAAAdAOX/AwADAAAAAAAdAOb/AwADAAAAAAAdAOf/AwADAAAAAAAdAOj/AwADAAAAAAAeAN3/AwADAAAAAAAeAN7/AwADAAAAAAAeAN//AwADAAAAAAAeAOD/AwADAAAAAAAeAOH/AwADAAAAAAAeAOL/AwADAAAAAAAeAOP/AwADAAAAAAAeAOT/AwADAAAAAAAeAOX/AwADAAAAAAAeAOb/AwADAAAAAAAeAOf/AwADAAAAAAAeAOj/AwADAAAAAAAfAN3/AwADAAAAAAAfAN7/AwADAAAAAAAfAN//AwADAAAAAAAfAOD/AwADAAAAAAAfAOH/AwADAAAAAAAfAOL/AwADAAAAAAAfAOP/AwADAAAAAAAfAOT/AwADAAAAAAAfAOX/AwADAAAAAAAfAOb/AwADAAAAAAAfAOf/AwADAAAAAAAfAOj/AwADAAAAAAAgAN3/AwADAAAAAAAgAN7/AwADAAAAAAAgAN//AwADAAAAAAAgAOD/AwADAAAAAAAgAOH/AwADAAAAAAAgAOL/AwADAAAAAAAgAOP/AwADAAAAAAAgAOT/AwADAAAAAAAgAOX/AwADAAAAAAAgAOb/AwADAAAAAAAgAOf/AwADAAAAAAAgAOj/AwADAAAAAAAhAN3/AwADAAAAAAAhAN7/AwADAAAAAAAhAN//AwADAAAAAAAhAOD/AwADAAAAAAAhAOH/AwADAAAAAAAhAOL/AwADAAAAAAAhAOP/AwADAAAAAAAhAOT/AwADAAAAAAAhAOX/AwADAAAAAAAhAOb/AwADAAAAAAAhAOf/AwADAAAAAAAhAOj/AwADAAAAAAAiAN3/AwADAAAAAAAiAN7/AwADAAAAAAAiAN//AwADAAAAAAAiAOD/AwADAAAAAAAiAOH/AwADAAAAAAAiAOL/AwADAAAAAAAiAOP/AwADAAAAAAAiAOT/AwADAAAAAAAiAOX/AwADAAAAAAAiAOb/AwADAAAAAAAiAOf/AwADAAAAAAAiAOj/AwADAAAAAAAjAN3/AwADAAAAAAAjAN7/AwADAAAAAAAjAN//AwADAAAAAAAjAOD/AwADAAAAAAAjAOH/AwADAAAAAAAjAOL/AwADAAAAAAAjAOP/AwADAAAAAAAjAOT/AwADAAAAAAAjAOX/AwADAAAAAAAjAOb/AwADAAAAAAAjAOf/AwADAAAAAAAjAOj/AwADAAAAAAAkAN3/AwADAAAAAAAkAN7/AwADAAAAAAAkAN//AwADAAAAAAAkAOD/AwADAAAAAAAkAOH/AwADAAAAAAAkAOL/AwADAAAAAAAkAOP/AwADAAAAAAAkAOT/AwADAAAAAAAkAOX/AwADAAAAAAAkAOb/AwADAAAAAAAkAOf/AwADAAAAAAAkAOj/AwADAAAAAAAlAN3/AwADAAAAAAAlAN7/AwADAAAAAAAlAN//AwADAAAAAAAlAOD/AwADAAAAAAAlAOH/AwADAAAAAAAlAOL/AwADAAAAAAAlAOP/AwADAAAAAAAlAOT/AwADAAAAAAAlAOX/AwADAAAAAAAlAOb/AwADAAAAAAAlAOf/AwADAAAAAAAlAOj/AwADAAAAAAAmAN3/AwADAAAAAAAmAN7/AwADAAAAAAAmAN//AwADAAAAAAAmAOD/AwADAAAAAAAmAOH/AwADAAAAAAAmAOL/AwADAAAAAAAmAOP/AwADAAAAAAAmAOT/AwADAAAAAAAmAOX/AwADAAAAAAAmAOb/AwADAAAAAAAmAOf/AwADAAAAAAAmAOj/AwADAAAAAAAnAN3/AwADAAAAAAAnAN7/AwADAAAAAAAnAN//AwADAAAAAAAnAOD/AwADAAAAAAAnAOH/AwADAAAAAAAnAOL/AwADAAAAAAAnAOP/AwADAAAAAAAnAOT/AwADAAAAAAAnAOX/AwADAAAAAAAnAOb/AwADAAAAAAAnAOf/AwADAAAAAAAnAOj/AwADAAAAAAAoAN3/AwADAAAAAAAoAN7/AwADAAAAAAAoAN//AwADAAAAAAAoAOD/AwADAAAAAAAoAOH/AwADAAAAAAAoAOL/AwADAAAAAAAoAOP/AwADAAAAAAAoAOT/AwADAAAAAAAoAOX/AwADAAAAAAAoAOb/AwADAAAAAAAoAOf/AwADAAAAAAAoAOj/AwADAAAAAAApAN3/AwADAAAAAAApAN7/AwADAAAAAAApAN//AwADAAAAAAApAOD/AwADAAAAAAApAOH/AwADAAAAAAApAOL/AwADAAAAAAApAOP/AwADAAAAAAApAOT/AwADAAAAAAApAOX/AwADAAAAAAApAOb/AwADAAAAAAApAOf/AwADAAAAAAApAOj/AwADAAAAAAAqAN3/AwADAAAAAAAqAN7/AwADAAAAAAAqAN//AwADAAAAAAAqAOD/AwADAAAAAAAqAOH/AwADAAAAAAAqAOL/AwADAAAAAAAqAOP/AwADAAAAAAAqAOT/AwADAAAAAAAqAOX/AwADAAAAAAAqAOb/AwADAAAAAAAqAOf/AwADAAAAAAAqAOj/AwADAAAAAAArAN3/AwADAAAAAAArAN7/AwADAAAAAAArAN//AwADAAAAAAArAOD/AwADAAAAAAArAOH/AwADAAAAAAArAOL/AwADAAAAAAArAOP/AwADAAAAAAArAOT/AwADAAAAAAArAOX/AwADAAAAAAArAOb/AwADAAAAAAArAOf/AwADAAAAAAArAOj/AwADAAAAAAAsAN3/AwADAAAAAAAsAN7/AwADAAAAAAAsAN//AwADAAAAAAAsAOD/AwADAAAAAAAsAOH/AwADAAAAAAAsAOL/AwADAAAAAAAsAOP/AwADAAAAAAAsAOT/AwADAAAAAAAsAOX/AwADAAAAAAAsAOb/AwADAAAAAAAsAOf/AwADAAAAAAAsAOj/AwADAAAAAAAtAN3/AwADAAAAAAAtAN7/AwADAAAAAAAtAN//AwADAAAAAAAtAOD/AwADAAAAAAAtAOH/AwADAAAAAAAtAOL/AwADAAAAAAAtAOP/AwADAAAAAAAtAOT/AwADAAAAAAAtAOX/AwADAAAAAAAtAOb/AwADAAAAAAAtAOf/AwADAAAAAAAtAOj/AwADAAAAAAAuAN3/AwADAAAAAAAuAN7/AwADAAAAAAAuAN//AwADAAAAAAAuAOD/AwADAAAAAAAuAOH/AwADAAAAAAAuAOL/AwADAAAAAAAuAOP/AwADAAAAAAAuAOT/AwADAAAAAAAuAOX/AwADAAAAAAAuAOb/AwADAAAAAAAuAOf/AwADAAAAAAAuAOj/AwADAAAAAAAvAN3/AwADAAAAAAAvAN7/AwADAAAAAAAvAN//AwADAAAAAAAvAOD/AwADAAAAAAAvAOH/AwADAAAAAAAvAOL/AwADAAAAAAAvAOP/AwADAAAAAAAvAOT/AwADAAAAAAAvAOX/AwADAAAAAAAvAOb/AwADAAAAAAAvAOf/AwADAAAAAAAvAOj/AwADAAAAAAAwAN3/AwADAAAAAAAwAN7/AwADAAAAAAAwAN//AwADAAAAAAAwAOD/AwADAAAAAAAwAOH/AwADAAAAAAAwAOL/AwADAAAAAAAwAOP/AwADAAAAAAAwAOT/AwADAAAAAAAwAOX/AwADAAAAAAAwAOb/AwADAAAAAAAwAOf/AwADAAAAAAAwAOj/AwADAAAAAAAxAN3/AwADAAAAAAAxAN7/AwADAAAAAAAxAN//AwADAAAAAAAxAOD/AwADAAAAAAAxAOH/AwADAAAAAAAxAOL/AwADAAAAAAAxAOP/AwADAAAAAAAxAOT/AwADAAAAAAAxAOX/AwADAAAAAAAxAOb/AwADAAAAAAAxAOf/AwADAAAAAAAxAOj/AwADAAAAAAAyAN3/AwADAAAAAAAyAN7/AwADAAAAAAAyAN//AwADAAAAAAAyAOD/AwADAAAAAAAyAOH/AwADAAAAAAAyAOL/AwADAAAAAAAyAOP/AwADAAAAAAAyAOT/AwADAAAAAAAyAOX/AwADAAAAAAAyAOb/AwADAAAAAAAyAOf/AwADAAAAAAAyAOj/AwADAAAAAAAzAN3/AwADAAAAAAAzAN7/AwADAAAAAAAzAN//AwADAAAAAAAzAOD/AwADAAAAAAAzAOH/AwADAAAAAAAzAOL/AwADAAAAAAAzAOP/AwADAAAAAAAzAOT/AwADAAAAAAAzAOX/AwADAAAAAAAzAOb/AwADAAAAAAAzAOf/AwADAAAAAAAzAOj/AwADAAAAAAA0AN3/AwADAAAAAAA0AN7/AwADAAAAAAA0AN//AwADAAAAAAA0AOD/AwADAAAAAAA0AOH/AwADAAAAAAA0AOL/AwADAAAAAAA0AOP/AwADAAAAAAA0AOT/AwADAAAAAAA0AOX/AwADAAAAAAA0AOb/AwADAAAAAAA0AOf/AwADAAAAAAA0AOj/AwADAAAAAAA1AN3/AwADAAAAAAA1AN7/AwADAAAAAAA1AN//AwADAAAAAAA1AOD/AwADAAAAAAA1AOH/AwADAAAAAAA1AOL/AwADAAAAAAA1AOP/AwADAAAAAAA1AOT/AwADAAAAAAA1AOX/AwADAAAAAAA1AOb/AwADAAAAAAA1AOf/AwADAAAAAAA1AOj/AwADAAAAAAA2AN3/AwADAAAAAAA2AN7/AwADAAAAAAA2AN//AwADAAAAAAA2AOD/AwADAAAAAAA2AOH/AwADAAAAAAA2AOL/AwADAAAAAAA2AOP/AwADAAAAAAA2AOT/AwADAAAAAAA2AOX/AwADAAAAAAA2AOb/AwADAAAAAAA2AOf/AwADAAAAAAA2AOj/AwADAAAAAAA3AN3/AwADAAAAAAA3AN7/AwADAAAAAAA3AN//AwADAAAAAAA3AOD/AwADAAAAAAA3AOH/AwADAAAAAAA3AOL/AwADAAAAAAA3AOP/AwADAAAAAAA3AOT/AwADAAAAAAA3AOX/AwADAAAAAAA3AOb/AwADAAAAAAA3AOf/AwADAAAAAAA3AOj/AwADAAAAAAA4AN3/AwADAAAAAAA4AN7/AwADAAAAAAA4AN//AwADAAAAAAA4AOD/AwADAAAAAAA4AOH/AwADAAAAAAA4AOL/AwADAAAAAAA4AOP/AwADAAAAAAA4AOT/AwADAAAAAAA4AOX/AwADAAAAAAA4AOb/AwADAAAAAAA4AOf/AwADAAAAAAA4AOj/AwADAAAAAAA5AN3/AwADAAAAAAA5AN7/AwADAAAAAAA5AN//AwADAAAAAAA5AOD/AwADAAAAAAA5AOH/AwADAAAAAAA5AOL/AwADAAAAAAA5AOP/AwADAAAAAAA5AOT/AwADAAAAAAA5AOX/AwADAAAAAAA5AOb/AwADAAAAAAA5AOf/AwADAAAAAAA5AOj/AwADAAAAAAA6AN3/AwADAAAAAAA6AN7/AwADAAAAAAA6AN//AwADAAAAAAA6AOD/AwADAAAAAAA6AOH/AwADAAAAAAA6AOL/AwADAAAAAAA6AOP/AwADAAAAAAA6AOT/AwADAAAAAAA6AOX/AwADAAAAAAA6AOb/AwADAAAAAAA6AOf/AwADAAAAAAA6AOj/AwADAAAAAAA7AN3/AwADAAAAAAA7AN7/AwADAAAAAAA7AN//AwADAAAAAAA7AOD/AwADAAAAAAA7AOH/AwADAAAAAAA7AOL/AwADAAAAAAA7AOP/AwADAAAAAAA7AOT/AwADAAAAAAA7AOX/AwADAAAAAAA7AOb/AwADAAAAAAA7AOf/AwADAAAAAAA7AOj/AwADAAAAAAA8AN3/AwADAAAAAAA8AN7/AwADAAAAAAA8AN//AwADAAAAAAA8AOD/AwADAAAAAAA8AOH/AwADAAAAAAA8AOL/AwADAAAAAAA8AOP/AwADAAAAAAA8AOT/AwADAAAAAAA8AOX/AwADAAAAAAA8AOb/AwADAAAAAAA8AOf/AwADAAAAAAA8AOj/AwADAAAAAAA9AN3/AwADAAAAAAA9AN7/AwADAAAAAAA9AN//AwADAAAAAAA9AOD/AwADAAAAAAA9AOH/AwADAAAAAAA9AOL/AwADAAAAAAA9AOP/AwADAAAAAAA9AOT/AwADAAAAAAA9AOX/AwADAAAAAAA9AOb/AwADAAAAAAA9AOf/AwADAAAAAAA9AOj/AwADAAAAAAA+AN3/AwADAAAAAAA+AN7/AwADAAAAAAA+AN//AwADAAAAAAA+AOD/AwADAAAAAAA+AOH/AwADAAAAAAA+AOL/AwADAAAAAAA+AOP/AwADAAAAAAA+AOT/AwADAAAAAAA+AOX/AwADAAAAAAA+AOb/AwADAAAAAAA+AOf/AwADAAAAAAA+AOj/AwADAAAAAAA/AN3/AwADAAAAAAA/AN7/AwADAAAAAAA/AN//AwADAAAAAAA/AOD/AwADAAAAAAA/AOH/AwADAAAAAAA/AOL/AwADAAAAAAA/AOP/AwADAAAAAAA/AOT/AwADAAAAAAA/AOX/AwADAAAAAAA/AOb/AwADAAAAAAA/AOf/AwADAAAAAAA/AOj/AwADAAAAAABAAN3/AwADAAAAAABAAN7/AwADAAAAAABAAN//AwADAAAAAABAAOD/AwADAAAAAABAAOH/AwADAAAAAABAAOL/AwADAAAAAABAAOP/AwADAAAAAABAAOT/AwADAAAAAABAAOX/AwADAAAAAABAAOb/AwADAAAAAABAAOf/AwADAAAAAABAAOj/AwADAAAAAABBAN3/AwADAAAAAABBAN7/AwADAAAAAABBAN//AwADAAAAAABBAOD/AwADAAAAAABBAOH/AwADAAAAAABBAOL/AwADAAAAAABBAOP/AwADAAAAAABBAOT/AwADAAAAAABBAOX/AwADAAAAAABBAOb/AwADAAAAAABBAOf/AwADAAAAAABBAOj/AwADAAAAAABCAN3/AwADAAAAAABCAN7/AwADAAAAAABCAN//AwADAAAAAABCAOD/AwADAAAAAABCAOH/AwADAAAAAABCAOL/AwADAAAAAABCAOP/AwADAAAAAABCAOT/AwADAAAAAABCAOX/AwADAAAAAABCAOb/AwADAAAAAABCAOf/AwADAAAAAABCAOj/AwADAAAAAABDAN3/AwADAAAAAABDAN7/AwADAAAAAABDAN//AwADAAAAAABDAOD/AwADAAAAAABDAOH/AwADAAAAAABDAOL/AwADAAAAAABDAOP/AwADAAAAAABDAOT/AwADAAAAAABDAOX/AwADAAAAAABDAOb/AwADAAAAAABDAOf/AwADAAAAAABDAOj/AwADAAAAAABEAN3/AwADAAAAAABEAN7/AwADAAAAAABEAN//AwADAAAAAABEAOD/AwADAAAAAABEAOH/AwADAAAAAABEAOL/AwADAAAAAABEAOP/AwADAAAAAABEAOT/AwADAAAAAABEAOX/AwADAAAAAABEAOb/AwADAAAAAABEAOf/AwADAAAAAABEAOj/AwADAAAAAABFAN3/AwADAAAAAABFAN7/AwADAAAAAABFAN//AwADAAAAAABFAOD/AwADAAAAAABFAOH/AwADAAAAAABFAOL/AwADAAAAAABFAOP/AwADAAAAAABFAOT/AwADAAAAAABFAOX/AwADAAAAAABFAOb/AwADAAAAAABFAOf/AwADAAAAAABFAOj/AwADAAAAAABGAN3/AwADAAAAAABGAN7/AwADAAAAAABGAN//AwADAAAAAABGAOD/AwADAAAAAABGAOH/AwADAAAAAABGAOL/AwADAAAAAABGAOP/AwADAAAAAABGAOT/AwADAAAAAABGAOX/AwADAAAAAABGAOb/AwADAAAAAABGAOf/AwADAAAAAABGAOj/AwADAAAAAAARAPz/AwAHAAEAAAARAP3/AwADAAAAAAARAP7/AwADAAAAAAARAP//AwADAAAAAAAXAP//AAABAAAAAAAXAAAAAAABAAAAAAAYAP//AAABAAAAAAAYAAAAAAABAAAAAAAZAP//AAABAAAAAAAZAAAAAAABAAAAAAAaAP3/AAABAAAAAAAaAP7/AAABAAAAAAAaAP//AAABAAAAAAAaAAAAAAABAAAAAAAbAP3/AAABAAAAAAAbAP7/AAABAAAAAAAbAP//AAABAAAAAAAbAAAAAAABAAAAAAAcAP//AAABAAAAAAAcAAAAAAABAAAAAAAdAP//AAABAAAAAAAdAAAAAAABAAAAAAAeAP//AAABAAAAAAAeAAAAAAABAAAAAAASAP3/AAABAAAAAAATAP3/AAABAAAAAAAUAP3/AAABAAAAAAAVAP3/AAABAAAAAAAWAP3/AAABAAAAAAAXAP3/AAABAAAAAAAXAAEAAAABAAAAAAAYAP3/AAABAAAAAAAYAAEAAAABAAAAAAAZAP3/AAABAAAAAAAZAAEAAAABAAAAAAAcAP3/AAABAAAAAAAcAAEAAAABAAAAAAAdAP3/AAABAAAAAAAdAAEAAAABAAAAAAAeAAEAAAABAAAAAAASAPz/AAABAAAAAAATAPz/AAABAAAAAAAUAPz/AAABAAAAAAAVAPz/AAABAAAAAAAWAPz/AAABAAAAAAAXAPz/AAABAAAAAAAYAPz/AAABAAAAAAAZAPz/AAABAAAAAAAaAPz/AAABAAAAAAAbAPz/AAABAAAAAAAcAPz/AAABAAAAAAAdAPz/AAABAAAAAAAnAA4AAwADAAAAAAAnAA8AAwADAAAAAAAnABAAAwADAAAAAAAnABEAAwADAAAAAAAnABIAAwADAAAAAAAnABMAAwADAAAAAAAoAA4AAwADAAAAAAAoAA8AAwADAAAAAAAoABAAAwADAAAAAAAoABEAAwADAAAAAAAoABIAAwADAAAAAAAoABMAAwADAAAAAAApAAoAAwADAAAAAAApAAsAAwADAAAAAAApAAwAAwADAAAAAAApAA0AAwADAAAAAAApAA4AAwADAAAAAAApAA8AAwADAAAAAAApABAAAwADAAAAAAApABEAAwADAAAAAAApABIAAwADAAAAAAApABMAAwADAAAAAAAqAAoAAwADAAAAAAAqAAsAAwADAAAAAAAqAAwAAwADAAAAAAAqAA0AAwADAAAAAAAqAA4AAwADAAAAAAAqAA8AAwADAAAAAAAqABAAAwADAAAAAAAqABEAAwADAAAAAAAqABIAAwADAAAAAAAqABMAAwADAAAAAAArAAoAAwADAAAAAAArAAsAAwADAAAAAAArAAwAAwADAAAAAAArAA0AAwADAAAAAAArAA4AAwADAAAAAAArAA8AAwADAAAAAAArABAAAwADAAAAAAArABEAAwADAAAAAAArABIAAwADAAAAAAArABMAAwADAAAAAAAsAAoAAwADAAAAAAAsAAsAAwADAAAAAAAsAAwAAwADAAAAAAAsAA0AAwADAAAAAAAsAA4AAwADAAAAAAAsAA8AAwADAAAAAAAsABAAAwADAAAAAAAsABEAAwADAAAAAAAsABIAAwADAAAAAAAsABMAAwADAAAAAAAtAAoAAwADAAAAAAAtAAsAAwADAAAAAAAtAAwAAwADAAAAAAAtAA0AAwADAAAAAAAtAA4AAwADAAAAAAAtAA8AAwADAAAAAAAtABAAAwADAAAAAAAtABEAAwADAAAAAAAtABIAAwADAAAAAAAtABMAAwADAAAAAAAuAAoAAwADAAAAAAAuAAsAAwADAAAAAAAuAAwAAwADAAAAAAAuAA0AAwADAAAAAAAuAA4AAwADAAAAAAAuAA8AAwADAAAAAAAuABAAAwADAAAAAAAuABEAAwADAAAAAAAuABIAAwADAAAAAAAuABMAAwADAAAAAAAvAAoAAwADAAAAAAAvAAsAAwADAAAAAAAvAAwAAwADAAAAAAAvAA0AAwADAAAAAAAvAA4AAwADAAAAAAAvAA8AAwADAAAAAAAvABAAAwADAAAAAAAvABEAAwADAAAAAAAvABIAAwADAAAAAAAvABMAAwADAAAAAAAwAAoAAwADAAAAAAAwAAsAAwADAAAAAAAwAAwAAwADAAAAAAAwAA0AAwADAAAAAAAwAA4AAwADAAAAAAAwAA8AAwADAAAAAAAwABAAAwADAAAAAAAwABEAAwADAAAAAAAwABIAAwADAAAAAAAwABMAAwADAAAAAAAxAAoAAwADAAAAAAAxAAsAAwADAAAAAAAxAAwAAwADAAAAAAAxAA0AAwADAAAAAAAxAA4AAwADAAAAAAAxAA8AAwADAAAAAAAxABAAAwADAAAAAAAxABEAAwADAAAAAAAxABIAAwADAAAAAAAxABMAAwADAAAAAAAyAAoAAwADAAAAAAAyAAsAAwADAAAAAAAyAAwAAwADAAAAAAAyAA0AAwADAAAAAAAyAA4AAwADAAAAAAAyAA8AAwADAAAAAAAyABAAAwADAAAAAAAyABEAAwADAAAAAAAyABIAAwADAAAAAAAyABMAAwADAAAAAAAzAAoAAwADAAAAAAAzAAsAAwADAAAAAAAzAAwAAwADAAAAAAAzAA0AAwADAAAAAAAzAA4AAwADAAAAAAAzAA8AAwADAAAAAAAzABAAAwADAAAAAAAzABEAAwADAAAAAAAzABIAAwADAAAAAAAzABMAAwADAAAAAAA0AAoAAwADAAAAAAA0AAsAAwADAAAAAAA0AAwAAwADAAAAAAA0AA0AAwADAAAAAAA0AA4AAwADAAAAAAA0AA8AAwADAAAAAAA0ABAAAwADAAAAAAA0ABEAAwADAAAAAAA0ABIAAwADAAAAAAA0ABMAAwADAAAAAAA1AAoAAwADAAAAAAA1AAsAAwADAAAAAAA1AAwAAwADAAAAAAA1AA0AAwADAAAAAAA1AA4AAwADAAAAAAA1AA8AAwADAAAAAAA1ABAAAwADAAAAAAA1ABEAAwADAAAAAAA1ABIAAwADAAAAAAA1ABMAAwADAAAAAAA2AAoAAwADAAAAAAA2AAsAAwADAAAAAAA2AAwAAwADAAAAAAA2AA0AAwADAAAAAAA2AA4AAwADAAAAAAA2AA8AAwADAAAAAAA2ABAAAwADAAAAAAA2ABEAAwADAAAAAAA2ABIAAwADAAAAAAA2ABMAAwADAAAAAAA3AAoAAwADAAAAAAA3AAsAAwADAAAAAAA3AAwAAwADAAAAAAA3AA0AAwADAAAAAAA3AA4AAwADAAAAAAA3AA8AAwADAAAAAAA3ABAAAwADAAAAAAA3ABEAAwADAAAAAAA3ABIAAwADAAAAAAA3ABMAAwAHAAEAAFA4AAoAAwADAAAAAAA4AAsAAwADAAAAAAA4AAwAAwADAAAAAAA4AA0AAwADAAAAAAA4AA4AAwADAAAAAAA4AA8AAwADAAAAAAA4ABAAAwADAAAAAAA4ABEAAwADAAAAAAA4ABIAAwADAAAAAAA4ABMAAwAHAAAAAFA5AAoAAwADAAAAAAA5AAsAAwADAAAAAAA5AAwAAwADAAAAAAA5AA0AAwADAAAAAAA5AA4AAwADAAAAAAA5AA8AAwADAAAAAAA5ABAAAwADAAAAAAA5ABEAAwADAAAAAAA5ABIAAwADAAAAAAA5ABMAAwADAAAAAAA6AAoAAwADAAAAAAA6AAsAAwAEAAAAAAA6AAwAAwADAAAAAAA6AA0AAwADAAAAAAA6AA4AAwADAAAAAAA6AA8AAwADAAAAAAA6ABAAAwADAAAAAAA6ABEAAwADAAAAAAA6ABIAAwADAAAAAAA6ABMAAwADAAAAAAA7AAoAAwADAAAAAAA7AAsAAwADAAAAAAA7AAwAAwADAAAAAAA7AA0AAwADAAAAAAA7AA4AAwADAAAAAAA7AA8AAwADAAAAAAA7ABAAAwADAAAAAAA7ABEAAwADAAAAAAA7ABIAAwADAAAAAAA7ABMAAwADAAAAAAA8AAoAAwADAAAAAAA8AAsAAwADAAAAAAA8AAwAAwADAAAAAAA8AA0AAwADAAAAAAA8AA4AAwADAAAAAAA8AA8AAwADAAAAAAA8ABAAAwADAAAAAAA8ABEAAwADAAAAAAA8ABIAAwADAAAAAAA8ABMAAwADAAAAAAA9AAoAAwADAAAAAAA9AAsAAwADAAAAAAA9AAwAAwADAAAAAAA9AA0AAwADAAAAAAA9AA4AAwADAAAAAAA9AA8AAwADAAAAAAA9ABAAAwADAAAAAAA9ABEAAwADAAAAAAA9ABIAAwADAAAAAAA9ABMAAwADAAAAAAA+AAoAAwADAAAAAAA+AAsAAwADAAAAAAA+AAwAAwADAAAAAAA+AA0AAwADAAAAAAA+AA4AAwADAAAAAAA+AA8AAwADAAAAAAA+ABAAAwADAAAAAAA+ABEAAwADAAAAAAA+ABIAAwADAAAAAAA+ABMAAwADAAAAAAA/AAoAAwADAAAAAAA/AAsAAwADAAAAAAA/AAwAAwADAAAAAAA/AA0AAwADAAAAAAA/AA4AAwADAAAAAAA/AA8AAwADAAAAAAA/ABAAAwADAAAAAAA/ABEAAwADAAAAAAA/ABIAAwADAAAAAAA/ABMAAwADAAAAAABAAAoAAwADAAAAAABAAAsAAwADAAAAAABAAAwAAwADAAAAAABAAA0AAwADAAAAAABAAA4AAwADAAAAAABAAA8AAwADAAAAAABAABAAAwADAAAAAABAABEAAwADAAAAAABAABIAAwADAAAAAABAABMAAwADAAAAAABBAAoAAwADAAAAAABBAAsAAwADAAAAAABBAAwAAwADAAAAAABBAA0AAwADAAAAAABBAA4AAwADAAAAAABBAA8AAwADAAAAAABBABAAAwADAAAAAABBABEAAwADAAAAAABBABIAAwADAAAAAABBABMAAwADAAAAAABCAAoAAwADAAAAAABCAAsAAwADAAAAAABCAAwAAwADAAAAAABCAA0AAwADAAAAAABCAA4AAwADAAAAAABCAA8AAwADAAAAAABCABAAAwADAAAAAABCABEAAwADAAAAAABCABIAAwADAAAAAABCABMAAwADAAAAAABDAAoAAwADAAAAAABDAAsAAwADAAAAAABDAAwAAwADAAAAAABDAA0AAwADAAAAAABDAA4AAwADAAAAAABDAA8AAwADAAAAAABDABAAAwADAAAAAABDABEAAwADAAAAAABDABIAAwADAAAAAABDABMAAwADAAAAAABEAAoAAwADAAAAAABEAAsAAwADAAAAAABEAAwAAwADAAAAAABEAA0AAwADAAAAAABEAA4AAwADAAAAAABEAA8AAwADAAAAAABEABAAAwADAAAAAABEABEAAwADAAAAAABEABIAAwADAAAAAABEABMAAwADAAAAAABFAAoAAwADAAAAAABFAAsAAwADAAAAAABFAAwAAwADAAAAAABFAA0AAwADAAAAAABFAA4AAwADAAAAAABFAA8AAwADAAAAAABFABAAAwADAAAAAABFABEAAwADAAAAAABFABIAAwADAAAAAABFABMAAwADAAAAAABGAAoAAwADAAAAAABGAAsAAwADAAAAAABGAAwAAwADAAAAAABGAA0AAwADAAAAAABGAA4AAwADAAAAAABGAA8AAwADAAAAAABGABAAAwADAAAAAABGABEAAwADAAAAAABGABIAAwADAAAAAABGABMAAwADAAAAAABAABQAAwADAAAAAABAABUAAwADAAAAAABAABYAAwADAAAAAABAABcAAwADAAAAAABAABgAAwADAAAAAABAABkAAwADAAAAAABAABoAAwADAAAAAABAABsAAwADAAAAAABAABwAAwADAAAAAABAAB0AAwADAAAAAABAAB4AAwAGAAEAAHBAAB8AAwAFAAEAAHBBABQAAwADAAAAAABBABUAAwADAAAAAABBABYAAwADAAAAAABBABcAAwADAAAAAABBABgAAwADAAAAAABBABkAAwADAAAAAABBABoAAwADAAAAAABBABsAAwADAAAAAABBABwAAwADAAAAAABBAB0AAwADAAAAAABBAB4AAwAGAAAAAHBBAB8AAwAFAAAAAHBCABQAAwADAAAAAABCABUAAwADAAAAAABCABYAAwADAAAAAABCABcAAwADAAAAAABCABgAAwADAAAAAABCABkAAwADAAAAAABCABoAAwADAAAAAABCABsAAwADAAAAAABCABwAAwADAAAAAABCAB0AAwADAAAAAABCAB4AAwADAAAAAABCAB8AAwADAAAAAABDABQAAwADAAAAAABDABUAAwADAAAAAABDABYAAwADAAAAAABDABcAAwADAAAAAABDABgAAwADAAAAAABDABkAAwADAAAAAABDABoAAwADAAAAAABDABsAAwADAAAAAABDABwAAwADAAAAAABDAB0AAwADAAAAAABDAB4AAwADAAAAAABDAB8AAwADAAAAAABEABQAAwADAAAAAABEABUAAwADAAAAAABEABYAAwADAAAAAABEABcAAwADAAAAAABEABgAAwADAAAAAABEABkAAwADAAAAAABEABoAAwADAAAAAABEABsAAwADAAAAAABEABwAAwADAAAAAABEAB0AAwADAAAAAABEAB4AAwADAAAAAABEAB8AAwADAAAAAABFABQAAwADAAAAAABFABUAAwADAAAAAABFABYAAwADAAAAAABFABcAAwADAAAAAABFABgAAwADAAAAAABFABkAAwADAAAAAABFABoAAwADAAAAAABFABsAAwADAAAAAABFABwAAwADAAAAAABFAB0AAwADAAAAAABFAB4AAwADAAAAAABFAB8AAwADAAAAAABGABQAAwADAAAAAABGABUAAwADAAAAAABGABYAAwADAAAAAABGABcAAwADAAAAAABGABgAAwADAAAAAABGABkAAwADAAAAAABGABoAAwADAAAAAABGABsAAwADAAAAAABGABwAAwADAAAAAABGAB0AAwADAAAAAABGAB4AAwADAAAAAABGAB8AAwADAAAAAABHABQAAwADAAAAAABHABUAAwADAAAAAABHABYAAwADAAAAAABHABcAAwADAAAAAABHABgAAwADAAAAAABHABkAAwADAAAAAABHABoAAwADAAAAAABHABsAAwADAAAAAABHABwAAwADAAAAAABHAB0AAwADAAAAAABHAB4AAwADAAAAAABHAB8AAwADAAAAAABIABQAAwADAAAAAABIABUAAwADAAAAAABIABYAAwADAAAAAABIABcAAwADAAAAAABIABgAAwADAAAAAABIABkAAwADAAAAAABIABoAAwADAAAAAABIABsAAwADAAAAAABIABwAAwADAAAAAABIAB0AAwADAAAAAABIAB4AAwADAAAAAABIAB8AAwADAAAAAABJABQAAwADAAAAAABJABUAAwADAAAAAABJABYAAwADAAAAAABJABcAAwADAAAAAABJABgAAwADAAAAAABJABkAAwADAAAAAABJABoAAwADAAAAAABJABsAAwADAAAAAABJABwAAwADAAAAAABJAB0AAwADAAAAAABJAB4AAwADAAAAAABJAB8AAwADAAAAAABKABQAAwADAAAAAABKABUAAwADAAAAAABKABYAAwADAAAAAABKABcAAwADAAAAAABKABgAAwADAAAAAABKABkAAwADAAAAAABKABoAAwADAAAAAABKABsAAwADAAAAAABKABwAAwADAAAAAABKAB0AAwADAAAAAABKAB4AAwADAAAAAABKAB8AAwADAAAAAABLABQAAwADAAAAAABLABUAAwADAAAAAABLABYAAwADAAAAAABLABcAAwADAAAAAABLABgAAwADAAAAAABLABkAAwADAAAAAABLABoAAwADAAAAAABLABsAAwADAAAAAABLABwAAwADAAAAAABLAB0AAwADAAAAAABLAB4AAwADAAAAAABLAB8AAwADAAAAAABMABQAAwADAAAAAABMABUAAwADAAAAAABMABYAAwADAAAAAABMABcAAwADAAAAAABMABgAAwADAAAAAABMABkAAwADAAAAAABMABoAAwADAAAAAABMABsAAwADAAAAAABMABwAAwADAAAAAABMAB0AAwADAAAAAABMAB4AAwADAAAAAABMAB8AAwADAAAAAABNABQAAwADAAAAAABNABUAAwADAAAAAABNABYAAwADAAAAAABNABcAAwADAAAAAABNABgAAwADAAAAAABNABkAAwADAAAAAABNABoAAwADAAAAAABNABsAAwADAAAAAABNABwAAwADAAAAAABNAB0AAwADAAAAAABNAB4AAwADAAAAAABNAB8AAwADAAAAAABOABQAAwADAAAAAABOABUAAwADAAAAAABOABYAAwADAAAAAABOABcAAwADAAAAAABOABgAAwADAAAAAABOABkAAwADAAAAAABOABoAAwADAAAAAABOABsAAwADAAAAAABOABwAAwADAAAAAABOAB0AAwADAAAAAABOAB4AAwADAAAAAABOAB8AAwADAAAAAABPABQAAwADAAAAAABPABUAAwADAAAAAABPABYAAwADAAAAAABPABcAAwADAAAAAABPABgAAwADAAAAAABPABkAAwADAAAAAABPABoAAwADAAAAAABPABsAAwADAAAAAABPABwAAwADAAAAAABPAB0AAwADAAAAAABPAB4AAwADAAAAAABPAB8AAwADAAAAAABQABQAAwADAAAAAABQABUAAwADAAAAAABQABYAAwADAAAAAABQABcAAwADAAAAAABQABgAAwADAAAAAABQABkAAwADAAAAAABQABoAAwADAAAAAABQABsAAwADAAAAAABQABwAAwADAAAAAABQAB0AAwADAAAAAABQAB4AAwADAAAAAABQAB8AAwADAAAAAABRABQAAwADAAAAAABRABUAAwADAAAAAABRABYAAwADAAAAAABRABcAAwADAAAAAABRABgAAwADAAAAAABRABkAAwADAAAAAABRABoAAwADAAAAAABRABsAAwADAAAAAABRABwAAwADAAAAAABRAB0AAwADAAAAAABRAB4AAwADAAAAAABRAB8AAwADAAAAAABSABQAAwADAAAAAABSABUAAwADAAAAAABSABYAAwADAAAAAABSABcAAwADAAAAAABSABgAAwADAAAAAABSABkAAwADAAAAAABSABoAAwADAAAAAABSABsAAwADAAAAAABSABwAAwADAAAAAABSAB0AAwADAAAAAABSAB4AAwADAAAAAABSAB8AAwADAAAAAABTABQAAwADAAAAAABTABUAAwADAAAAAABTABYAAwADAAAAAABTABcAAwADAAAAAABTABgAAwADAAAAAABTABkAAwADAAAAAABTABoAAwADAAAAAABTABsAAwADAAAAAABTABwAAwADAAAAAABTAB0AAwADAAAAAABTAB4AAwADAAAAAABTAB8AAwADAAAAAABUABQAAwADAAAAAABUABUAAwADAAAAAABUABYAAwADAAAAAABUABcAAwADAAAAAABUABgAAwADAAAAAABUABkAAwADAAAAAABUABoAAwADAAAAAABUABsAAwADAAAAAABUABwAAwADAAAAAABUAB0AAwADAAAAAABUAB4AAwADAAAAAABUAB8AAwADAAAAAABVABQAAwADAAAAAABVABUAAwADAAAAAABVABYAAwADAAAAAABVABcAAwADAAAAAABVABgAAwADAAAAAABVABkAAwADAAAAAABVABoAAwADAAAAAABVABsAAwADAAAAAABVABwAAwADAAAAAABVAB0AAwADAAAAAABVAB4AAwADAAAAAABVAB8AAwADAAAAAABWABQAAwADAAAAAABWABUAAwADAAAAAABWABYAAwADAAAAAABWABcAAwADAAAAAABWABgAAwADAAAAAABWABkAAwADAAAAAABWABoAAwADAAAAAABWABsAAwADAAAAAABWABwAAwADAAAAAABWAB0AAwADAAAAAABWAB4AAwADAAAAAEBWAB8AAwAEAAAAAEBXABQAAwADAAAAAABXABUAAwADAAAAAABXABYAAwADAAAAAABXABcAAwADAAAAAABXABgAAwADAAAAAABXABkAAwADAAAAAABXABoAAwADAAAAAABXABsAAwADAAAAAABXABwAAwADAAAAAABXAB0AAwADAAAAAABXAB4AAwADAAEAAEBXAB8AAwAEAAEAAEBYABQAAwADAAAAAABYABUAAwADAAAAAABYABYAAwADAAAAAABYABcAAwADAAAAAABYABgAAwADAAAAAABYABkAAwADAAAAAABYABoAAwADAAAAAABYABsAAwADAAAAAABYABwAAwADAAAAAABYAB0AAwADAAAAAABYAB4AAwADAAIAAEBYAB8AAwAEAAIAAED3//7/AwADAAAAAAD2//7/AwADAAAAAAD2//3/AwADAAAAAAD2//z/AwADAAAAAAD2//v/AwADAAAAAAD3//v/AwADAAAAAAD4//z/AwADAAAAAAD4//3/AwADAAAAAAD4//7/AwADAAAAAAD3//z/AwADAAAAAAD3//3/AwADAAAAAAD5//3/AwADAAAAAAD6//3/AwADAAAAAAD6//z/AwADAAAAAAD6//v/AwADAAAAAAD5//v/AwADAAAAAAD5//z/AwADAAAAAAD5//7/AwADAAAAAAD6//7/AwADAAAAAAD7//3/AwADAAAAAAD7//7/AwADAAAAAAD3//b/AwADAAAAAAD3//f/AwADAAAAAAD3//j/AwADAAAAAAD3//n/AwADAAAAAAD3//r/AwADAAAAAAD4//b/AwADAAAAAAD4//f/AwADAAAAAAD4//j/AwADAAAAAAD4//n/AwADAAAAAAD4//r/AwADAAAAAAD4//v/AwADAAAAAAD5//b/AwADAAAAAAD5//f/AwADAAAAAAD5//j/AwADAAAAAAD5//n/AwADAAAAAAD5//r/AwADAAAAAAD6//b/AwADAAAAAAD6//f/AwADAAAAAAD6//j/AwADAAAAAAD6//n/AwADAAAAAAD6//r/AwADAAAAAAD7//b/AwADAAAAAAD7//f/AwADAAAAAAD7//j/AwADAAAAAAD7//n/AwADAAAAAAD7//r/AwADAAAAAAD7//v/AwADAAAAAAD7//z/AwADAAAAAAD8//b/AwADAAAAAAD8//f/AwADAAAAAAD8//j/AwADAAAAAAD8//n/AwADAAAAAAD8//r/AwADAAAAAAD8//v/AwADAAAAAAD8//z/AwADAAAAAAD9//b/AwADAAAAAAD9//f/AwADAAAAAAD9//j/AwADAAAAAAD9//n/AwADAAAAAAD9//r/AwADAAAAAAD9//v/AwADAAAAAAD9//z/AwADAAAAAAD+//b/AwADAAAAAAD+//f/AwADAAAAAAD+//j/AwADAAAAAAD+//n/AwADAAAAAAD+//r/AwADAAAAAAD+//v/AwADAAAAAAD+//z/AwADAAAAAAD///b/AwADAAAAAAD///f/AwADAAAAAAD///j/AwADAAAAAAD///n/AwADAAAAAAD///r/AwADAAAAAAD///v/AwADAAAAAAD///z/AwADAAAAAAAAAPb/AwADAAAAAAAAAPf/AwADAAAAAAAAAPj/AwADAAAAAAAAAPn/AwADAAAAAAAAAPr/AwADAAAAAAAAAPv/AwADAAAAAAAAAPz/AwADAAAAAAABAPb/AwADAAAAAAABAPf/AwADAAAAAAABAPj/AwADAAAAAAABAPn/AwADAAAAAAABAPr/AwADAAAAAAABAPv/AwADAAAAAAABAPz/AwADAAAAAAACAPb/AwADAAAAAAACAPf/AwADAAAAAAACAPj/AwADAAAAAAACAPn/AwADAAAAAAACAPr/AwADAAAAAAACAPv/AwADAAAAAAACAPz/AwADAAAAAAADAPb/AwADAAAAAAADAPf/AwADAAAAAAADAPj/AwADAAAAAAADAPn/AwADAAAAAAADAPr/AwADAAAAAAADAPv/AwADAAAAAAADAPz/AwADAAAAAAAEAPb/AwADAAAAAAAEAPf/AwADAAAAAAAEAPj/AwADAAAAAAAEAPn/AwADAAAAAAAEAPr/AwADAAAAAAAEAPv/AwADAAAAAAAEAPz/AwADAAAAAAAFAPb/AwADAAAAAAAFAPf/AwADAAAAAAAFAPj/AwADAAAAAAAFAPn/AwADAAAAAAAFAPr/AwADAAAAAAAFAPv/AwADAAAAAAAFAPz/AwADAAAAAAAGAPb/AwADAAAAAAAGAPf/AwADAAAAAAAGAPj/AwADAAAAAAAGAPn/AwADAAAAAAAGAPr/AwADAAAAAAAGAPv/AwADAAAAAAAGAPz/AwADAAAAAAAHAPb/AwADAAAAAAAHAPf/AwADAAAAAAAHAPj/AwADAAAAAAAHAPn/AwADAAAAAAAHAPr/AwADAAAAAAAHAPv/AwADAAAAAAAHAPz/AwADAAAAAAAIAPb/AwADAAAAAAAIAPf/AwADAAAAAAAIAPj/AwADAAAAAAAIAPn/AwADAAAAAAAIAPr/AwADAAAAAAAIAPv/AwADAAAAAAAIAPz/AwADAAAAAAAJAPb/AwADAAAAAAAJAPf/AwADAAAAAAAJAPj/AwADAAAAAAAJAPn/AwADAAAAAAAJAPr/AwADAAAAAAAJAPv/AwADAAAAAAAJAPz/AwADAAAAAAAKAPb/AwADAAAAAAAKAPf/AwADAAAAAAAKAPj/AwADAAAAAAAKAPn/AwADAAAAAAAKAPr/AwADAAAAAAAKAPv/AwADAAAAAAAKAPz/AwADAAAAAAALAPb/AwADAAAAAAALAPf/AwADAAAAAAALAPj/AwADAAAAAAALAPn/AwADAAAAAAALAPr/AwADAAAAAAALAPv/AwADAAAAAAALAPz/AwADAAAAAAAMAPb/AwADAAAAAAAMAPf/AwADAAAAAAAMAPj/AwADAAAAAAAMAPn/AwADAAAAAAAMAPr/AwADAAAAAAAMAPv/AwADAAAAAAAMAPz/AwADAAAAAACIABQAAwADAAAAAACIABUAAwADAAAAAACIABYAAwADAAAAAACIABcAAwADAAAAAACIABgAAwADAAAAAACIABkAAwADAAAAAACIABoAAwADAAAAAACIABsAAwADAAAAAACIABwAAwADAAAAAACIAB0AAwADAAAAAACJABQAAwADAAAAAACJABUAAwADAAAAAACJABYAAwADAAAAAACJABcAAwADAAAAAACJABgAAwADAAAAAACJABkAAwADAAAAAACJABoAAwADAAAAAACJABsAAwADAAAAAACJABwAAwADAAAAAACJAB0AAwADAAAAAACKABQAAwADAAAAAACKABUAAwADAAAAAACKABYAAwADAAAAAACKABcAAwADAAAAAACKABgAAwADAAAAAACKABkAAwADAAAAAACKABoAAwADAAAAAACKABsAAwADAAAAAACKABwAAwADAAAAAACKAB0AAwADAAAAAACLABQAAwADAAAAAACLABUAAwADAAAAAACLABYAAwADAAAAAACLABcAAwADAAAAAACLABgAAwADAAAAAACLABkAAwADAAAAAACLABoAAwADAAAAAACLABsAAwADAAAAAACLABwAAwADAAAAAACLAB0AAwADAAAAAACMABQAAwADAAAAAACMABUAAwADAAAAAACMABYAAwADAAAAAACMABcAAwADAAAAAACMABgAAwADAAAAAACMABkAAwADAAAAAACMABoAAwADAAAAAACMABsAAwADAAAAAACMABwAAwADAAAAAACMAB0AAwADAAAAAACNABQAAwADAAAAAACNABUAAwADAAAAAACNABYAAwADAAAAAACNABcAAwADAAAAAACNABgAAwADAAAAAACNABkAAwADAAAAAACNABoAAwADAAAAAACNABsAAwADAAAAAACNABwAAwADAAAAAACNAB0AAwADAAAAAACOABQAAwADAAAAAACOABUAAwADAAAAAACOABYAAwADAAAAAACOABcAAwADAAAAAACOABgAAwADAAAAAACOABkAAwADAAAAAACOABoAAwADAAAAAACOABsAAwADAAAAAACOABwAAwADAAAAAACOAB0AAwADAAAAAACPABQAAwADAAAAAACPABUAAwADAAAAAACPABYAAwADAAAAAACPABcAAwADAAAAAACPABgAAwADAAAAAACPABkAAwADAAAAAACPABoAAwADAAAAAACPABsAAwADAAAAAACPABwAAwADAAAAAACPAB0AAwADAAAAAACQABQAAwADAAAAAACQABUAAwADAAAAAACQABYAAwADAAAAAACQABcAAwADAAAAAACQABgAAwADAAAAAACQABkAAwADAAAAAACQABoAAwADAAAAAACQABsAAwADAAAAAACQABwAAwADAAAAAACQAB0AAwADAAAAAACRABQAAwADAAAAAACRABUAAwADAAAAAACRABYAAwADAAAAAACRABcAAwADAAAAAACRABgAAwADAAAAAACRABkAAwADAAAAAACRABoAAwADAAAAAACRABsAAwADAAAAAACRABwAAwADAAAAAACRAB0AAwADAAAAAACSABQAAwADAAAAAACSABUAAwADAAAAAACSABYAAwADAAAAAACSABcAAwADAAAAAACSABgAAwADAAAAAACSABkAAwADAAAAAACSABoAAwADAAAAAACSABsAAwADAAAAAACSABwAAwADAAAAAACSAB0AAwADAAAAAACTABQAAwADAAAAAACTABUAAwADAAAAAACTABYAAwADAAAAAACTABcAAwADAAAAAACTABgAAwADAAAAAACTABkAAwADAAAAAACTABoAAwADAAAAAACTABsAAwADAAAAAACTABwAAwADAAAAAACTAB0AAwADAAAAAACUABQAAwADAAAAAACUABUAAwADAAAAAACUABYAAwADAAAAAACUABcAAwADAAAAAACUABgAAwADAAAAAACUABkAAwADAAAAAACUABoAAwADAAAAAACUABsAAwADAAAAAACUABwAAwADAAAAAACUAB0AAwADAAAAAACVABQAAwADAAAAAACVABUAAwADAAAAAACVABYAAwADAAAAAACVABcAAwADAAAAAACVABgAAwADAAAAAACVABkAAwADAAAAAACVABoAAwADAAAAAACVABsAAwADAAAAAACVABwAAwADAAAAAACVAB0AAwADAAAAAACWABQAAwADAAAAAACWABUAAwADAAAAAACWABYAAwADAAAAAACWABcAAwADAAAAAACWABgAAwADAAAAAACWABkAAwADAAAAAACWABoAAwADAAAAAACWABsAAwADAAAAAACWABwAAwADAAAAAACWAB0AAwADAAAAAACXABQAAwADAAAAAACXABUAAwADAAAAAACXABYAAwADAAAAAACXABcAAwADAAAAAACXABgAAwADAAAAAACXABkAAwADAAAAAACXABoAAwADAAAAAACXABsAAwADAAAAAACXABwAAwADAAAAAACXAB0AAwADAAAAAACYABQAAwADAAAAAACYABUAAwADAAAAAACYABYAAwADAAAAAACYABcAAwADAAAAAACYABgAAwADAAAAAACYABkAAwADAAAAAACYABoAAwADAAAAAACYABsAAwADAAAAAACYABwAAwADAAAAAACYAB0AAwADAAAAAACZABQAAwADAAAAAACZABUAAwADAAAAAACZABYAAwADAAAAAACZABcAAwADAAAAAACZABgAAwADAAAAAACZABkAAwADAAAAAACZABoAAwADAAAAAACZABsAAwADAAAAAACZABwAAwADAAAAAACZAB0AAwADAAAAAACaABQAAwADAAAAAACaABUAAwADAAAAAACaABYAAwADAAAAAACaABcAAwADAAAAAACaABgAAwADAAAAAACaABkAAwADAAAAAACaABoAAwADAAAAAACaABsAAwADAAAAAACaABwAAwADAAAAAACaAB0AAwADAAAAAACbABQAAwADAAAAAACbABUAAwADAAAAAACbABYAAwADAAAAAACbABcAAwADAAAAAACbABgAAwADAAAAAACbABkAAwADAAAAAACbABoAAwADAAAAAACbABsAAwADAAAAAACbABwAAwADAAAAAACbAB0AAwADAAAAAACcABQAAwADAAAAAACcABUAAwADAAAAAACcABYAAwADAAAAAACcABcAAwADAAAAAACcABgAAwADAAAAAACcABkAAwADAAAAAACcABoAAwADAAAAAACcABsAAwADAAAAAACcABwAAwADAAAAAACcAB0AAwADAAAAAACdABQAAwADAAAAAACdABUAAwADAAAAAACdABYAAwADAAAAAACdABcAAwADAAAAAACdABgAAwADAAAAAACdABkAAwADAAAAAACdABoAAwADAAAAAACdABsAAwADAAAAAACdABwAAwADAAAAAACdAB0AAwADAAAAAACeABQAAwADAAAAAACeABUAAwADAAAAAACeABYAAwADAAAAAACeABcAAwADAAAAAACeABgAAwADAAAAAACeABkAAwADAAAAAACeABoAAwADAAAAAACeABsAAwADAAAAAACeABwAAwADAAAAAACeAB0AAwADAAAAAACfABQAAwADAAAAAACfABUAAwADAAAAAACfABYAAwADAAAAAACfABcAAwADAAAAAACfABgAAwADAAAAAACfABkAAwADAAAAAACfABoAAwADAAAAAACfABsAAwADAAAAAACfABwAAwADAAAAAACfAB0AAwADAAAAAACgABQAAwADAAAAAACgABUAAwADAAAAAACgABYAAwADAAAAAACgABcAAwADAAAAAACgABgAAwADAAAAAACgABkAAwADAAAAAACgABoAAwADAAAAAACgABsAAwADAAAAAACgABwAAwADAAAAAACgAB0AAwADAAAAAAChABQAAwADAAAAAAChABUAAwADAAAAAAChABYAAwADAAAAAAChABcAAwADAAAAAAChABgAAwADAAAAAAChABkAAwADAAAAAAChABoAAwADAAAAAAChABsAAwADAAAAAAChABwAAwADAAAAAAChAB0AAwADAAAAAACSAAAAAwADAAAAAACSAAEAAwADAAAAAACSAAIAAwADAAAAAACSAAMAAwADAAAAAACSAAQAAwADAAAAAACSAAUAAwADAAAAAACSAAYAAwADAAAAAACSAAcAAwADAAAAAACSAAgAAwADAAAAAACSAAkAAwADAAAAAACSAAoAAwADAAAAAACSAAsAAwADAAAAAACSAAwAAwADAAAAAACSAA0AAwADAAAAAACSAA4AAwADAAAAAACSAA8AAwADAAAAAACSABAAAwADAAAAAACSABEAAwADAAAAAACSABIAAwADAAAAAACSABMAAwADAAAAAACTAAAAAwADAAAAAACTAAEAAwADAAAAAACTAAIAAwADAAAAAACTAAMAAwADAAAAAACTAAQAAwADAAAAAACTAAUAAwADAAAAAACTAAYAAwADAAAAAACTAAcAAwADAAAAAACTAAgAAwADAAAAAACTAAkAAwADAAAAAACTAAoAAwADAAAAAACTAAsAAwADAAAAAACTAAwAAwADAAAAAACTAA0AAwADAAAAAACTAA4AAwADAAAAAACTAA8AAwADAAAAAACTABAAAwADAAAAAACTABEAAwADAAAAAACTABIAAwADAAAAAACTABMAAwADAAAAAACUAAAAAwADAAAAAACUAAEAAwADAAAAAACUAAIAAwADAAAAAACUAAMAAwADAAAAAACUAAQAAwADAAAAAACUAAUAAwADAAAAAACUAAYAAwADAAAAAACUAAcAAwADAAAAAACUAAgAAwADAAAAAACUAAkAAwADAAAAAACUAAoAAwADAAAAAACUAAsAAwADAAAAAACUAAwAAwADAAAAAACUAA0AAwADAAAAAACUAA4AAwADAAAAAACUAA8AAwADAAAAAACUABAAAwADAAAAAACUABEAAwADAAAAAACUABIAAwADAAAAAACUABMAAwADAAAAAACVAAAAAwADAAAAAACVAAEAAwADAAAAAACVAAIAAwADAAAAAACVAAMAAwADAAAAAACVAAQAAwADAAAAAACVAAUAAwADAAAAAACVAAYAAwADAAAAAACVAAcAAwADAAAAAACVAAgAAwADAAAAAACVAAkAAwADAAAAAACVAAoAAwADAAAAAACVAAsAAwADAAAAAACVAAwAAwADAAAAAACVAA0AAwADAAAAAACVAA4AAwADAAAAAACVAA8AAwADAAAAAACVABAAAwADAAAAAACVABEAAwADAAAAAACVABIAAwADAAAAAACVABMAAwADAAAAAACWAAAAAwADAAAAAACWAAEAAwADAAAAAACWAAIAAwADAAAAAACWAAMAAwADAAAAAACWAAQAAwADAAAAAACWAAUAAwADAAAAAACWAAYAAwADAAAAAACWAAcAAwADAAAAAACWAAgAAwADAAAAAACWAAkAAwADAAAAAACWAAoAAwADAAAAAACWAAsAAwADAAAAAACWAAwAAwADAAAAAACWAA0AAwADAAAAAACWAA4AAwADAAAAAACWAA8AAwADAAAAAACWABAAAwADAAAAAACWABEAAwADAAAAAACWABIAAwADAAAAAACWABMAAwADAAAAAACXAAAAAwADAAAAAACXAAEAAwADAAAAAACXAAIAAwADAAAAAACXAAMAAwADAAAAAACXAAQAAwADAAAAAACXAAUAAwADAAAAAACXAAYAAwADAAAAAACXAAcAAwADAAAAAACXAAgAAwADAAAAAACXAAkAAwADAAAAAACXAAoAAwADAAAAAACXAAsAAwADAAAAAACXAAwAAwADAAAAAACXAA0AAwADAAAAAACXAA4AAwADAAAAAACXAA8AAwADAAAAAACXABAAAwADAAAAAACXABEAAwADAAAAAACXABIAAwADAAAAAACXABMAAwADAAAAAACYAAAAAwADAAAAAACYAAEAAwADAAAAAACYAAIAAwADAAAAAACYAAMAAwADAAAAAACYAAQAAwADAAAAAACYAAUAAwADAAAAAACYAAYAAwADAAAAAACYAAcAAwADAAAAAACYAAgAAwADAAAAAACYAAkAAwADAAAAAACYAAoAAwADAAAAAACYAAsAAwADAAAAAACYAAwAAwADAAAAAACYAA0AAwADAAAAAACYAA4AAwADAAAAAACYAA8AAwADAAAAAACYABAAAwADAAAAAACYABEAAwADAAAAAACYABIAAwADAAAAAACYABMAAwADAAAAAACZAAAAAwADAAAAAACZAAEAAwADAAAAAACZAAIAAwADAAAAAACZAAMAAwADAAAAAACZAAQAAwADAAAAAACZAAUAAwADAAAAAACZAAYAAwADAAAAAACZAAcAAwADAAAAAACZAAgAAwADAAAAAACZAAkAAwADAAAAAACZAAoAAwADAAAAAACZAAsAAwADAAAAAACZAAwAAwADAAAAAACZAA0AAwADAAAAAACZAA4AAwADAAAAAACZAA8AAwADAAAAAACZABAAAwADAAAAAACZABEAAwADAAAAAACZABIAAwADAAAAAACZABMAAwADAAAAAACaAAAAAwADAAAAAACaAAEAAwADAAAAAACaAAIAAwADAAAAAACaAAMAAwADAAAAAACaAAQAAwADAAAAAACaAAUAAwADAAAAAACaAAYAAwADAAAAAACaAAcAAwADAAAAAACaAAgAAwADAAAAAACaAAkAAwADAAAAAACaAAoAAwADAAAAAACaAAsAAwADAAAAAACaAAwAAwADAAAAAACaAA0AAwADAAAAAACaAA4AAwADAAAAAACaAA8AAwADAAAAAACaABAAAwADAAAAAACaABEAAwADAAAAAACaABIAAwADAAAAAACaABMAAwADAAAAAACbAAAAAwADAAAAAACbAAEAAwADAAAAAACbAAIAAwADAAAAAACbAAMAAwADAAAAAACbAAQAAwADAAAAAACbAAUAAwADAAAAAACbAAYAAwADAAAAAACbAAcAAwADAAAAAACbAAgAAwADAAAAAACbAAkAAwADAAAAAACbAAoAAwADAAAAAACbAAsAAwADAAAAAACbAAwAAwADAAAAAACbAA0AAwADAAAAAACbAA4AAwADAAAAAACbAA8AAwADAAAAAACbABAAAwADAAAAAACbABEAAwADAAAAAACbABIAAwADAAAAAACbABMAAwADAAAAAACcAAAAAwADAAAAAACcAAEAAwADAAAAAACcAAIAAwADAAAAAACcAAMAAwADAAAAAACcAAQAAwADAAAAAACcAAUAAwADAAAAAACcAAYAAwADAAAAAACcAAcAAwADAAAAAACcAAgAAwADAAAAAACcAAkAAwADAAAAAACcAAoAAwADAAAAAACcAAsAAwADAAAAAACcAAwAAwADAAAAAACcAA0AAwADAAAAAACcAA4AAwADAAAAAACcAA8AAwADAAAAAACcABAAAwADAAAAAACcABEAAwADAAAAAACcABIAAwADAAAAAACcABMAAwADAAAAAACdAAAAAwADAAAAAACdAAEAAwADAAAAAACdAAIAAwADAAAAAACdAAMAAwADAAAAAACdAAQAAwADAAAAAACdAAUAAwADAAAAAACdAAYAAwADAAAAAACdAAcAAwADAAAAAACdAAgAAwADAAAAAACdAAkAAwADAAAAAACdAAoAAwADAAAAAACdAAsAAwADAAAAAACdAAwAAwADAAAAAACdAA0AAwADAAAAAACdAA4AAwADAAAAAACdAA8AAwADAAAAAACdABAAAwADAAAAAACdABEAAwADAAAAAACdABIAAwADAAAAAACdABMAAwADAAAAAACeAAAAAwADAAAAAACeAAEAAwADAAAAAACeAAIAAwADAAAAAACeAAMAAwADAAAAAACeAAQAAwADAAAAAACeAAUAAwADAAAAAACeAAYAAwADAAAAAACeAAcAAwADAAAAAACeAAgAAwADAAAAAACeAAkAAwADAAAAAACeAAoAAwADAAAAAACeAAsAAwADAAAAAACeAAwAAwADAAAAAACeAA0AAwADAAAAAACeAA4AAwADAAAAAACeAA8AAwADAAAAAACeABAAAwADAAAAAACeABEAAwADAAAAAACeABIAAwADAAAAAACeABMAAwADAAAAAACfAAAAAwADAAAAAACfAAEAAwADAAAAAACfAAIAAwADAAAAAACfAAMAAwADAAAAAACfAAQAAwADAAAAAACfAAUAAwADAAAAAACfAAYAAwADAAAAAACfAAcAAwADAAAAAACfAAgAAwADAAAAAACfAAkAAwADAAAAAACfAAoAAwADAAAAAACfAAsAAwADAAAAAACfAAwAAwADAAAAAACfAA0AAwADAAAAAACfAA4AAwADAAAAAACfAA8AAwADAAAAAACfABAAAwADAAAAAACfABEAAwADAAAAAACfABIAAwADAAAAAACfABMAAwADAAAAAACgAAAAAwADAAAAAACgAAEAAwADAAAAAACgAAIAAwADAAAAAACgAAMAAwADAAAAAACgAAQAAwADAAAAAACgAAUAAwADAAAAAACgAAYAAwADAAAAAACgAAcAAwADAAAAAACgAAgAAwADAAAAAACgAAkAAwADAAAAAACgAAoAAwADAAAAAACgAAsAAwADAAAAAACgAAwAAwADAAAAAACgAA0AAwADAAAAAACgAA4AAwADAAAAAACgAA8AAwADAAAAAACgABAAAwADAAAAAACgABEAAwADAAAAAACgABIAAwADAAAAAACgABMAAwADAAAAAAChAAAAAwADAAAAAAChAAEAAwADAAAAAAChAAIAAwADAAAAAAChAAMAAwADAAAAAAChAAQAAwADAAAAAAChAAUAAwADAAAAAAChAAYAAwADAAAAAAChAAcAAwADAAAAAAChAAgAAwADAAAAAAChAAkAAwADAAAAAAChAAoAAwADAAAAAAChAAsAAwADAAAAAAChAAwAAwADAAAAAAChAA0AAwADAAAAAAChAA4AAwADAAAAAAChAA8AAwADAAAAAAChABAAAwADAAAAAAChABEAAwADAAAAAAChABIAAwADAAAAAAChABMAAwADAAAAAACiAAAAAwADAAAAAACiAAEAAwADAAAAAACiAAIAAwADAAAAAACiAAMAAwADAAAAAACiAAQAAwADAAAAAACiAAUAAwADAAAAAACiAAYAAwADAAAAAACiAAcAAwADAAAAAACiAAgAAwADAAAAAACiAAkAAwADAAAAAACiAAoAAwADAAAAAACiAAsAAwADAAAAAACiAAwAAwADAAAAAACiAA0AAwADAAAAAACiAA4AAwADAAAAAACiAA8AAwADAAAAAACiABAAAwADAAAAAACiABEAAwADAAAAAACiABIAAwADAAAAAACiABMAAwADAAAAAACiABQAAwADAAAAAACiABUAAwADAAAAAACiABYAAwADAAAAAACiABcAAwADAAAAAACiABgAAwADAAAAAACiABkAAwADAAAAAACiABoAAwADAAAAAACiABsAAwADAAAAAACiABwAAwADAAAAAACiAB0AAwADAAAAAACjAAAAAwADAAAAAACjAAEAAwADAAAAAACjAAIAAwADAAAAAACjAAMAAwADAAAAAACjAAQAAwADAAAAAACjAAUAAwADAAAAAACjAAYAAwADAAAAAACjAAcAAwADAAAAAACjAAgAAwADAAAAAACjAAkAAwADAAAAAACjAAoAAwADAAAAAACjAAsAAwADAAAAAACjAAwAAwADAAAAAACjAA0AAwADAAAAAACjAA4AAwADAAAAAACjAA8AAwADAAAAAACjABAAAwADAAAAAACjABEAAwADAAAAAACjABIAAwADAAAAAACjABMAAwADAAAAAACjABQAAwADAAAAAACjABUAAwADAAAAAACjABYAAwADAAAAAACjABcAAwADAAAAAACjABgAAwADAAAAAACjABkAAwADAAAAAACjABoAAwADAAAAAACjABsAAwADAAAAAACjABwAAwADAAAAAACjAB0AAwADAAAAAACkAAAAAwADAAAAAACkAAEAAwADAAAAAACkAAIAAwADAAAAAACkAAMAAwADAAAAAACkAAQAAwADAAAAAACkAAUAAwADAAAAAACkAAYAAwADAAAAAACkAAcAAwADAAAAAACkAAgAAwADAAAAAACkAAkAAwADAAAAAACkAAoAAwADAAAAAACkAAsAAwADAAAAAACkAAwAAwADAAAAAACkAA0AAwADAAAAAACkAA4AAwADAAAAAACkAA8AAwADAAAAAACkABAAAwADAAAAAACkABEAAwADAAAAAACkABIAAwADAAAAAACkABMAAwADAAAAAACkABQAAwADAAAAAACkABUAAwADAAAAAACkABYAAwADAAAAAACkABcAAwADAAAAAACkABgAAwADAAAAAACkABkAAwADAAAAAACkABoAAwADAAAAAACkABsAAwADAAAAAACkABwAAwADAAAAAACkAB0AAwADAAAAAAClAAAAAwADAAAAAAClAAEAAwADAAAAAAClAAIAAwADAAAAAAClAAMAAwADAAAAAAClAAQAAwADAAAAAAClAAUAAwADAAAAAAClAAYAAwADAAAAAAClAAcAAwADAAAAAAClAAgAAwADAAAAAAClAAkAAwADAAAAAAClAAoAAwADAAAAAAClAAsAAwADAAAAAAClAAwAAwADAAAAAAClAA0AAwADAAAAAAClAA4AAwADAAAAAAClAA8AAwADAAAAAAClABAAAwADAAAAAAClABEAAwADAAAAAAClABIAAwADAAAAAAClABMAAwADAAAAAAClABQAAwADAAAAAAClABUAAwADAAAAAAClABYAAwADAAAAAAClABcAAwADAAAAAAClABgAAwADAAAAAAClABkAAwADAAAAAAClABoAAwADAAAAAAClABsAAwADAAAAAAClABwAAwADAAAAAAClAB0AAwADAAAAAACmAAAAAwADAAAAAACmAAEAAwADAAAAAACmAAIAAwADAAAAAACmAAMAAwADAAAAAACmAAQAAwADAAAAAACmAAUAAwADAAAAAACmAAYAAwADAAAAAACmAAcAAwADAAAAAACmAAgAAwADAAAAAACmAAkAAwADAAAAAACmAAoAAwADAAAAAACmAAsAAwADAAAAAACmAAwAAwADAAAAAACmAA0AAwADAAAAAACmAA4AAwADAAAAAACmAA8AAwADAAAAAACmABAAAwADAAAAAACmABEAAwADAAAAAACmABIAAwADAAAAAACmABMAAwADAAAAAACmABQAAwADAAAAAACmABUAAwADAAAAAACmABYAAwADAAAAAACmABcAAwADAAAAAACmABgAAwADAAAAAACmABkAAwADAAAAAACmABoAAwADAAAAAACmABsAAwADAAAAAACmABwAAwADAAAAAACmAB0AAwADAAAAAACnAAAAAwADAAAAAACnAAEAAwADAAAAAACnAAIAAwADAAAAAACnAAMAAwADAAAAAACnAAQAAwADAAAAAACnAAUAAwADAAAAAACnAAYAAwADAAAAAACnAAcAAwADAAAAAACnAAgAAwADAAAAAACnAAkAAwADAAAAAACnAAoAAwADAAAAAACnAAsAAwADAAAAAACnAAwAAwADAAAAAACnAA0AAwADAAAAAACnAA4AAwADAAAAAACnAA8AAwADAAAAAACnABAAAwADAAAAAACnABEAAwADAAAAAACnABIAAwADAAAAAACnABMAAwADAAAAAACnABQAAwADAAAAAACnABUAAwADAAAAAACnABYAAwADAAAAAACnABcAAwADAAAAAACnABgAAwADAAAAAACnABkAAwADAAAAAACnABoAAwADAAAAAACnABsAAwADAAAAAACnABwAAwADAAAAAACnAB0AAwADAAAAAACoAAAAAwADAAAAAACoAAEAAwADAAAAAACoAAIAAwADAAAAAACoAAMAAwADAAAAAACoAAQAAwADAAAAAACoAAUAAwADAAAAAACoAAYAAwADAAAAAACoAAcAAwADAAAAAACoAAgAAwADAAAAAACoAAkAAwADAAAAAACoAAoAAwADAAAAAACoAAsAAwADAAAAAACoAAwAAwADAAAAAACoAA0AAwADAAAAAACoAA4AAwADAAAAAACoAA8AAwADAAAAAACoABAAAwADAAAAAACoABEAAwADAAAAAACoABIAAwADAAAAAACoABMAAwADAAAAAACoABQAAwADAAAAAACoABUAAwADAAAAAACoABYAAwADAAAAAACoABcAAwADAAAAAACoABgAAwADAAAAAACoABkAAwADAAAAAACoABoAAwADAAAAAACoABsAAwADAAAAAACoABwAAwADAAAAAACoAB0AAwADAAAAAACpAAAAAwADAAAAAACpAAEAAwADAAAAAACpAAIAAwADAAAAAACpAAMAAwADAAAAAACpAAQAAwADAAAAAACpAAUAAwADAAAAAACpAAYAAwADAAAAAACpAAcAAwADAAAAAACpAAgAAwADAAAAAACpAAkAAwADAAAAAACpAAoAAwADAAAAAACpAAsAAwADAAAAAACpAAwAAwADAAAAAACpAA0AAwADAAAAAACpAA4AAwADAAAAAACpAA8AAwADAAAAAACpABAAAwADAAAAAACpABEAAwADAAAAAACpABIAAwADAAAAAACpABMAAwADAAAAAACpABQAAwADAAAAAACpABUAAwADAAAAAACpABYAAwADAAAAAACpABcAAwADAAAAAACpABgAAwADAAAAAACpABkAAwADAAAAAACpABoAAwADAAAAAACpABsAAwADAAAAAACpABwAAwADAAAAAACpAB0AAwADAAAAAACqAAAAAwADAAAAAACqAAEAAwADAAAAAACqAAIAAwADAAAAAACqAAMAAwADAAAAAACqAAQAAwADAAAAAACqAAUAAwADAAAAAACqAAYAAwADAAAAAACqAAcAAwADAAAAAACqAAgAAwADAAAAAACqAAkAAwADAAAAAACqAAoAAwADAAAAAACqAAsAAwADAAAAAACqAAwAAwADAAAAAACqAA0AAwADAAAAAACqAA4AAwADAAAAAACqAA8AAwADAAAAAACqABAAAwADAAAAAACqABEAAwADAAAAAACqABIAAwADAAAAAACqABMAAwADAAAAAACqABQAAwADAAAAAACqABUAAwADAAAAAACqABYAAwADAAAAAACqABcAAwADAAAAAACqABgAAwADAAAAAACqABkAAwADAAAAAACqABoAAwADAAAAAACqABsAAwADAAAAAACqABwAAwADAAAAAACqAB0AAwADAAAAAACrAAAAAwADAAAAAACrAAEAAwADAAAAAACrAAIAAwADAAAAAACrAAMAAwADAAAAAACrAAQAAwADAAAAAACrAAUAAwADAAAAAACrAAYAAwADAAAAAACrAAcAAwADAAAAAACrAAgAAwADAAAAAACrAAkAAwADAAAAAACrAAoAAwADAAAAAACrAAsAAwADAAAAAACrAAwAAwADAAAAAACrAA0AAwADAAAAAACrAA4AAwADAAAAAACrAA8AAwADAAAAAACrABAAAwADAAAAAACrABEAAwADAAAAAACrABIAAwADAAAAAACrABMAAwADAAAAAACrABQAAwADAAAAAACrABUAAwADAAAAAACrABYAAwADAAAAAACrABcAAwADAAAAAACrABgAAwADAAAAAACrABkAAwADAAAAAACrABoAAwADAAAAAACrABsAAwADAAAAAACrABwAAwADAAAAAACrAB0AAwADAAAAAACsAAAAAwADAAAAAACsAAEAAwADAAAAAACsAAIAAwADAAAAAACsAAMAAwADAAAAAACsAAQAAwADAAAAAACsAAUAAwADAAAAAACsAAYAAwADAAAAAACsAAcAAwADAAAAAACsAAgAAwADAAAAAACsAAkAAwADAAAAAACsAAoAAwADAAAAAACsAAsAAwADAAAAAACsAAwAAwADAAAAAACsAA0AAwADAAAAAACsAA4AAwADAAAAAACsAA8AAwADAAAAAACsABAAAwADAAAAAACsABEAAwADAAAAAACsABIAAwADAAAAAACsABMAAwADAAAAAACsABQAAwADAAAAAACsABUAAwADAAAAAACsABYAAwADAAAAAACsABcAAwADAAAAAACsABgAAwADAAAAAACsABkAAwADAAAAAACsABoAAwADAAAAAACsABsAAwADAAAAAACsABwAAwADAAAAAACsAB0AAwADAAAAAACtAAAAAwADAAAAAACtAAEAAwADAAAAAACtAAIAAwADAAAAAACtAAMAAwADAAAAAACtAAQAAwADAAAAAACtAAUAAwADAAAAAACtAAYAAwADAAAAAACtAAcAAwADAAAAAACtAAgAAwADAAAAAACtAAkAAwADAAAAAACtAAoAAwADAAAAAACtAAsAAwADAAAAAACtAAwAAwADAAAAAACtAA0AAwADAAAAAACtAA4AAwADAAAAAACtAA8AAwADAAAAAACtABAAAwADAAAAAACtABEAAwADAAAAAACtABIAAwADAAAAAACtABMAAwADAAAAAACtABQAAwADAAAAAACtABUAAwADAAAAAACtABYAAwADAAAAAACtABcAAwADAAAAAACtABgAAwADAAAAAACtABkAAwADAAAAAACtABoAAwADAAAAAACtABsAAwADAAAAAACtABwAAwADAAAAAACtAB0AAwADAAAAAACuAAAAAwADAAAAAACuAAEAAwADAAAAAACuAAIAAwADAAAAAACuAAMAAwADAAAAAACuAAQAAwADAAAAAACuAAUAAwADAAAAAACuAAYAAwADAAAAAACuAAcAAwADAAAAAACuAAgAAwADAAAAAACuAAkAAwADAAAAAACuAAoAAwADAAAAAACuAAsAAwADAAAAAACuAAwAAwADAAAAAACuAA0AAwADAAAAAACuAA4AAwADAAAAAACuAA8AAwADAAAAAACuABAAAwADAAAAAACuABEAAwADAAAAAACuABIAAwADAAAAAACuABMAAwADAAAAAACuABQAAwADAAAAAACuABUAAwADAAAAAACuABYAAwADAAAAAACuABcAAwADAAAAAACuABgAAwADAAAAAACuABkAAwADAAAAAACuABoAAwADAAAAAACuABsAAwADAAAAAACuABwAAwADAAAAAACuAB0AAwADAAAAAACvAAAAAwADAAAAAACvAAEAAwADAAAAAACvAAIAAwADAAAAAACvAAMAAwADAAAAAACvAAQAAwADAAAAAACvAAUAAwADAAAAAACvAAYAAwADAAAAAACvAAcAAwADAAAAAACvAAgAAwADAAAAAACvAAkAAwADAAAAAACvAAoAAwADAAAAAACvAAsAAwADAAAAAACvAAwAAwADAAAAAACvAA0AAwADAAAAAACvAA4AAwADAAAAAACvAA8AAwADAAAAAACvABAAAwADAAAAAACvABEAAwADAAAAAACvABIAAwADAAAAAACvABMAAwADAAAAAACvABQAAwADAAAAAACvABUAAwADAAAAAACvABYAAwADAAAAAACvABcAAwADAAAAAACvABgAAwADAAAAAACvABkAAwADAAAAAACvABoAAwADAAAAAACvABsAAwADAAAAAACvABwAAwADAAAAAACvAB0AAwADAAAAAACwAAAAAwADAAAAAACwAAEAAwADAAAAAACwAAIAAwADAAAAAACwAAMAAwADAAAAAACwAAQAAwADAAAAAACwAAUAAwADAAAAAACwAAYAAwADAAAAAACwAAcAAwADAAAAAACwAAgAAwADAAAAAACwAAkAAwADAAAAAACwAAoAAwADAAAAAACwAAsAAwADAAAAAACwAAwAAwADAAAAAACwAA0AAwADAAAAAACwAA4AAwADAAAAAACwAA8AAwADAAAAAACwABAAAwADAAAAAACwABEAAwADAAAAAACwABIAAwADAAAAAACwABMAAwADAAAAAACwABQAAwADAAAAAACwABUAAwADAAAAAACwABYAAwADAAAAAACwABcAAwADAAAAAACwABgAAwADAAAAAACwABkAAwADAAAAAACwABoAAwADAAAAAACwABsAAwADAAAAAACwABwAAwADAAAAAACwAB0AAwADAAAAAACxAAAAAwADAAAAAACxAAEAAwADAAAAAACxAAIAAwADAAAAAACxAAMAAwADAAAAAACxAAQAAwADAAAAAACxAAUAAwADAAAAAACxAAYAAwADAAAAAACxAAcAAwADAAAAAACxAAgAAwADAAAAAACxAAkAAwADAAAAAACxAAoAAwADAAAAAACxAAsAAwADAAAAAACxAAwAAwADAAAAAACxAA0AAwADAAAAAACxAA4AAwADAAAAAACxAA8AAwADAAAAAACxABAAAwADAAAAAACxABEAAwADAAAAAACxABIAAwADAAAAAACxABMAAwADAAAAAACxABQAAwADAAAAAACxABUAAwADAAAAAACxABYAAwADAAAAAACxABcAAwADAAAAAACxABgAAwADAAAAAACxABkAAwADAAAAAACxABoAAwADAAAAAACxABsAAwADAAAAAACxABwAAwADAAAAAACxAB0AAwADAAAAAACyAAAAAwADAAAAAACyAAEAAwADAAAAAACyAAIAAwADAAAAAACyAAMAAwADAAAAAACyAAQAAwADAAAAAACyAAUAAwADAAAAAACyAAYAAwADAAAAAACyAAcAAwADAAAAAACyAAgAAwADAAAAAACyAAkAAwADAAAAAACyAAoAAwADAAAAAACyAAsAAwADAAAAAACyAAwAAwADAAAAAACyAA0AAwADAAAAAACyAA4AAwADAAAAAACyAA8AAwADAAAAAACyABAAAwADAAAAAACyABEAAwADAAAAAACyABIAAwADAAAAAACyABMAAwADAAAAAACyABQAAwADAAAAAACyABUAAwADAAAAAACyABYAAwADAAAAAACyABcAAwADAAAAAACyABgAAwADAAAAAACyABkAAwADAAAAAACyABoAAwADAAAAAACyABsAAwADAAAAAACyABwAAwADAAAAAACyAB0AAwADAAAAAACzAAAAAwADAAAAAACzAAEAAwADAAAAAACzAAIAAwADAAAAAACzAAMAAwADAAAAAACzAAQAAwADAAAAAACzAAUAAwADAAAAAACzAAYAAwADAAAAAACzAAcAAwADAAAAAACzAAgAAwADAAAAAACzAAkAAwADAAAAAACzAAoAAwADAAAAAACzAAsAAwADAAAAAACzAAwAAwADAAAAAACzAA0AAwADAAAAAACzAA4AAwADAAAAAACzAA8AAwADAAAAAACzABAAAwADAAAAAACzABEAAwADAAAAAACzABIAAwADAAAAAACzABMAAwADAAAAAACzABQAAwADAAAAAACzABUAAwADAAAAAACzABYAAwADAAAAAACzABcAAwADAAAAAACzABgAAwADAAAAAACzABkAAwADAAAAAACzABoAAwADAAAAAACzABsAAwADAAAAAACzABwAAwADAAAAAACzAB0AAwADAAAAAAC0AAAAAwADAAAAAAC0AAEAAwADAAAAAAC0AAIAAwADAAAAAAC0AAMAAwADAAAAAAC0AAQAAwADAAAAAAC0AAUAAwADAAAAAAC0AAYAAwADAAAAAAC0AAcAAwADAAAAAAC0AAgAAwADAAAAAAC0AAkAAwADAAAAAAC0AAoAAwADAAAAAAC0AAsAAwADAAAAAAC0AAwAAwADAAAAAAC0AA0AAwADAAAAAAC0AA4AAwADAAAAAAC0AA8AAwADAAAAAAC0ABAAAwADAAAAAAC0ABEAAwADAAAAAAC0ABIAAwADAAAAAAC0ABMAAwADAAAAAAC0ABQAAwADAAAAAAC0ABUAAwADAAAAAAC0ABYAAwADAAAAAAC0ABcAAwADAAAAAAC0ABgAAwADAAAAAAC0ABkAAwADAAAAAAC0ABoAAwADAAAAAAC0ABsAAwADAAAAAAC0ABwAAwADAAAAAAC0AB0AAwADAAAAAAC1AAAAAwADAAAAAAC1AAEAAwADAAAAAAC1AAIAAwADAAAAAAC1AAMAAwADAAAAAAC1AAQAAwADAAAAAAC1AAUAAwADAAAAAAC1AAYAAwADAAAAAAC1AAcAAwADAAAAAAC1AAgAAwADAAAAAAC1AAkAAwADAAAAAAC1AAoAAwADAAAAAAC1AAsAAwADAAAAAAC1AAwAAwADAAAAAAC1AA0AAwADAAAAAAC1AA4AAwADAAAAAAC1AA8AAwADAAAAAAC1ABAAAwADAAAAAAC1ABEAAwADAAAAAAC1ABIAAwADAAAAAAC1ABMAAwADAAAAAAC1ABQAAwADAAAAAAC1ABUAAwADAAAAAAC1ABYAAwADAAAAAAC1ABcAAwADAAAAAAC1ABgAAwADAAAAAAC1ABkAAwADAAAAAAC1ABoAAwADAAAAAAC1ABsAAwADAAAAAAC1ABwAAwADAAAAAAC1AB0AAwADAAAAAAC2AAAAAwADAAAAAAC2AAEAAwADAAAAAAC2AAIAAwADAAAAAAC2AAMAAwADAAAAAAC2AAQAAwADAAAAAAC2AAUAAwADAAAAAAC2AAYAAwADAAAAAAC2AAcAAwADAAAAAAC2AAgAAwADAAAAAAC2AAkAAwADAAAAAAC2AAoAAwADAAAAAAC2AAsAAwADAAAAAAC2AAwAAwADAAAAAAC2AA0AAwADAAAAAAC2AA4AAwADAAAAAAC2AA8AAwADAAAAAAC2ABAAAwADAAAAAAC2ABEAAwADAAAAAAC2ABIAAwADAAAAAAC2ABMAAwADAAAAAAC2ABQAAwADAAAAAAC2ABUAAwADAAAAAAC2ABYAAwADAAAAAAC2ABcAAwADAAAAAAC2ABgAAwADAAAAAAC2ABkAAwADAAAAAAC2ABoAAwADAAAAAAC2ABsAAwADAAAAAAC2ABwAAwADAAAAAAC2AB0AAwADAAAAAAC3AAAAAwADAAAAAAC3AAEAAwADAAAAAAC3AAIAAwADAAAAAAC3AAMAAwADAAAAAAC3AAQAAwADAAAAAAC3AAUAAwADAAAAAAC3AAYAAwADAAAAAAC3AAcAAwADAAAAAAC3AAgAAwADAAAAAAC3AAkAAwADAAAAAAC3AAoAAwADAAAAAAC3AAsAAwADAAAAAAC3AAwAAwADAAAAAAC3AA0AAwADAAAAAAC3AA4AAwADAAAAAAC3AA8AAwADAAAAAAC3ABAAAwADAAAAAAC3ABEAAwADAAAAAAC3ABIAAwADAAAAAAC3ABMAAwADAAAAAAC3ABQAAwADAAAAAAC3ABUAAwADAAAAAAC3ABYAAwADAAAAAAC3ABcAAwADAAAAAAC3ABgAAwADAAAAAAC3ABkAAwADAAAAAAC3ABoAAwADAAAAAAC3ABsAAwADAAAAAAC3ABwAAwADAAAAAAC3AB0AAwADAAAAAAC4AAAAAwADAAAAAAC4AAEAAwADAAAAAAC4AAIAAwADAAAAAAC4AAMAAwADAAAAAAC4AAQAAwADAAAAAAC4AAUAAwADAAAAAAC4AAYAAwADAAAAAAC4AAcAAwADAAAAAAC4AAgAAwADAAAAAAC4AAkAAwADAAAAAAC4AAoAAwADAAAAAAC4AAsAAwADAAAAAAC4AAwAAwADAAAAAAC4AA0AAwADAAAAAAC4AA4AAwADAAAAAAC4AA8AAwADAAAAAAC4ABAAAwADAAAAAAC4ABEAAwADAAAAAAC4ABIAAwADAAAAAAC4ABMAAwADAAAAAAC4ABQAAwADAAAAAAC4ABUAAwADAAAAAAC4ABYAAwADAAAAAAC4ABcAAwADAAAAAAC4ABgAAwADAAAAAAC4ABkAAwADAAAAAAC4ABoAAwADAAAAAAC4ABsAAwADAAAAAAC4ABwAAwADAAAAAAC4AB0AAwADAAAAAAC5AAAAAwADAAAAAAC5AAEAAwADAAAAAAC5AAIAAwADAAAAAAC5AAMAAwADAAAAAAC5AAQAAwADAAAAAAC5AAUAAwADAAAAAAC5AAYAAwADAAAAAAC5AAcAAwADAAAAAAC5AAgAAwADAAAAAAC5AAkAAwADAAAAAAC5AAoAAwADAAAAAAC5AAsAAwADAAAAAAC5AAwAAwADAAAAAAC5AA0AAwADAAAAAAC5AA4AAwADAAAAAAC5AA8AAwADAAAAAAC5ABAAAwADAAAAAAC5ABEAAwADAAAAAAC5ABIAAwADAAAAAAC5ABMAAwADAAAAAAC5ABQAAwADAAAAAAC5ABUAAwADAAAAAAC5ABYAAwADAAAAAAC5ABcAAwADAAAAAAC5ABgAAwADAAAAAAC5ABkAAwADAAAAAAC5ABoAAwADAAAAAAC5ABsAAwADAAAAAAC5ABwAAwADAAAAAAC5AB0AAwADAAAAAAC6AAAAAwADAAAAAAC6AAEAAwADAAAAAAC6AAIAAwADAAAAAAC6AAMAAwADAAAAAAC6AAQAAwADAAAAAAC6AAUAAwADAAAAAAC6AAYAAwADAAAAAAC6AAcAAwADAAAAAAC6AAgAAwADAAAAAAC6AAkAAwADAAAAAAC6AAoAAwADAAAAAAC6AAsAAwADAAAAAAC6AAwAAwADAAAAAAC6AA0AAwADAAAAAAC6AA4AAwADAAAAAAC6AA8AAwADAAAAAAC6ABAAAwADAAAAAAC6ABEAAwADAAAAAAC6ABIAAwADAAAAAAC6ABMAAwADAAAAAAC6ABQAAwADAAAAAAC6ABUAAwADAAAAAAC6ABYAAwADAAAAAAC6ABcAAwADAAAAAAC6ABgAAwADAAAAAAC6ABkAAwADAAAAAAC6ABoAAwADAAAAAAC6ABsAAwADAAAAAAC6ABwAAwADAAAAAAC6AB0AAwADAAAAAAC7AAAAAwADAAAAAAC7AAEAAwADAAAAAAC7AAIAAwADAAAAAAC7AAMAAwADAAAAAAC7AAQAAwADAAAAAAC7AAUAAwADAAAAAAC7AAYAAwADAAAAAAC7AAcAAwADAAAAAAC7AAgAAwADAAAAAAC7AAkAAwADAAAAAAC7AAoAAwADAAAAAAC7AAsAAwADAAAAAAC7AAwAAwADAAAAAAC7AA0AAwADAAAAAAC7AA4AAwADAAAAAAC7AA8AAwADAAAAAAC7ABAAAwADAAAAAAC7ABEAAwADAAAAAAC7ABIAAwADAAAAAAC7ABMAAwADAAAAAAC7ABQAAwADAAAAAAC7ABUAAwADAAAAAAC7ABYAAwADAAAAAAC7ABcAAwADAAAAAAC7ABgAAwADAAAAAAC7ABkAAwADAAAAAAC7ABoAAwADAAAAAAC7ABsAAwADAAAAAAC7ABwAAwADAAAAAAC7AB0AAwADAAAAAAC8AAAAAwADAAAAAAC8AAEAAwADAAAAAAC8AAIAAwADAAAAAAC8AAMAAwADAAAAAAC8AAQAAwADAAAAAAC8AAUAAwADAAAAAAC8AAYAAwADAAAAAAC8AAcAAwADAAAAAAC8AAgAAwADAAAAAAC8AAkAAwADAAAAAAC8AAoAAwADAAAAAAC8AAsAAwADAAAAAAC8AAwAAwADAAAAAAC8AA0AAwADAAAAAAC8AA4AAwADAAAAAAC8AA8AAwADAAAAAAC8ABAAAwADAAAAAAC8ABEAAwADAAAAAAC8ABIAAwADAAAAAAC8ABMAAwADAAAAAAC8ABQAAwADAAAAAAC8ABUAAwADAAAAAAC8ABYAAwADAAAAAAC8ABcAAwADAAAAAAC8ABgAAwADAAAAAAC8ABkAAwADAAAAAAC8ABoAAwADAAAAAAC8ABsAAwADAAAAAAC8ABwAAwADAAAAAAC8AB0AAwADAAAAAAC9AAAAAwADAAAAAAC9AAEAAwADAAAAAAC9AAIAAwADAAAAAAC9AAMAAwADAAAAAAC9AAQAAwADAAAAAAC9AAUAAwADAAAAAAC9AAYAAwADAAAAAAC9AAcAAwADAAAAAAC9AAgAAwADAAAAAAC9AAkAAwADAAAAAAC9AAoAAwADAAAAAAC9AAsAAwADAAAAAAC9AAwAAwADAAAAAAC9AA0AAwADAAAAAAC9AA4AAwADAAAAAAC9AA8AAwADAAAAAAC9ABAAAwADAAAAAAC9ABEAAwADAAAAAAC9ABIAAwADAAAAAAC9ABMAAwADAAAAAAC9ABQAAwADAAAAAAC9ABUAAwADAAAAAAC9ABYAAwADAAAAAAC9ABcAAwADAAAAAAC9ABgAAwADAAAAAAC9ABkAAwADAAAAAAC9ABoAAwADAAAAAAC9ABsAAwADAAAAAAC9ABwAAwADAAAAAAC9AB0AAwADAAAAAAC+AAAAAwADAAAAAAC+AAEAAwADAAAAAAC+AAIAAwADAAAAAAC+AAMAAwADAAAAAAC+AAQAAwADAAAAAAC+AAUAAwADAAAAAAC+AAYAAwADAAAAAAC+AAcAAwADAAAAAAC+AAgAAwADAAAAAAC+AAkAAwADAAAAAAC+AAoAAwADAAAAAAC+AAsAAwADAAAAAAC+AAwAAwADAAAAAAC+AA0AAwADAAAAAAC+AA4AAwADAAAAAAC+AA8AAwADAAAAAAC+ABAAAwADAAAAAAC+ABEAAwADAAAAAAC+ABIAAwADAAAAAAC+ABMAAwADAAAAAAC+ABQAAwADAAAAAAC+ABUAAwADAAAAAAC+ABYAAwADAAAAAAC+ABcAAwADAAAAAAC+ABgAAwADAAAAAAC+ABkAAwADAAAAAAC+ABoAAwADAAAAAAC+ABsAAwADAAAAAAC+ABwAAwADAAAAAAC+AB0AAwADAAAAAAC/AAAAAwADAAAAAAC/AAEAAwADAAAAAAC/AAIAAwADAAAAAAC/AAMAAwADAAAAAAC/AAQAAwADAAAAAAC/AAUAAwADAAAAAAC/AAYAAwADAAAAAAC/AAcAAwADAAAAAAC/AAgAAwADAAAAAAC/AAkAAwADAAAAAAC/AAoAAwADAAAAAAC/AAsAAwADAAAAAAC/AAwAAwADAAAAAAC/AA0AAwADAAAAAAC/AA4AAwADAAAAAAC/AA8AAwADAAAAAAC/ABAAAwADAAAAAAC/ABEAAwADAAAAAAC/ABIAAwADAAAAAAC/ABMAAwADAAAAAAC/ABQAAwADAAAAAAC/ABUAAwADAAAAAAC/ABYAAwADAAAAAAC/ABcAAwADAAAAAAC/ABgAAwADAAAAAAC/ABkAAwADAAAAAAC/ABoAAwADAAAAAAC/ABsAAwADAAAAAAC/ABwAAwADAAAAAAC/AB0AAwADAAAAAADAAAAAAwADAAAAAADAAAEAAwADAAAAAADAAAIAAwADAAAAAADAAAMAAwADAAAAAADAAAQAAwADAAAAAADAAAUAAwADAAAAAADAAAYAAwADAAAAAADAAAcAAwADAAAAAADAAAgAAwADAAAAAADAAAkAAwADAAAAAADAAAoAAwADAAAAAADAAAsAAwADAAAAAADAAAwAAwADAAAAAADAAA0AAwADAAAAAADAAA4AAwADAAAAAADAAA8AAwADAAAAAADAABAAAwADAAAAAADAABEAAwADAAAAAADAABIAAwADAAAAAADAABMAAwADAAAAAADAABQAAwADAAAAAADAABUAAwADAAAAAADAABYAAwADAAAAAADAABcAAwADAAAAAADAABgAAwADAAAAAADAABkAAwADAAAAAADAABoAAwADAAAAAADAABsAAwADAAAAAADAABwAAwADAAAAAADAAB0AAwADAAAAAAA=") +tile_set = ExtResource("2_q0kvn") + +[node name="z-index -4" parent="Layers" index="5"] +tile_set = ExtResource("2_q0kvn") + +[node name="z-index 0 (walls)" parent="Layers" index="6"] +tile_map_data = PackedByteArray("AAAWAAIAAAAAAAUAAAAXAAIAAAABAAUAAAAYAAIAAAABAAUAAAAZAAIAAAABAAUAAAAcAAIAAAABAAUAAAAdAAIAAAABAAUAAAAeAAIAAAABAAUAAAAfAAIAAAACAAUAAAARAP7/AAAAAAUAAAASAP7/AAABAAUAAAATAP7/AAABAAUAAAAUAP7/AAABAAUAAAAVAP7/AAABAAUAAAAWAP7/AAABAAUAAAAXAP7/AAABAAUAAAAYAP7/AAABAAUAAAAZAP7/AAABAAUAAAAcAP7/AAABAAUAAAAdAP7/AAABAAUAAAAeAP7/AAACAAUAAAA=") +tile_set = ExtResource("2_q0kvn") + +[node name="CanvasModulate" parent="." index="1"] position = Vector2(0, 1) [node name="StaticBody2D" type="StaticBody2D" parent="Props" index="0"] @@ -854,7 +448,7 @@ Sprite = NodePath("Sprites/Sprite") Inventory = NodePath("Inventory") StateMachine = NodePath("StateMachine") -[node name="Areas" parent="." index="10"] +[node name="Areas" parent="." index="4"] visible = false [node name="Main" type="NavigationRegion2D" parent="Areas" index="0"] diff --git a/Scenes/Maps/ForestTileset.tres b/Scenes/Maps/ForestTileset.tres new file mode 100644 index 0000000..d16d444 --- /dev/null +++ b/Scenes/Maps/ForestTileset.tres @@ -0,0 +1,211 @@ +[gd_resource type="TileSet" load_steps=7 format=3 uid="uid://dkis3rb4n62cu"] + +[ext_resource type="Texture2D" uid="uid://c70cn53osy56w" path="res://Assets/Sprites/dev-tileset.png" id="1_nk7yv"] +[ext_resource type="Texture2D" uid="uid://lnyd6osxcu0g" path="res://Assets/Sprites/Props/tree-autumn-cluster-tiles.png" id="2_j2hod"] +[ext_resource type="Texture2D" uid="uid://ccqfwgjkerta5" path="res://Assets/Sprites/grass-tileset-dark.png" id="3_dmva5"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_s1h2f"] +texture = ExtResource("1_nk7yv") +0:0/0 = 0 +1:0/0 = 0 +2:0/0 = 0 +3:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +3:1/0 = 0 +0:2/0 = 0 +1:2/0 = 0 +2:2/0 = 0 +3:2/0 = 0 +0:3/0 = 0 +0:3/0/y_sort_origin = 8 +1:3/0 = 0 +1:3/0/y_sort_origin = 8 +2:3/0 = 0 +2:3/0/y_sort_origin = 8 +0:4/0 = 0 +0:4/0/y_sort_origin = 8 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(4, -8, 8, -8, 8, 8, 4, 8) +1:4/0 = 0 +1:4/0/y_sort_origin = 8 +1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:4/0 = 0 +2:4/0/y_sort_origin = 8 +2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -4, -8, -4, 8, -8, 8) +0:5/0 = 0 +0:5/0/y_sort_origin = 8 +0:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(3.5, -8, 8, -8, 8, -4, 4, -4) +1:5/0 = 0 +1:5/0/y_sort_origin = 8 +1:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, -4, -8, -4) +2:5/0 = 0 +2:5/0/y_sort_origin = 8 +2:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -4, -8, -4, -4, -8, -4) +3:5/0 = 0 +3:5/0/y_sort_origin = 8 +4:5/0 = 0 +4:5/0/y_sort_origin = 8 +5:5/0 = 0 +5:5/0/y_sort_origin = 8 +4:4/0 = 0 +4:4/0/y_sort_origin = 8 +4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(4, -8, 4, 8, 8, 8, 8, -8) +3:4/0 = 0 +3:4/0/y_sort_origin = 8 +3:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -4, -8, -4, 8, -8, 8) +4:3/0 = 0 +4:3/0/y_sort_origin = 8 +3:3/0 = 0 +3:3/0/y_sort_origin = 8 +5:2/0 = 0 +5:2/0/y_sort_origin = 8 +4:1/0 = 0 +4:1/0/y_sort_origin = 8 +4:0/0 = 0 +4:0/0/y_sort_origin = 8 +5:0/0 = 0 +5:0/0/y_sort_origin = 8 +5:1/0 = 0 +5:1/0/y_sort_origin = 8 +4:2/0 = 0 +4:2/0/y_sort_origin = 8 +5:4/0 = 0 +5:4/0/y_sort_origin = 8 +5:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(4, -8, 8, -8, 8, 8, 4, 8) +5:3/0 = 0 +5:3/0/y_sort_origin = 8 +5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -4, -8, -4, 8, -8, 8) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_tw0o1"] +texture = ExtResource("2_j2hod") +0:0/0 = 0 +0:0/0/y_sort_origin = 8 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +1:0/0 = 0 +1:0/0/y_sort_origin = 8 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:0/0 = 0 +2:0/0/y_sort_origin = 8 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +3:0/0 = 0 +3:0/0/y_sort_origin = 8 +3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +0:1/0 = 0 +0:1/0/y_sort_origin = 8 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +1:1/0 = 0 +1:1/0/y_sort_origin = 8 +1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:1/0 = 0 +2:1/0/y_sort_origin = 8 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +3:1/0 = 0 +3:1/0/y_sort_origin = 8 +3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +0:2/0 = 0 +0:2/0/y_sort_origin = 8 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +1:2/0 = 0 +1:2/0/y_sort_origin = 8 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:2/0 = 0 +2:2/0/y_sort_origin = 8 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +3:2/0 = 0 +3:2/0/y_sort_origin = 8 +3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +0:3/size_in_atlas = Vector2i(1, 2) +0:3/0 = 0 +0:3/0/texture_origin = Vector2i(0, 8) +0:3/0/y_sort_origin = 8 +0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -24, 8, -24, 8, 8, -8, 8) +1:3/size_in_atlas = Vector2i(1, 2) +1:3/0 = 0 +1:3/0/texture_origin = Vector2i(0, 8) +1:3/0/y_sort_origin = 8 +1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -24, 8, -24, 8, 8, -8, 8) +2:3/size_in_atlas = Vector2i(1, 2) +2:3/0 = 0 +2:3/0/texture_origin = Vector2i(0, 8) +2:3/0/y_sort_origin = 8 +2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -24, 8, -24, 8, 8, -8, 8) +3:3/size_in_atlas = Vector2i(1, 2) +3:3/0 = 0 +3:3/0/texture_origin = Vector2i(0, 8) +3:3/0/y_sort_origin = 8 +3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -24, 8, -24, 8, 8, -8, 8) +4:0/0 = 0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:0/0 = 0 +5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:1/0 = 0 +5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +4:1/0 = 0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +4:2/0 = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:2/0 = 0 +5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:3/0 = 0 +5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +4:3/0 = 0 +4:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_w8vpx"] +texture = ExtResource("3_dmva5") +0:0/0 = 0 +1:0/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +3:2/0 = 0 +4:2/0 = 0 +4:3/0 = 0 +5:3/0 = 0 +0:1/0 = 0 +0:2/0 = 0 +0:3/0 = 0 +0:4/0 = 0 +0:5/0 = 0 +1:5/0 = 0 +1:6/0 = 0 +2:6/0 = 0 +0:6/0 = 0 +0:7/0 = 0 +1:7/0 = 0 +2:7/0 = 0 +2:5/0 = 0 +1:2/0 = 0 +1:3/0 = 0 +2:3/0 = 0 +3:3/0 = 0 +1:4/0 = 0 +6:3/0 = 0 +2:4/0 = 0 +3:4/0 = 0 +4:4/0 = 0 +2:2/0 = 0 +5:4/0 = 0 +6:4/0 = 0 +7:4/0 = 0 +7:3/0 = 0 +2:0/0 = 0 +3:0/0 = 0 +4:0/0 = 0 +5:0/0 = 0 +6:0/0 = 0 +7:0/0 = 0 +7:1/0 = 0 +6:2/0 = 0 +5:2/0 = 0 +4:1/0 = 0 +3:1/0 = 0 +6:1/0 = 0 +7:2/0 = 0 +5:1/0 = 0 + +[resource] +physics_layer_0/collision_layer = 1 +sources/0 = SubResource("TileSetAtlasSource_s1h2f") +sources/3 = SubResource("TileSetAtlasSource_w8vpx") +sources/1 = SubResource("TileSetAtlasSource_tw0o1") diff --git a/Scenes/Maps/Hills.tscn b/Scenes/Maps/Hills.tscn deleted file mode 100644 index 0b55527..0000000 --- a/Scenes/Maps/Hills.tscn +++ /dev/null @@ -1,258 +0,0 @@ -[gd_scene load_steps=12 format=3 uid="uid://bxtpv6jqodj4v"] - -[ext_resource type="PackedScene" uid="uid://clwv2owvk6abe" path="res://Scenes/BaseMap.tscn" id="1_vly6f"] -[ext_resource type="Texture2D" uid="uid://dl2h266oa2x31" path="res://Assets/Sprites/night-grass.png" id="2_ote21"] -[ext_resource type="PackedScene" uid="uid://5nvn1tw56m8e" path="res://Utils/Spawner.tscn" id="4_pi4df"] -[ext_resource type="PackedScene" uid="uid://cdj50hb84aujp" path="res://Characters/DocLegionary.tscn" id="5_7upx6"] -[ext_resource type="PackedScene" uid="uid://dhl071rj5wyvx" path="res://Entities/Campfire.tscn" id="6_r6kxn"] - -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_dvbe3"] -texture = ExtResource("2_ote21") -0:0/0 = 0 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 -0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_1/angular_velocity = 0.0 -1:0/0 = 0 -1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:0/0/physics_layer_0/angular_velocity = 0.0 -1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) -1:0/0/physics_layer_1/angular_velocity = 0.0 -2:0/0 = 0 -2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:0/0/physics_layer_0/angular_velocity = 0.0 -2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) -2:0/0/physics_layer_1/angular_velocity = 0.0 -3:0/0 = 0 -3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:0/0/physics_layer_0/angular_velocity = 0.0 -3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 1, -8, 1, 8, -8, 8) -3:0/0/physics_layer_0/polygon_1/points = PackedVector2Array(8, -8, 8, 2, 1, 2, 1, -8, 8, -8) -3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) -3:0/0/physics_layer_1/angular_velocity = 0.0 -4:0/0 = 0 -4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:0/0/physics_layer_0/angular_velocity = 0.0 -4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 2, -8, 2) -4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) -4:0/0/physics_layer_1/angular_velocity = 0.0 -5:0/0 = 0 -5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:0/0/physics_layer_0/angular_velocity = 0.0 -5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 2, -8, 2) -5:0/0/physics_layer_0/polygon_1/points = PackedVector2Array(-1, 8, -1, 2, 8, 2, 8, 8, -1, 8) -5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) -5:0/0/physics_layer_1/angular_velocity = 0.0 -0:1/0 = 0 -0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:1/0/physics_layer_0/angular_velocity = 0.0 -0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) -0:1/0/physics_layer_1/angular_velocity = 0.0 -1:1/0 = 0 -1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:1/0/physics_layer_0/angular_velocity = 0.0 -1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) -1:1/0/physics_layer_1/angular_velocity = 0.0 -2:1/0 = 0 -2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:1/0/physics_layer_0/angular_velocity = 0.0 -2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) -2:1/0/physics_layer_1/angular_velocity = 0.0 -3:1/0 = 0 -3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:1/0/physics_layer_0/angular_velocity = 0.0 -3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 1, -8, 1, 8, -8, 8) -3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) -3:1/0/physics_layer_1/angular_velocity = 0.0 -4:1/0 = 0 -4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:1/0/physics_layer_0/angular_velocity = 0.0 -4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) -4:1/0/physics_layer_1/angular_velocity = 0.0 -5:1/0 = 0 -5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:1/0/physics_layer_0/angular_velocity = 0.0 -5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, 8, -8, 8, 8, -1, 8) -5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) -5:1/0/physics_layer_1/angular_velocity = 0.0 -0:2/0 = 0 -0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:2/0/physics_layer_0/angular_velocity = 0.0 -0:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) -0:2/0/physics_layer_1/angular_velocity = 0.0 -1:2/0 = 0 -1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:2/0/physics_layer_0/angular_velocity = 0.0 -1:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) -1:2/0/physics_layer_1/angular_velocity = 0.0 -2:2/0 = 0 -2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:2/0/physics_layer_0/angular_velocity = 0.0 -2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) -2:2/0/physics_layer_1/angular_velocity = 0.0 -3:2/0 = 0 -3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:2/0/physics_layer_0/angular_velocity = 0.0 -3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -3, 8, -3, 8, 8, -8, 8) -3:2/0/physics_layer_0/polygon_1/points = PackedVector2Array(-8, -8, -8, -3, 1, -3, 1, -8, -8, -8) -3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) -3:2/0/physics_layer_1/angular_velocity = 0.0 -4:2/0 = 0 -4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:2/0/physics_layer_0/angular_velocity = 0.0 -4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -3, 8, -3, 8, 8, -8, 8) -4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) -4:2/0/physics_layer_1/angular_velocity = 0.0 -5:2/0 = 0 -5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:2/0/physics_layer_0/angular_velocity = 0.0 -5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, 8, -8, 8, 8, -1, 8) -5:2/0/physics_layer_0/polygon_1/points = PackedVector2Array(-8, 8, -8, -3, -1, -3, -1, 8, -8, 8) -5:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) -5:2/0/physics_layer_1/angular_velocity = 0.0 -0:3/0 = 0 -0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:3/0/physics_layer_0/angular_velocity = 0.0 -0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -3, 8, -3, 8, 8, -1, 8) -0:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) -0:3/0/physics_layer_1/angular_velocity = 0.0 -1:3/0 = 0 -1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:3/0/physics_layer_0/angular_velocity = 0.0 -1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -3, 1, -3, 1, 8, -8, 8) -1:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) -1:3/0/physics_layer_1/angular_velocity = 0.0 -2:3/0 = 0 -2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:3/0/physics_layer_0/angular_velocity = 0.0 -2:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) -2:3/0/physics_layer_1/angular_velocity = 0.0 -3:3/0 = 0 -3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:3/0/physics_layer_0/angular_velocity = 0.0 -3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) -3:3/0/physics_layer_1/angular_velocity = 0.0 -4:3/0 = 0 -4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:3/0/physics_layer_0/angular_velocity = 0.0 -4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) -4:3/0/physics_layer_1/angular_velocity = 0.0 -5:3/0 = 0 -5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:3/0/physics_layer_0/angular_velocity = 0.0 -5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) -5:3/0/physics_layer_1/angular_velocity = 0.0 -0:4/0 = 0 -0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:4/0/physics_layer_0/angular_velocity = 0.0 -0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 8, -8, 8, 2, 0, 2) -0:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) -0:4/0/physics_layer_1/angular_velocity = 0.0 -1:4/0 = 0 -1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -1:4/0/physics_layer_0/angular_velocity = 0.0 -1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 1, -8, 1, 2, -8, 2) -1:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) -1:4/0/physics_layer_1/angular_velocity = 0.0 -2:4/0 = 0 -2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -2:4/0/physics_layer_0/angular_velocity = 0.0 -2:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) -2:4/0/physics_layer_1/angular_velocity = 0.0 -3:4/0 = 0 -3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -3:4/0/physics_layer_0/angular_velocity = 0.0 -3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) -3:4/0/physics_layer_1/angular_velocity = 0.0 -4:4/0 = 0 -4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -4:4/0/physics_layer_0/angular_velocity = 0.0 -4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) -4:4/0/physics_layer_1/angular_velocity = 0.0 -5:4/0 = 0 -5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) -5:4/0/physics_layer_0/angular_velocity = 0.0 -5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) -5:4/0/physics_layer_1/angular_velocity = 0.0 -6:3/0 = 0 -6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:3/0/physics_layer_0/angular_velocity = 0.0 -6:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) -6:3/0/physics_layer_1/angular_velocity = 0.0 -7:3/0 = 0 -7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:3/0/physics_layer_0/angular_velocity = 0.0 -7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) -7:3/0/physics_layer_1/angular_velocity = 0.0 -8:3/0 = 0 -8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:3/0/physics_layer_0/angular_velocity = 0.0 -8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) -8:3/0/physics_layer_1/angular_velocity = 0.0 -6:2/0 = 0 -6:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -6:2/0/physics_layer_0/angular_velocity = 0.0 -6:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) -6:2/0/physics_layer_1/angular_velocity = 0.0 -7:2/0 = 0 -7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -7:2/0/physics_layer_0/angular_velocity = 0.0 -7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) -7:2/0/physics_layer_1/angular_velocity = 0.0 -8:2/0 = 0 -8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) -8:2/0/physics_layer_0/angular_velocity = 0.0 -8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) -8:2/0/physics_layer_1/angular_velocity = 0.0 - -[sub_resource type="TileSet" id="TileSet_7f7fo"] -physics_layer_0/collision_layer = 16 -physics_layer_0/collision_mask = 16 -physics_layer_1/collision_layer = 1 -sources/0 = SubResource("TileSetAtlasSource_dvbe3") - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_oods2"] -size = Vector2(128, 64) - -[sub_resource type="Gradient" id="Gradient_rg6hp"] -colors = PackedColorArray(0.941579, 6.06447e-06, 0.603405, 1, 1, 1, 1, 1) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_pdu88"] -gradient = SubResource("Gradient_rg6hp") - -[sub_resource type="Environment" id="Environment_c0b2h"] -background_mode = 3 -glow_enabled = true -glow_intensity = 1.2 -glow_strength = 0.8 -glow_bloom = 0.1 -glow_blend_mode = 0 -adjustment_enabled = true -adjustment_color_correction = SubResource("GradientTexture1D_pdu88") - -[node name="TileMap" instance=ExtResource("1_vly6f")] -tile_set = SubResource("TileSet_7f7fo") -layer_3/tile_data = PackedInt32Array(786426, 262144, 1, 851962, 262144, 1, 917498, 262144, 1, 983034, 262144, 1, 786427, 262144, 1, 851963, 262144, 1, 917499, 262144, 1, 983035, 262144, 1, 786428, 262144, 1, 851964, 262144, 1, 917500, 262144, 1, 983036, 262144, 1, 786429, 262144, 1, 851965, 262144, 1, 917501, 262144, 1, 983037, 262144, 1, 786430, 262144, 1, 851966, 262144, 1, 917502, 262144, 1, 983038, 262144, 1, 786431, 262144, 1, 851967, 262144, 1, 917503, 262144, 1, 983039, 262144, 1, 720896, 262144, 1, 786432, 262144, 1, 851968, 262144, 1, 917504, 262144, 1, 1048573, 262144, 1, 1048574, 262144, 1, 1048575, 262144, 1, 983040, 262144, 1, 1048576, 262144, 1, 1114112, 262144, 1, 1179647, 262144, 1, 1179646, 262144, 1, 1179645, 262144, 1, 1114109, 262144, 1, 1114110, 262144, 1, 1114111, 262144, 1, 1245183, 262144, 1, 1310719, 262144, 1, 1376255, 262144, 1, 1310720, 131072, 3, 1376256, 262144, 1, 1441791, 262144, 1, 1245184, 131072, 3, 1179648, 131072, 3, 1179649, 131072, 3, 1179650, 131072, 3, 1179651, 131072, 3, 1114115, 262144, 1, 1114114, 262144, 1, 1114113, 262144, 1, 1114116, 262144, 1, 1114117, 262144, 1, 1114118, 262144, 1, 1114119, 262144, 1, 1114120, 262144, 1, 1114121, 262144, 1, 1114122, 262144, 1, 1114123, 262144, 1, 1179659, 262144, 1, 1245195, 262144, 1, 1310731, 262144, 1, 1376266, 262144, 1, 1376265, 262144, 1, 1376264, 262144, 1, 1376263, 262144, 1, 1376262, 262144, 1, 1376261, 262144, 1, 1376260, 262144, 1, 1376259, 131072, 3, 1376258, 131072, 3, 1376257, 262144, 1, 1310721, 131072, 3, 1245185, 131072, 4, 1245186, 131072, 4, 1310722, 131072, 3, 1245187, 131072, 3, 1179652, 262144, 1, 1179653, 262144, 1, 1179654, 262144, 1, 1179655, 262144, 1, 1179656, 262144, 1, 1179657, 262144, 1, 1179658, 262144, 1, 1376267, 262144, 1, 1310728, 262144, 1, 1310727, 262144, 1, 1310726, 262144, 1, 1310725, 131072, 3, 1310724, 131072, 3, 1310723, 131072, 3, 1245188, 131072, 3, 1245189, 131072, 3, 1245190, 262144, 1, 1245191, 262144, 1, 1245192, 262144, 1, 1245193, 262144, 1, 1245194, 262144, 1, 1310730, 262144, 1, 1310729, 262144, 1, 524285, 262144, 1, 589821, 262144, 1, 655357, 262144, 1, 720893, 262144, 1, 720894, 262144, 1, 655358, 131072, 3, 589822, 262144, 1, 524286, 262144, 1, 524287, 262144, 1, 458752, 262144, 1, 458753, 262144, 1, 458754, 262144, 1, 458755, 262144, 1, 458756, 262144, 1, 458757, 262144, 1, 458758, 262144, 1, 458759, 262144, 1, 458760, 262144, 1, 458764, 262144, 1, 524300, 262144, 1, 589836, 262144, 1, 655372, 262144, 1, 720908, 262144, 1, 786444, 131072, 3, 851980, 131072, 4, 851981, 131072, 4, 851982, 262144, 1, 786446, 262144, 1, 720910, 262144, 1, 720909, 262144, 1, 786445, 262144, 1, 851979, 131072, 4, 851978, 262144, 1, 851977, 262144, 1, 851976, 262144, 1, 851975, 262144, 1, 786439, 262144, 1, 786440, 262144, 1, 786441, 262144, 1, 786442, 131072, 3, 786443, 131072, 3, 720907, 262144, 1, 655371, 262144, 1, 589834, 131072, 3, 524298, 262144, 1, 524297, 131072, 3, 524294, 262144, 1, 524293, 262144, 1, 524292, 262144, 1, 524291, 262144, 1, 524290, 262144, 1, 524289, 131072, 3, 524288, 131072, 3, 589824, 131072, 3, 655359, 131072, 4, 720895, 131072, 3, 589823, 131072, 3, 655360, 131072, 3, 655361, 131072, 3, 655362, 131072, 3, 655363, 262144, 1, 655364, 262144, 1, 655366, 262144, 1, 655367, 131072, 3, 655368, 131072, 3, 655369, 131072, 3, 655370, 131072, 3, 720906, 262144, 1, 720905, 262144, 1, 720904, 262144, 1, 720903, 262144, 1, 720902, 262144, 1, 720901, 262144, 1, 720900, 262144, 1, 589828, 262144, 1, 589827, 262144, 1, 589826, 262144, 1, 589825, 131072, 3, 589829, 262144, 1, 589832, 131072, 4, 589833, 131072, 4, 589835, 131072, 3, 524299, 262144, 1, 393220, 262144, 1, 393221, 262144, 1, 393222, 262144, 1, 393223, 262144, 1, 393224, 262144, 1, 393225, 262144, 1, 393226, 262144, 1, 393227, 262144, 1, 393229, 262144, 1, 393230, 262144, 1, 327694, 262144, 1, 327692, 262144, 1, 327691, 262144, 1, 262155, 262144, 1, 262156, 262144, 1, 196621, 131072, 4, 196622, 262144, 1, 262157, 262144, 1, -131063, 262144, 1, -65527, 262144, 1, -65526, 262144, 1, 9, 262144, 1, -131062, 262144, 1, -131061, 262144, 1, -65525, 262144, 1, 10, 262144, 1, 11, 131072, 3, 65547, 262144, 1, 131083, 262144, 1, 196619, 262144, 1, 196620, 262144, 1, 131084, 131072, 3, 131085, 131072, 4, 65549, 131072, 4, 13, 131072, 3, 12, 131072, 3, -65524, 131072, 3, -131060, 262144, 1, -131059, 262144, 1, -131058, 262144, 1, -65522, 262144, 1, 14, 262144, 1, 65550, 262144, 1, 131086, 262144, 1, -65523, 262144, 1, 65548, 131072, 3, 8, 262144, 1, 7, 262144, 1, 6, 262144, 1, 5, 262144, 1, 4, 262144, 1, 3, 131072, 3, 2, 131072, 3, 1, 131072, 3, 0, 131072, 3, 65535, 262144, 1, 65534, 262144, 1, 65533, 262144, 1, -3, 262144, 1, -2, 262144, 1, -1, 262144, 1, -65536, 262144, 1, -65535, 262144, 1, -65534, 262144, 1, 65538, 262144, 1, 65537, 131072, 3, 65536, 131072, 3, 131071, 262144, 1, 131070, 262144, 1, 131069, 262144, 1, 720889, 196608, 0, 786425, 196608, 1, 851961, 196608, 1, 917497, 196608, 1, 983033, 196608, 1, 1048569, 196608, 2, 720890, 262144, 0, 1048570, 262144, 2, 720891, 262144, 0, 1048571, 262144, 2, -65540, 196608, 0, -4, 196608, 1, 65532, 196608, 1, 131068, 196608, 1, 196604, 196608, 2, 458748, 196608, 0, 524284, 196608, 1, 589820, 196608, 1, 655356, 196608, 1, 720892, 65536, 4, 1048572, 65536, 3, 1114108, 196608, 1, 1179644, 196608, 1, 1245180, 196608, 2, -65539, 262144, 0, 196605, 262144, 2, 458749, 262144, 0, 1245181, 262144, 2, -65538, 262144, 0, 196606, 262144, 2, 458750, 262144, 0, 1245182, 65536, 3, 1310718, 196608, 1, 1376254, 196608, 1, 1441790, 196608, 1, 1507326, 196608, 2, -65537, 262144, 0, 196607, 262144, 2, 458751, 262144, 0, 1507327, 262144, 2, -131072, 262144, 0, 131072, 262144, 2, 393216, 262144, 0, 1441792, 262144, 2, -131071, 262144, 0, 131073, 262144, 2, 393217, 262144, 0, 720897, 0, 3, 786433, 327680, 1, 851969, 327680, 1, 917505, 327680, 1, 983041, 327680, 1, 1048577, 0, 4, 1441793, 262144, 2, -131070, 262144, 0, 131074, 262144, 2, 393218, 262144, 0, 720898, 262144, 2, 1048578, 262144, 0, 1441794, 262144, 2, -131069, 327680, 0, -65533, 0, 4, 65539, 0, 3, 131075, 327680, 2, 327683, 196608, 0, 393219, 65536, 4, 720899, 65536, 3, 786435, 196608, 2, 1048579, 262144, 0, 1441795, 262144, 2, -65532, 262144, 0, 65540, 262144, 2, 327684, 262144, 0, 786436, 262144, 2, 1048580, 262144, 0, 1441796, 262144, 2, -65531, 262144, 0, 65541, 262144, 2, 327685, 262144, 0, 786437, 262144, 2, 1048581, 262144, 0, 1441797, 262144, 2, -65530, 262144, 0, 65542, 262144, 2, 327686, 262144, 0, 786438, 65536, 3, 851974, 196608, 1, 917510, 196608, 2, 1048582, 262144, 0, 1441798, 262144, 2, -65529, 262144, 0, 65543, 262144, 2, 327687, 262144, 0, 917511, 262144, 2, 1048583, 262144, 0, 1441799, 65536, 3, -196600, 196608, 0, -131064, 196608, 1, -65528, 65536, 4, 65544, 262144, 2, 327688, 262144, 0, 917512, 262144, 2, 1048584, 262144, 0, 1441800, 262144, 1, -196599, 262144, 0, 65545, 262144, 2, 327689, 262144, 0, 917513, 262144, 2, 1048585, 262144, 0, 1441801, 262144, 1, -196598, 262144, 0, 65546, 65536, 3, 131082, 196608, 1, 196618, 196608, 1, 262154, 196608, 1, 327690, 65536, 4, 917514, 262144, 2, 1048586, 262144, 0, 1441802, 262144, 1, -196597, 262144, 0, 917515, 262144, 2, 1048587, 262144, 0, 1441803, 262144, 1, -196596, 262144, 0, 917516, 262144, 2, 1048588, 327680, 0, 1114124, 327680, 1, 1179660, 327680, 1, 1245196, 327680, 1, 1310732, 327680, 1, 1376268, 0, 4, 1441804, 262144, 1, -196595, 262144, 0, 458765, 0, 3, 524301, 327680, 1, 589837, 327680, 1, 655373, 0, 4, 917517, 262144, 2, -196594, 262144, 0, 458766, 262144, 2, 655374, 262144, 0, 917518, 262144, 2, -196593, 327680, 0, -131057, 327680, 1, -65521, 327680, 1, 15, 0, 4, 65551, 262144, 1, 131087, 262144, 1, 196623, 262144, 1, 327695, 262144, 1, 393231, 0, 3, 458767, 327680, 2, 655375, 327680, 0, 720911, 327680, 1, 786447, 327680, 1, 851983, 327680, 1, 917519, 327680, 2, 262159, 262144, 1, 262158, 262144, 1, 327693, 262144, 1, 393228, 262144, 1, 458763, 262144, 1, 458762, 262144, 1, 458761, 262144, 1, 524296, 131072, 3, 524295, 131072, 3, 589831, 131072, 3, 589830, 131072, 3, 655365, 262144, 1, 851989, 262144, 1, 917525, 262144, 1, 983061, 262144, 1, 1048597, 262144, 1, 1114133, 262144, 1, 1179669, 262144, 1, 1245205, 262144, 1, 1310741, 262144, 1, 1376277, 262144, 1, 1441813, 262144, 1, 1507349, 262144, 1, 1572885, 262144, 1, 1638421, 262144, 1, 851990, 262144, 1, 917526, 262144, 1, 983062, 262144, 1, 1048598, 262144, 1, 1114134, 262144, 1, 1179670, 262144, 1, 1245206, 262144, 1, 1310742, 262144, 1, 1376278, 262144, 1, 1441814, 262144, 1, 1507350, 262144, 1, 1572886, 262144, 1, 1638422, 262144, 1, 851991, 262144, 1, 917527, 262144, 1, 983063, 262144, 1, 1048599, 262144, 1, 1114135, 262144, 1, 1179671, 262144, 1, 1245207, 262144, 1, 1310743, 262144, 1, 1376279, 262144, 1, 1441815, 262144, 1, 1507351, 262144, 1, 1572887, 262144, 1, 1638423, 262144, 1, 851992, 262144, 1, 917528, 262144, 1, 983064, 262144, 1, 1048600, 262144, 1, 1114136, 262144, 1, 1179672, 262144, 1, 1245208, 262144, 1, 1310744, 262144, 1, 1376280, 262144, 1, 1441816, 262144, 1, 1507352, 262144, 1, 1572888, 262144, 1, 1638424, 262144, 1, 851993, 262144, 1, 917529, 262144, 1, 983065, 262144, 1, 1048601, 262144, 1, 1114137, 262144, 1, 1179673, 262144, 1, 1245209, 262144, 1, 1310745, 262144, 1, 1376281, 262144, 1, 1441817, 262144, 1, 1507353, 262144, 1, 1572889, 262144, 1, 1638425, 262144, 1, 851994, 262144, 1, 917530, 262144, 1, 983066, 262144, 1, 1048602, 262144, 1, 1114138, 262144, 1, 1179674, 262144, 1, 1245210, 262144, 1, 1310746, 262144, 1, 1376282, 262144, 1, 1441818, 262144, 1, 1507354, 262144, 1, 1572890, 262144, 1, 1638426, 262144, 1, 851995, 262144, 1, 917531, 262144, 1, 983067, 262144, 1, 1048603, 262144, 1, 1114139, 262144, 1, 1179675, 262144, 1, 1245211, 262144, 1, 1310747, 262144, 1, 1376283, 262144, 1, 1441819, 262144, 1, 1507355, 262144, 1, 1572891, 262144, 1, 1638427, 262144, 1, 851996, 262144, 1, 917532, 262144, 1, 983068, 262144, 1, 1048604, 262144, 1, 1114140, 262144, 1, 1179676, 262144, 1, 1245212, 262144, 1, 1310748, 262144, 1, 1376284, 262144, 1, 1441820, 262144, 1, 1507356, 262144, 1, 1572892, 262144, 1, 1638428, 262144, 1, 65555, 262144, 1, 131091, 262144, 1, 196627, 262144, 1, 262163, 262144, 1, 327699, 262144, 1, 65556, 262144, 1, 131092, 262144, 1, 196628, 262144, 1, 262164, 262144, 1, 327700, 262144, 1, 65557, 262144, 1, 131093, 262144, 1, 196629, 262144, 1, 262165, 262144, 1, 327701, 262144, 1, 65558, 262144, 1, 131094, 262144, 1, 196630, 262144, 1, 262166, 262144, 1, 327702, 262144, 1, 65559, 262144, 1, 131095, 262144, 1, 196631, 262144, 1, 262167, 262144, 1, 327703, 262144, 1, 65560, 262144, 1, 131096, 262144, 1, 196632, 262144, 1, 262168, 262144, 1, 327704, 262144, 1, 65561, 262144, 1, 131097, 262144, 1, 196633, 262144, 1, 262169, 262144, 1, 327705, 262144, 1, 393237, 262144, 1, 458773, 262144, 1, 524309, 262144, 1, 589845, 262144, 1, 655381, 262144, 1, 720917, 262144, 1, 786453, 262144, 1, 393238, 262144, 1, 458774, 262144, 1, 524310, 262144, 1, 589846, 262144, 1, 655382, 262144, 1, 720918, 262144, 1, 786454, 262144, 1, 393239, 262144, 1, 458775, 262144, 1, 524311, 262144, 1, 589847, 262144, 1, 655383, 262144, 1, 720919, 262144, 1, 786455, 262144, 1, 393240, 262144, 1, 458776, 262144, 1, 524312, 262144, 1, 589848, 262144, 1, 655384, 262144, 1, 720920, 262144, 1, 786456, 262144, 1, 393241, 262144, 1, 458777, 262144, 1, 524313, 262144, 1, 589849, 262144, 1, 655385, 262144, 1, 720921, 262144, 1, 786457, 262144, 1, 65552, 262144, 1, 131088, 262144, 1, 196624, 262144, 1, 262160, 262144, 1, 327696, 262144, 1, 65553, 262144, 1, 131089, 262144, 1, 196625, 262144, 1, 262161, 262144, 1, 327697, 262144, 1, 65554, 262144, 1, 131090, 262144, 1, 196626, 262144, 1, 262162, 262144, 1, 327698, 262144, 1, 1507336, 262144, 1, 1572872, 262144, 1, 1638408, 262144, 1, 1507337, 262144, 1, 1572873, 262144, 1, 1638409, 262144, 1, 1507338, 262144, 1, 1572874, 262144, 1, 1638410, 262144, 1, 1507339, 262144, 1, 1572875, 262144, 1, 1638411, 262144, 1, 1507340, 262144, 1, 1572876, 262144, 1, 1638412, 262144, 1, 1441805, 262144, 1, 1507341, 262144, 1, 1572877, 262144, 1, 1638413, 262144, 1, 1441806, 262144, 1, 1507342, 262144, 1, 1572878, 262144, 1, 1638414, 262144, 1, 1441807, 262144, 1, 1507343, 262144, 1, 1572879, 262144, 1, 1638415, 262144, 1, 1441808, 262144, 1, 1507344, 262144, 1, 1572880, 262144, 1, 1638416, 262144, 1, 1441809, 262144, 1, 1507345, 262144, 1, 1572881, 262144, 1, 1638417, 262144, 1, 1441810, 262144, 1, 1507346, 262144, 1, 1572882, 262144, 1, 1638418, 262144, 1, 1441811, 262144, 1, 1507347, 262144, 1, 1572883, 262144, 1, 1638419, 262144, 1, 1441812, 262144, 1, 1507348, 262144, 1, 1572884, 262144, 1, 1638420, 262144, 1, 1507335, 196608, 1, 1572871, 196608, 1, 1638407, 196608, 1, 1703944, 262144, 2, 1703945, 262144, 2, 1703946, 65536, 3, 1703947, 262144, 1, 1703948, 262144, 1, 1703949, 262144, 1, 1703950, 262144, 1, 1703951, 262144, 1, 1703952, 262144, 1, 1703953, 262144, 1, 1703954, 262144, 1, 1703955, 262144, 1, 1703956, 262144, 1, 1703957, 262144, 1, 1703958, 262144, 1, 1703959, 262144, 1, 1703960, 262144, 1, 1703961, 262144, 1, 1703962, 0, 3, 1703963, 262144, 2, 1703964, 262144, 2, 1703965, 327680, 2, 1114141, 327680, 1, 1179677, 327680, 1, 1245213, 327680, 1, 1310749, 327680, 1, 1376285, 327680, 1, 1441821, 327680, 1, 1507357, 327680, 1, 1572893, 327680, 1, 1638429, 327680, 1, 851997, 327680, 1, 917533, 327680, 1, 983069, 327680, 1, 1048605, 327680, 1, 65562, 327680, 1, 131098, 327680, 1, 196634, 327680, 1, 262170, 327680, 1, 327706, 327680, 1, 393242, 327680, 1, 458778, 327680, 1, 524314, 327680, 1, 589850, 327680, 1, 655386, 327680, 1, 720922, 327680, 1, 786458, 0, 4, 786459, 262144, 0, 786460, 262144, 0, 786461, 327680, 0, 16, 262144, 0, 17, 262144, 0, 18, 262144, 0, 19, 262144, 0, 20, 262144, 0, 21, 262144, 0, 22, 262144, 0, 23, 262144, 0, 24, 262144, 0, 25, 262144, 0, 26, 327680, 0, 393236, 65536, 3, 393232, 262144, 2, 393233, 262144, 2, 393234, 262144, 2, 393235, 262144, 2, 458772, 196608, 1, 524308, 196608, 1, 589844, 196608, 1, 655380, 196608, 1, 720916, 196608, 1, 786452, 196608, 1, 851988, 196608, 1, 917524, 196608, 1, 983060, 196608, 1, 1048596, 196608, 1, 1114132, 196608, 1, 1179668, 196608, 1, 1245204, 196608, 1, 1310740, 196608, 1, 1376276, 65536, 4, 1376269, 262144, 0, 1376270, 262144, 0, 1376271, 262144, 0, 1376272, 262144, 0, 1376273, 262144, 0, 1376274, 262144, 0, 1376275, 262144, 0, 1769484, 262144, 1, 1769485, 262144, 1, 1769486, 262144, 1, 1769487, 262144, 1, 1769488, 262144, 1, 1769489, 262144, 1, 1769490, 262144, 1, 1769491, 262144, 1, 1769492, 262144, 1, 1769493, 262144, 1, 1769494, 262144, 1, 1835022, 262144, 1, 1835023, 262144, 1, 1835024, 262144, 1, 1835025, 262144, 1, 1769483, 65536, 3, 1835021, 65536, 3, 1835026, 0, 3, 1769495, 0, 3, 1900562, 262144, 1, 1835031, 327680, 2, 1900557, 262144, 1, 1835019, 196608, 2, 1769482, 196608, 2, 1835020, 262144, 2, 1900560, 262144, 1, 1900561, 262144, 1, 1835027, 262144, 2, 1835028, 262144, 2, 1835029, 262144, 2, 1835030, 262144, 2, 1769496, 262144, 2, 1769497, 262144, 2, 1769498, 327680, 2, 1835016, 262144, 0, 1835017, 262144, 0, 1835018, 262144, 0, 1900552, 262144, 1, 1900553, 262144, 1, 1900554, 262144, 1, 1900555, 262144, 1, 1900556, 262144, 1, 1966088, 262144, 1, 1966089, 262144, 1, 1966090, 262144, 1, 1966091, 262144, 1, 1966092, 262144, 1, 1966093, 262144, 1, 1966094, 262144, 1, 1966095, 262144, 1, 1966096, 262144, 1, 1966097, 262144, 1, 1966098, 262144, 1, 1966099, 262144, 1, 1966100, 262144, 1, 1966101, 262144, 1, 1900563, 262144, 1, 1900564, 262144, 1, 1900565, 262144, 1, 1900566, 262144, 1, 1900567, 262144, 1, 1966102, 262144, 1, 1966103, 262144, 1, 1835032, 262144, 1, 1900568, 262144, 1, 1966104, 262144, 1, 2031626, 262144, 1, 2031627, 262144, 1, 2031628, 262144, 1, 2031629, 262144, 1, 2031630, 262144, 1, 2031631, 262144, 1, 2031632, 262144, 1, 2031633, 262144, 1, 2031634, 262144, 1, 2031635, 262144, 1, 2031636, 262144, 1, 2097172, 262144, 1, 2097171, 262144, 1, 2097170, 262144, 1, 2097169, 262144, 1, 2097168, 262144, 1, 2097167, 262144, 1, 2097166, 262144, 1, 2097165, 262144, 1, 2097164, 262144, 1, 2097163, 262144, 1, 2097162, 262144, 1, 2031637, 262144, 1, 2097173, 262144, 1, 2097174, 262144, 1, 2031638, 262144, 1, 2031639, 262144, 1, 2097175, 262144, 1, 2097176, 262144, 1, 2031640, 262144, 1, 2162699, 262144, 1, 2162700, 262144, 1, 2162701, 262144, 1, 2162702, 262144, 1, 2162703, 262144, 1, 2162704, 262144, 1, 2162705, 262144, 1, 2162709, 262144, 1, 2162710, 262144, 1, 2162711, 262144, 1, 2162708, 262144, 1, 2162707, 262144, 1, 2162706, 262144, 1, 2162698, 262144, 1, 2228234, 262144, 1, 2228235, 262144, 1, 2228236, 262144, 1, 2228237, 262144, 1, 2228238, 262144, 1, 2228239, 262144, 1, 2228240, 262144, 1, 2228241, 262144, 1, 2228242, 262144, 1, 2228243, 262144, 1, 2228244, 262144, 1, 2228245, 262144, 1, 2228246, 262144, 1, 2228247, 262144, 1, 2293769, 196608, 2, 2031623, 196608, 2, 2293784, 327680, 2, 2162713, 327680, 2, 1835033, 327680, 1, 1900569, 327680, 1, 1966105, 327680, 1, 2031641, 327680, 1, 2097177, 327680, 1, 2162712, 0, 3, 2031625, 65536, 3, 2031624, 262144, 2, 2097161, 196608, 1, 2162697, 196608, 1, 2228233, 196608, 1, 2293770, 262144, 2, 2293771, 262144, 2, 2293772, 262144, 2, 2293773, 262144, 2, 2293774, 262144, 2, 2293775, 262144, 2, 2293776, 262144, 2, 2293777, 262144, 2, 2293778, 262144, 2, 2293779, 262144, 2, 2293780, 262144, 2, 2293781, 262144, 2, 2293782, 262144, 2, 2293783, 262144, 2, 2228248, 327680, 1, 1966087, 196608, 1, 1900551, 196608, 1, 1835015, 196608, 0, 1703943, 196608, 2, 1900559, 262144, 1, 1900558, 262144, 1) -layer_4/tile_data = PackedInt32Array(1114105, 196608, 3, 1114106, 262144, 3, 1114107, 262144, 3, 1114108, 262144, 3, 1179644, 458752, 2, 1179641, 393216, 2, 1179642, 458752, 2, 1179643, 458752, 2, 1310716, 196608, 3, 1310717, 262144, 3, 1310718, 262144, 3, 1245182, 262144, 3, 1048572, 262144, 3, 1572862, 196608, 3, 1507340, 327680, 3, 1572863, 262144, 3, 1507328, 262144, 3, 1507329, 262144, 3, 1507330, 262144, 3, 1507331, 262144, 3, 1507332, 262144, 3, 1507333, 262144, 3, 1507334, 262144, 3, 1507335, 262144, 3, 1507336, 262144, 3, 1507337, 262144, 3, 1507338, 262144, 3, 1507339, 262144, 3, 1245177, 393216, 3, 1245178, 458752, 3, 1245179, 458752, 3, 1245180, 458752, 3, 1376253, 458752, 2, 1638399, 458752, 2, 1572875, 458752, 2, 1572874, 458752, 2, 1572873, 458752, 2, 1572872, 458752, 2, 1572871, 458752, 2, 1572870, 458752, 2, 1572869, 458752, 2, 1572868, 458752, 2, 1572867, 458752, 2, 1572866, 458752, 2, 1572865, 458752, 2, 1572864, 458752, 2, 1638398, 393216, 2, 1572876, 524288, 2, 1376252, 393216, 2, 1376254, 458752, 2, 1441788, 393216, 3, 1441789, 458752, 3, 1441790, 458752, 3, 1703934, 393216, 3, 1638412, 524288, 3, 1703935, 458752, 3, 1638400, 458752, 3, 1638401, 458752, 3, 1638402, 458752, 3, 1638403, 458752, 3, 1638404, 458752, 3, 1638405, 458752, 3, 1638406, 458752, 3, 1638407, 458752, 3, 1638408, 458752, 3, 1638409, 458752, 3, 1638410, 458752, 3, 1638411, 458752, 3, 983054, 458752, 2, 983053, 458752, 2, 983055, 524288, 2, 983052, 458752, 2, 983051, 458752, 2, 983050, 458752, 2, 983049, 458752, 2, 983048, 458752, 2, 983047, 458752, 2, 983046, 393216, 2, 851971, 393216, 2, 851972, 458752, 2, 851973, 458752, 2, 851974, 458752, 2, 786434, 458752, 2, 786435, 458752, 2, 786433, 458752, 2, 720897, 262144, 3, 720899, 262144, 3, 786438, 262144, 3, 524303, 524288, 2, 524302, 458752, 2, 524301, 458752, 2, 458765, 262144, 3, 196611, 524288, 2, 196610, 458752, 2, 196609, 458752, 2, 196608, 458752, 2, 262143, 458752, 2, 262142, 458752, 2, 262141, 458752, 2, 262140, 393216, 2, 131075, 458752, 2, 131076, 458752, 2, 131077, 458752, 2, 131078, 458752, 2, 131079, 458752, 2, 131080, 458752, 2, 131081, 458752, 2, 131082, 458752, 2, 65546, 262144, 3, 65539, 262144, 3, 851970, 458752, 3, 851969, 458752, 3, 917507, 393216, 3, 917508, 458752, 3, 917509, 458752, 3, 917510, 458752, 3, 1048582, 393216, 3, 1048583, 458752, 3, 1048584, 458752, 3, 1048585, 458752, 3, 1048586, 458752, 3, 1048587, 458752, 3, 1048588, 458752, 3, 1048589, 458752, 3, 1048590, 458752, 3, 1048591, 524288, 3, 589839, 524288, 3, 589838, 458752, 3, 589837, 458752, 3, 196612, 458752, 3, 196613, 458752, 3, 196614, 458752, 3, 196615, 458752, 3, 196616, 458752, 3, 196617, 458752, 3, 196618, 458752, 3, 327676, 393216, 3, 327677, 458752, 3, 327678, 458752, 3, 327679, 458752, 3, 262144, 458752, 3, 262145, 458752, 3, 262146, 458752, 3, 262147, 524288, 3, 1441799, 262144, 3, 1900559, 262144, 1, 1900558, 262144, 1, 1900560, 262144, 1, 1900561, 262144, 1, 1900562, 262144, 1, 1900563, 262144, 1, 1900557, 262144, 1, 1835019, 262144, 0, 1835031, 262144, 1, 1769495, 262144, 3, 1769483, 262144, 3, 1835021, 262144, 3, 1835026, 262144, 3, 1769480, 262144, 3, 1769481, 262144, 3, 1769482, 262144, 3, 1703946, 262144, 3, 1769479, 196608, 3, 2359306, 458752, 2, 2359307, 458752, 2, 2359308, 458752, 2, 2359309, 458752, 2, 2359310, 458752, 2, 2359311, 458752, 2, 2359312, 458752, 2, 2359313, 458752, 2, 2359314, 458752, 2, 2359315, 458752, 2, 2359316, 458752, 2, 2359317, 458752, 2, 2359318, 458752, 2, 2359319, 458752, 2, 2097160, 458752, 2, 1769499, 458752, 2, 1769500, 458752, 2, 2097161, 458752, 2, 2097159, 393216, 2, 2359305, 393216, 2, 2359320, 524288, 2, 2228249, 524288, 2, 2228248, 458752, 2, 2293784, 458752, 3, 2293785, 524288, 3, 2424856, 524288, 3, 2424841, 393216, 3, 2162695, 393216, 3, 2162696, 458752, 3, 2162697, 458752, 3, 2424842, 458752, 3, 2424843, 458752, 3, 2424844, 458752, 3, 2424845, 458752, 3, 2424846, 458752, 3, 2424847, 458752, 3, 2424848, 458752, 3, 2424849, 458752, 3, 2424850, 458752, 3, 2424851, 458752, 3, 2424852, 458752, 3, 2424853, 458752, 3, 2424854, 458752, 3, 2424855, 458752, 3, 1835018, 262144, 3, 1835017, 262144, 3, 1835016, 262144, 3, 1835015, 196608, 3, 1769501, 524288, 2, 1769498, 458752, 2, 1703962, 262144, 3, 1835037, 524288, 3, 1835036, 458752, 3, 1835035, 458752, 3, 1835034, 524288, 2, 1835033, 458752, 2, 1900570, 524288, 3, 1900569, 458752, 3) -layer_5/tile_data = PackedInt32Array(786438, 262144, 3, 720899, 262144, 3, 851971, 458752, 3, 196611, 458752, 3, 1835019, 262144, 3, 1835034, 458752, 3) - -[node name="Campfire" parent="Entities" index="0" instance=ExtResource("6_r6kxn")] -position = Vector2(155, -27) - -[node name="PointLight2D" parent="Entities/Campfire" index="1"] -color = Color(0.996078, 0.780392, 0.501961, 1) - -[node name="Spawner" parent="Spawners" index="0" instance=ExtResource("4_pi4df")] -position = Vector2(250, 512) -Character = ExtResource("5_7upx6") -SpawnTime = 5.0 - -[node name="CollisionShape2D" parent="Spawners/Spawner/Area2D" index="0"] -shape = SubResource("RectangleShape2D_oods2") - -[node name="WorldEnvironment" parent="." index="6"] -environment = SubResource("Environment_c0b2h") - -[editable path="Entities/Campfire"] -[editable path="Entities/Campfire/InteractionTrigger"] -[editable path="Spawners/Spawner"] diff --git a/Scenes/Maps/Meadow.tscn b/Scenes/Maps/Meadow.tscn deleted file mode 100644 index 7336308..0000000 --- a/Scenes/Maps/Meadow.tscn +++ /dev/null @@ -1,200 +0,0 @@ -[gd_scene load_steps=21 format=3 uid="uid://c36qukesb3vsb"] - -[ext_resource type="PackedScene" uid="uid://clwv2owvk6abe" path="res://Scenes/BaseMap.tscn" id="1_hpj8x"] -[ext_resource type="Texture2D" uid="uid://ccqfwgjkerta5" path="res://Assets/Sprites/grass-tileset-dark.png" id="2_7hynf"] -[ext_resource type="Script" path="res://BoundingBoxes/ConnectorBox.cs" id="2_7ucgi"] -[ext_resource type="PackedScene" uid="uid://mag5lirjiikc" path="res://Props/ForestTree1.tscn" id="3_md7vh"] -[ext_resource type="PackedScene" uid="uid://glh1bi8fq0y3" path="res://Characters/Weeb.tscn" id="4_bs3am"] -[ext_resource type="PackedScene" uid="uid://djhlx016enwh8" path="res://Props/ForestTree2.tscn" id="4_htghs"] -[ext_resource type="Shader" path="res://Shaders/Flash.gdshader" id="5_dtu2e"] -[ext_resource type="PackedScene" uid="uid://dhl071rj5wyvx" path="res://Entities/Campfire.tscn" id="7_l0kul"] - -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_j354e"] -texture = ExtResource("2_7hynf") -0:0/0 = 0 -1:0/0 = 0 -2:0/0 = 0 -3:0/0 = 0 -4:0/0 = 0 -5:0/0 = 0 -6:0/0 = 0 -7:0/0 = 0 -0:1/0 = 0 -1:1/0 = 0 -2:1/0 = 0 -3:1/0 = 0 -4:1/0 = 0 -5:1/0 = 0 -6:1/0 = 0 -7:1/0 = 0 -0:2/0 = 0 -1:2/0 = 0 -2:2/0 = 0 -3:2/0 = 0 -4:2/0 = 0 -5:2/0 = 0 -6:2/0 = 0 -7:2/0 = 0 -0:3/0 = 0 -1:3/0 = 0 -2:3/0 = 0 -3:3/0 = 0 -4:3/0 = 0 -5:3/0 = 0 -6:3/0 = 0 -7:3/0 = 0 -0:4/0 = 0 -1:4/0 = 0 -2:4/0 = 0 -3:4/0 = 0 -4:4/0 = 0 -5:4/0 = 0 -6:4/0 = 0 -7:4/0 = 0 -0:5/0 = 0 -1:5/0 = 0 -2:5/0 = 0 -0:6/0 = 0 -1:6/0 = 0 -2:6/0 = 0 -0:7/0 = 0 -1:7/0 = 0 -2:7/0 = 0 - -[sub_resource type="TileSet" id="TileSet_ur4jy"] -sources/0 = SubResource("TileSetAtlasSource_j354e") - -[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_l6t22"] -closed = false -polygon = PackedVector2Array(142, -2, 8, 32, -55, 18) - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_dap58"] -resource_local_to_scene = true -shader = ExtResource("5_dtu2e") -shader_parameter/color = Vector4(1, 1, 1, 1) -shader_parameter/intensity = 0.0 -shader_parameter/alpha_modulate = 1.0 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_tgpe5"] -resource_local_to_scene = true -shader = ExtResource("5_dtu2e") -shader_parameter/color = Vector4(1, 1, 1, 1) -shader_parameter/intensity = 0.0 -shader_parameter/alpha_modulate = 1.0 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_oqgvr"] -resource_local_to_scene = true -shader = ExtResource("5_dtu2e") -shader_parameter/color = Vector4(1, 1, 1, 1) -shader_parameter/intensity = 0.0 -shader_parameter/alpha_modulate = 1.0 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_k1kq6"] -resource_local_to_scene = true -shader = ExtResource("5_dtu2e") -shader_parameter/color = Vector4(1, 1, 1, 1) -shader_parameter/intensity = 0.0 -shader_parameter/alpha_modulate = 1.0 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_lbypa"] -resource_local_to_scene = true -shader = ExtResource("5_dtu2e") -shader_parameter/color = Vector4(1, 1, 1, 1) -shader_parameter/intensity = 0.0 -shader_parameter/alpha_modulate = 1.0 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_re0th"] -resource_local_to_scene = true -shader = ExtResource("5_dtu2e") -shader_parameter/color = Vector4(1, 1, 1, 1) -shader_parameter/intensity = 0.0 -shader_parameter/alpha_modulate = 1.0 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_1l3ye"] -resource_local_to_scene = true -shader = ExtResource("5_dtu2e") -shader_parameter/color = Vector4(1, 1, 1, 1) -shader_parameter/intensity = 0.0 -shader_parameter/alpha_modulate = 1.0 - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_eiin3"] -resource_local_to_scene = true -shader = ExtResource("5_dtu2e") -shader_parameter/color = Vector4(1, 1, 1, 1) -shader_parameter/intensity = 0.0 -shader_parameter/alpha_modulate = 1.0 - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_v7m2q"] -size = Vector2(34, 14) - -[node name="TileMap" instance=ExtResource("1_hpj8x")] -tile_set = SubResource("TileSet_ur4jy") -layer_3/tile_data = PackedInt32Array(-131073, 65536, 6, -65537, 65536, 6, -196608, 65536, 6, -131072, 65536, 6, -131074, 0, 6, -65538, 0, 6, -1, 65536, 7, -65536, 65536, 7, -196607, 131072, 6, -131071, 131072, 6, -196609, 65536, 5, -262144, 65536, 5, -196610, 0, 5, -2, 0, 7, -65535, 131072, 7, -262143, 131072, 5) -layer_4/tile_data = PackedInt32Array(-327690, 196608, 0, -262154, 196608, 0, -196618, 196608, 0, -131082, 196608, 0, -65546, 196608, 0, -10, 196608, 0, 65526, 196608, 0, 131062, 196608, 0, 196598, 196608, 0, 262134, 196608, 0, 327670, 196608, 0, 393206, 196608, 0, 458742, 196608, 0, -327689, 196608, 0, -262153, 196608, 0, -196617, 196608, 0, -131081, 196608, 0, -65545, 196608, 0, -9, 196608, 0, 65527, 196608, 0, 131063, 196608, 0, 196599, 196608, 0, 262135, 196608, 0, 327671, 196608, 0, 393207, 196608, 0, 458743, 196608, 0, -327688, 196608, 0, -262152, 196608, 0, -196616, 196608, 0, -131080, 196608, 0, -65544, 196608, 0, -8, 196608, 0, 65528, 196608, 0, 131064, 196608, 0, 196600, 196608, 0, 262136, 196608, 0, 327672, 196608, 0, 393208, 196608, 0, 458744, 196608, 0, -327687, 196608, 0, -262151, 196608, 0, -196615, 196608, 0, -131079, 327680, 4, -65543, 196608, 0, -7, 196608, 0, 65529, 196608, 0, 131065, 196608, 0, 196601, 196608, 0, 262137, 196608, 0, 327673, 196608, 0, 393209, 196608, 0, 458745, 196608, 0, -327686, 196608, 0, -262150, 196608, 0, -196614, 196608, 0, -131078, 393216, 4, -65542, 196608, 0, -6, 196608, 0, 65530, 196608, 0, 131066, 196608, 0, 196602, 196608, 0, 262138, 196608, 1, 327674, 196608, 2, 393210, 196608, 0, 458746, 196608, 0, -327685, 196608, 0, -262149, 196608, 0, -196613, 196608, 0, -131077, 458752, 4, -65541, 196608, 0, -5, 196608, 0, 65531, 196608, 0, 131067, 196608, 0, 196603, 196608, 0, 262139, 262144, 1, 327675, 262144, 2, 393211, 196608, 0, 458747, 196608, 0, -327684, 196608, 0, -262148, 196608, 0, -196612, 196608, 0, -131076, 196608, 0, -65540, 196608, 0, -4, 196608, 0, 65532, 196608, 0, 131068, 196608, 0, 196604, 196608, 0, 262140, 196608, 0, 327676, 196608, 0, 393212, 196608, 0, 458748, 196608, 0, -327683, 196608, 0, -262147, 196608, 0, -196611, 196608, 0, -131075, 196608, 0, -65539, 196608, 0, -3, 196608, 0, 65533, 196608, 0, 131069, 196608, 0, 196605, 196608, 0, 262141, 196608, 0, 327677, 196608, 0, 393213, 196608, 0, 458749, 196608, 0, -327682, 196608, 0, -262146, 196608, 0, -196610, 196608, 0, -131074, 196608, 0, -65538, 196608, 0, -2, 196608, 0, 65534, 196608, 0, 131070, 196608, 0, 196606, 196608, 0, 262142, 196608, 0, 327678, 196608, 0, 393214, 196608, 0, 458750, 196608, 0, -327681, 196608, 0, -262145, 196608, 0, -196609, 196608, 0, -131073, 196608, 0, -65537, 196608, 0, -1, 196608, 0, 65535, 196608, 0, 131071, 196608, 0, 196607, 196608, 0, 262143, 196608, 0, 327679, 196608, 0, 393215, 196608, 0, 458751, 327680, 2, -393216, 196608, 0, -327680, 196608, 0, -262144, 196608, 0, -196608, 196608, 0, -131072, 196608, 0, -65536, 196608, 0, 0, 196608, 0, 65536, 196608, 0, 131072, 196608, 0, 196608, 196608, 0, 262144, 196608, 0, 327680, 196608, 0, 393216, 393216, 2, -393215, 196608, 0, -327679, 196608, 0, -262143, 196608, 0, -196607, 196608, 0, -131071, 196608, 0, -65535, 196608, 0, 1, 196608, 0, 65537, 196608, 0, 131073, 196608, 0, 196609, 196608, 0, 262145, 196608, 0, 327681, 196608, 0, 393217, 458752, 2, -393214, 196608, 0, -327678, 196608, 0, -262142, 196608, 0, -65534, 196608, 0, 2, 196608, 0, 65538, 196608, 0, 131074, 196608, 0, 196610, 196608, 0, 262146, 196608, 0, 327682, 196608, 0, 393218, 196608, 0, -393213, 196608, 0, -327677, 196608, 0, -262141, 196608, 0, -65533, 196608, 0, 3, 196608, 0, 65539, 196608, 0, 131075, 196608, 0, 196611, 196608, 0, 262147, 196608, 0, 327683, 196608, 0, 393219, 196608, 0, -393212, 196608, 0, -327676, 196608, 0, -262140, 196608, 0, -196604, 196608, 0, -131068, 196608, 0, -65532, 458752, 0, 4, 458752, 1, 65540, 196608, 0, 131076, 196608, 0, 196612, 196608, 0, 262148, 196608, 0, 327684, 196608, 0, 393220, 196608, 0, -393211, 196608, 0, -327675, 196608, 0, -262139, 196608, 0, -196603, 196608, 0, -131067, 196608, 0, -65531, 327680, 0, 5, 327680, 1, 65541, 196608, 0, 131077, 196608, 0, 196613, 196608, 0, 262149, 196608, 0, 327685, 196608, 0, 393221, 196608, 0, -393210, 196608, 0, -327674, 196608, 0, -262138, 196608, 0, -196602, 196608, 0, -131066, 196608, 0, -65530, 393216, 0, 6, 393216, 1, 65542, 196608, 0, 131078, 196608, 0, 196614, 196608, 0, 262150, 262144, 0, 327686, 196608, 0, 393222, 196608, 0, -393209, 196608, 0, -327673, 196608, 1, -262137, 196608, 2, -196601, 196608, 0, -131065, 196608, 0, -65529, 196608, 0, 7, 196608, 0, 65543, 196608, 0, 131079, 196608, 0, 196615, 196608, 0, 262151, 196608, 0, 327687, 196608, 0, 393223, 196608, 0, -393208, 196608, 0, -327672, 196608, 0, -262136, 196608, 0, -196600, 196608, 0, -131064, 196608, 0, -65528, 196608, 0, 8, 196608, 0, 65544, 196608, 0, 131080, 196608, 0, 196616, 196608, 0, 262152, 196608, 0, 327688, 196608, 0, 393224, 196608, 0, -393207, 196608, 0, -327671, 196608, 0, -262135, 196608, 0, -196599, 196608, 0, -131063, 196608, 0, -65527, 196608, 0, 9, 196608, 0, 65545, 196608, 0, 131081, 196608, 0, 196617, 196608, 0, 262153, 196608, 0, 327689, 196608, 0, 393225, 196608, 0, -393206, 196608, 0, -327670, 196608, 0, -262134, 196608, 0, -196598, 196608, 0, -131062, 196608, 0, -65526, 196608, 0, 10, 196608, 0, 65546, 196608, 0, 131082, 196608, 0, 196618, 196608, 0, 262154, 196608, 0, 327690, 196608, 0, 393226, 196608, 0, -524303, 196608, 0, -458767, 196608, 0, -393231, 196608, 0, -327695, 196608, 0, -262159, 196608, 0, -196623, 196608, 0, -131087, 196608, 0, -65551, 196608, 0, -15, 196608, 0, 65521, 196608, 0, 131057, 196608, 0, 196593, 196608, 0, 262129, 196608, 0, 327665, 196608, 0, 393201, 196608, 0, 458737, 196608, 0, 524273, 196608, 0, 589809, 196608, 0, 655345, 196608, 0, 720881, 196608, 0, 786417, 196608, 0, 851953, 196608, 0, 917489, 196608, 0, 983025, 196608, 0, -524302, 0, 3, -458766, 0, 4, -393230, 196608, 0, -327694, 196608, 0, -262158, 196608, 0, -196622, 196608, 0, -131086, 196608, 0, -65550, 196608, 0, -14, 196608, 0, 65522, 196608, 0, 131058, 196608, 0, 196594, 196608, 0, 262130, 196608, 0, 327666, 196608, 0, 393202, 196608, 0, 458738, 196608, 0, 524274, 196608, 0, 589810, 196608, 0, 655346, 196608, 0, 720882, 196608, 0, 786418, 196608, 0, 851954, 196608, 0, 917490, 196608, 0, 983026, 196608, 0, -524301, 65536, 3, -458765, 65536, 4, -393229, 196608, 0, -327693, 196608, 0, -262157, 196608, 0, -196621, 196608, 0, -131085, 196608, 0, -65549, 196608, 0, -13, 196608, 0, 65523, 196608, 0, 131059, 196608, 0, 196595, 196608, 0, 262131, 196608, 0, 327667, 196608, 0, 393203, 196608, 0, 458739, 196608, 0, 524275, 196608, 0, 589811, 196608, 0, 655347, 196608, 0, 720883, 196608, 0, 786419, 196608, 0, 851955, 196608, 0, 917491, 196608, 0, 983027, 196608, 0, -524300, 131072, 3, -458764, 131072, 4, -393228, 196608, 0, -327692, 196608, 0, -262156, 196608, 0, -196620, 196608, 0, -131084, 196608, 0, -65548, 196608, 0, -12, 196608, 0, 65524, 196608, 0, 131060, 196608, 0, 196596, 196608, 0, 262132, 262144, 0, 327668, 196608, 0, 393204, 196608, 0, 458740, 196608, 0, 524276, 196608, 0, 589812, 196608, 0, 655348, 196608, 0, 720884, 196608, 0, 786420, 196608, 0, 851956, 196608, 0, 917492, 196608, 0, 983028, 196608, 0, -524299, 196608, 0, -458763, 196608, 0, -393227, 196608, 0, -327691, 196608, 0, -262155, 196608, 0, -196619, 196608, 0, -131083, 196608, 0, -65547, 196608, 0, -11, 196608, 0, 65525, 196608, 0, 131061, 196608, 0, 196597, 196608, 0, 262133, 196608, 0, 327669, 196608, 0, 393205, 196608, 0, 458741, 196608, 0, 524277, 196608, 0, 589813, 196608, 0, 655349, 196608, 0, 720885, 196608, 0, 786421, 196608, 0, 851957, 196608, 0, 917493, 196608, 0, 983029, 196608, 0, -524298, 196608, 0, -458762, 196608, 0, -393226, 196608, 0, 524278, 196608, 0, 589814, 196608, 0, 655350, 196608, 0, 720886, 196608, 0, 786422, 196608, 0, 851958, 196608, 0, 917494, 196608, 0, 983030, 196608, 0, -524297, 196608, 0, -458761, 196608, 0, -393225, 196608, 0, 524279, 196608, 0, 589815, 196608, 0, 655351, 196608, 0, 720887, 196608, 0, 786423, 196608, 0, 851959, 196608, 0, 917495, 196608, 0, 983031, 196608, 0, -524296, 196608, 0, -458760, 196608, 0, -393224, 196608, 0, 524280, 196608, 0, 589816, 196608, 0, 655352, 196608, 0, 720888, 196608, 0, 786424, 196608, 0, 851960, 196608, 0, 917496, 196608, 0, 983032, 196608, 0, -524295, 196608, 0, -458759, 196608, 0, -393223, 196608, 0, 524281, 196608, 0, 589817, 196608, 0, 655353, 196608, 0, 720889, 196608, 0, 786425, 196608, 0, 851961, 196608, 0, 917497, 196608, 0, 983033, 196608, 0, -524294, 196608, 0, -458758, 196608, 0, -393222, 196608, 0, 524282, 196608, 0, 589818, 196608, 0, 655354, 262144, 0, 720890, 196608, 0, 786426, 196608, 0, 851962, 196608, 0, 917498, 196608, 0, 983034, 196608, 0, -524293, 196608, 0, -458757, 196608, 0, -393221, 196608, 0, 524283, 196608, 0, 589819, 196608, 0, 655355, 196608, 0, 720891, 196608, 0, 786427, 196608, 0, 851963, 196608, 0, 917499, 196608, 0, 983035, 196608, 0, -524292, 196608, 0, -458756, 196608, 0, -393220, 196608, 0, 524284, 196608, 0, 589820, 196608, 0, 655356, 196608, 0, 720892, 196608, 0, 786428, 196608, 0, 851964, 196608, 0, 917500, 196608, 0, 983036, 196608, 0, -524291, 196608, 0, -458755, 196608, 0, -393219, 196608, 0, 524285, 196608, 0, 589821, 196608, 0, 655357, 196608, 0, 720893, 196608, 0, 786429, 196608, 0, 851965, 196608, 0, 917501, 196608, 0, 983037, 196608, 0, -524290, 196608, 0, -458754, 196608, 0, -393218, 196608, 0, 524286, 196608, 0, 589822, 196608, 0, 655358, 196608, 0, 720894, 196608, 0, 786430, 196608, 0, 851966, 196608, 0, 917502, 196608, 0, 983038, 196608, 0, -524289, 196608, 0, -458753, 196608, 0, -393217, 196608, 0, 524287, 327680, 3, 589823, 196608, 0, 655359, 196608, 0, 720895, 196608, 0, 786431, 196608, 0, 851967, 196608, 0, 917503, 196608, 0, 983039, 196608, 0, -589824, 196608, 0, -524288, 196608, 0, -458752, 196608, 0, 458752, 393216, 3, 524288, 196608, 0, 589824, 196608, 0, 655360, 196608, 0, 720896, 196608, 0, 786432, 196608, 0, 851968, 196608, 0, 917504, 196608, 0, -589823, 196608, 0, -524287, 196608, 0, -458751, 196608, 0, 458753, 458752, 3, 524289, 196608, 0, 589825, 196608, 0, 655361, 196608, 0, 720897, 196608, 0, 786433, 196608, 0, 851969, 196608, 0, 917505, 196608, 0, -589822, 196608, 0, -524286, 196608, 0, -458750, 196608, 0, 458754, 196608, 0, 524290, 196608, 0, 589826, 196608, 0, 655362, 196608, 0, 720898, 196608, 0, 786434, 196608, 0, 851970, 196608, 0, 917506, 196608, 0, -589821, 196608, 0, -524285, 196608, 0, -458749, 196608, 0, 458755, 196608, 0, 524291, 196608, 0, 589827, 196608, 0, 655363, 196608, 0, 720899, 196608, 0, 786435, 196608, 0, 851971, 196608, 0, 917507, 196608, 0, -589820, 196608, 0, -524284, 196608, 0, -458748, 196608, 0, 458756, 196608, 0, 524292, 196608, 0, 589828, 196608, 0, 655364, 196608, 0, 720900, 196608, 0, 786436, 196608, 0, 851972, 196608, 0, 917508, 196608, 0, -589819, 196608, 0, -524283, 196608, 0, -458747, 196608, 0, 458757, 196608, 0, 524293, 196608, 0, 589829, 196608, 0, 655365, 196608, 0, 720901, 196608, 0, 786437, 196608, 0, 851973, 196608, 0, 917509, 196608, 0, -589818, 196608, 0, -524282, 196608, 0, -458746, 196608, 0, 458758, 196608, 0, 524294, 196608, 0, 589830, 196608, 0, 655366, 196608, 0, 720902, 262144, 0, 786438, 196608, 0, 851974, 196608, 0, 917510, 196608, 0, -589817, 196608, 0, -524281, 196608, 0, -458745, 196608, 0, 458759, 196608, 0, 524295, 196608, 0, 589831, 196608, 0, 655367, 196608, 0, 720903, 0, 3, 786439, 0, 4, 851975, 196608, 0, 917511, 196608, 0, -589816, 196608, 0, -524280, 196608, 3, -458744, 196608, 4, 458760, 196608, 0, 524296, 196608, 0, 589832, 196608, 0, 655368, 196608, 0, 720904, 65536, 3, 786440, 65536, 4, 851976, 196608, 0, 917512, 196608, 0, -589815, 196608, 0, -524279, 262144, 3, -458743, 262144, 4, 458761, 196608, 0, 524297, 196608, 0, 589833, 196608, 0, 655369, 196608, 0, 720905, 131072, 3, 786441, 131072, 4, 851977, 196608, 0, 917513, 196608, 0, -589814, 196608, 0, -524278, 196608, 0, -458742, 196608, 0, 458762, 196608, 0, 524298, 196608, 0, 589834, 196608, 0, 655370, 196608, 0, 720906, 196608, 0, 786442, 196608, 0, 851978, 196608, 0, 917514, 196608, 0, -589813, 196608, 0, -524277, 196608, 0, -458741, 196608, 0, -393205, 196608, 0, -327669, 196608, 0, -262133, 196608, 0, -196597, 196608, 0, -131061, 196608, 0, -65525, 196608, 0, 11, 196608, 0, 65547, 196608, 0, 131083, 196608, 0, 196619, 196608, 0, 262155, 196608, 0, 327691, 196608, 0, 393227, 196608, 0, 458763, 196608, 0, 524299, 196608, 0, 589835, 196608, 0, 655371, 196608, 0, 720907, 196608, 0, 786443, 196608, 0, 851979, 196608, 0, 917515, 196608, 0, -589812, 196608, 0, -524276, 196608, 0, -458740, 196608, 0, -393204, 196608, 0, -327668, 196608, 0, -262132, 196608, 0, -196596, 196608, 0, -131060, 196608, 0, -65524, 196608, 0, 12, 196608, 0, 65548, 196608, 0, 131084, 196608, 0, 196620, 196608, 0, 262156, 196608, 0, 327692, 196608, 0, 393228, 196608, 0, 458764, 196608, 0, 524300, 196608, 0, 589836, 196608, 0, 655372, 196608, 0, 720908, 196608, 0, 786444, 196608, 0, 851980, 196608, 0, 917516, 196608, 0, -589811, 196608, 0, -524275, 196608, 0, -458739, 196608, 0, -393203, 196608, 0, -327667, 196608, 0, -262131, 196608, 0, -196595, 196608, 0, -131059, 196608, 0, -65523, 196608, 0, 13, 196608, 0, 65549, 196608, 0, 131085, 196608, 0, 196621, 196608, 0, 262157, 196608, 0, 327693, 196608, 0, 393229, 196608, 0, 458765, 196608, 0, 524301, 196608, 0, 589837, 196608, 0, 655373, 196608, 0, 720909, 196608, 0, 786445, 196608, 0, 851981, 196608, 0, 917517, 196608, 0, -589810, 196608, 0, -524274, 196608, 0, -458738, 196608, 0, -393202, 196608, 0, -327666, 196608, 0, -262130, 196608, 0, -196594, 327680, 2, -131058, 327680, 3, -65522, 196608, 0, 14, 196608, 0, 65550, 196608, 0, 131086, 196608, 1, 196622, 196608, 2, 262158, 196608, 0, 327694, 196608, 0, 393230, 196608, 0, 458766, 196608, 0, 524302, 196608, 0, 589838, 196608, 0, 655374, 196608, 0, 720910, 196608, 0, 786446, 196608, 0, 851982, 196608, 0, 917518, 196608, 0, -589809, 196608, 0, -524273, 196608, 0, -458737, 196608, 0, -393201, 196608, 0, -327665, 196608, 0, -262129, 196608, 0, -196593, 393216, 2, -131057, 393216, 3, -65521, 196608, 0, 15, 196608, 0, 65551, 196608, 0, 131087, 196608, 0, 196623, 196608, 0, 262159, 196608, 0, 327695, 196608, 0, 393231, 196608, 0, 458767, 196608, 0, 524303, 196608, 0, 589839, 196608, 0, 655375, 196608, 0, 720911, 196608, 0, 786447, 196608, 0, 851983, 196608, 0, 917519, 196608, 0, -1048594, 196608, 0, -983058, 196608, 0, -917522, 196608, 0, -851986, 196608, 0, -786450, 196608, 0, -720914, 196608, 0, -655378, 196608, 0, -589842, 196608, 0, -524306, 196608, 0, -458770, 196608, 0, -393234, 196608, 0, -327698, 196608, 0, -262162, 196608, 0, -196626, 196608, 0, -131090, 196608, 0, -65554, 196608, 0, -18, 196608, 0, 65518, 196608, 0, 131054, 196608, 0, 196590, 196608, 0, 262126, 196608, 0, 327662, 196608, 0, 393198, 196608, 0, 458734, 196608, 0, 524270, 196608, 0, 589806, 196608, 0, 655342, 196608, 0, 720878, 196608, 0, 786414, 196608, 0, 851950, 196608, 0, 917486, 196608, 0, 983022, 196608, 0, 1048558, 196608, 0, 1114094, 196608, 0, -1048593, 196608, 0, -983057, 196608, 0, -917521, 196608, 0, -851985, 196608, 0, -786449, 196608, 0, -720913, 196608, 0, -655377, 196608, 0, -589841, 196608, 0, -524305, 196608, 0, -458769, 196608, 0, -393233, 196608, 0, -327697, 196608, 0, -262161, 196608, 0, -196625, 196608, 0, -131089, 196608, 0, -65553, 196608, 0, -17, 196608, 0, 65519, 196608, 0, 131055, 196608, 0, 196591, 196608, 0, 262127, 196608, 0, 327663, 196608, 0, 393199, 196608, 0, 458735, 196608, 0, 524271, 196608, 0, 589807, 196608, 0, 655343, 196608, 0, 720879, 196608, 0, 786415, 196608, 0, 851951, 196608, 0, 917487, 196608, 0, 983023, 196608, 0, 1048559, 196608, 0, 1114095, 196608, 0, -1048592, 196608, 0, -983056, 196608, 0, -917520, 196608, 0, -851984, 196608, 0, -786448, 196608, 0, -720912, 196608, 0, -655376, 196608, 0, -589840, 196608, 0, -524304, 196608, 0, -458768, 196608, 0, -393232, 196608, 0, -327696, 196608, 0, -262160, 196608, 0, -196624, 196608, 0, -131088, 196608, 0, -65552, 196608, 0, -16, 196608, 0, 65520, 196608, 0, 131056, 196608, 0, 196592, 196608, 0, 262128, 196608, 0, 327664, 196608, 0, 393200, 196608, 0, 458736, 196608, 0, 524272, 196608, 0, 589808, 196608, 0, 655344, 196608, 0, 720880, 196608, 0, 786416, 196608, 0, 851952, 196608, 0, 917488, 196608, 0, 983024, 196608, 0, 1048560, 196608, 0, 1114096, 196608, 0, -1048591, 196608, 0, -983055, 196608, 0, -917519, 196608, 0, -851983, 196608, 0, -786447, 196608, 0, -720911, 196608, 0, -655375, 196608, 0, -589839, 196608, 0, 1048561, 196608, 0, 1114097, 196608, 0, -1048590, 196608, 0, -983054, 196608, 0, -917518, 196608, 0, -851982, 196608, 0, -786446, 196608, 0, -720910, 196608, 0, -655374, 196608, 0, -589838, 196608, 0, 1048562, 196608, 0, 1114098, 196608, 0, -1048589, 196608, 0, -983053, 196608, 0, -917517, 196608, 0, -851981, 196608, 0, -786445, 196608, 0, -720909, 196608, 0, -655373, 196608, 0, -589837, 196608, 0, 1048563, 196608, 0, 1114099, 196608, 0, -1048588, 196608, 0, -983052, 196608, 0, -917516, 196608, 0, -851980, 196608, 0, -786444, 196608, 0, -720908, 196608, 0, -655372, 196608, 0, -589836, 196608, 0, 1048564, 196608, 0, 1114100, 196608, 0, -1048587, 196608, 0, -983051, 196608, 0, -917515, 196608, 0, -851979, 196608, 0, -786443, 196608, 0, -720907, 196608, 0, -655371, 196608, 0, -589835, 196608, 0, 1048565, 196608, 0, 1114101, 196608, 0, -1048586, 196608, 0, -983050, 196608, 0, -917514, 196608, 0, -851978, 196608, 0, -786442, 196608, 0, -720906, 196608, 0, -655370, 196608, 0, -589834, 196608, 0, 1048566, 196608, 0, 1114102, 196608, 0, -1048585, 196608, 0, -983049, 196608, 0, -917513, 196608, 0, -851977, 196608, 0, -786441, 196608, 0, -720905, 196608, 0, -655369, 196608, 0, -589833, 196608, 0, 1048567, 196608, 0, 1114103, 196608, 0, -1048584, 196608, 0, -983048, 196608, 0, -917512, 196608, 0, -851976, 196608, 0, -786440, 262144, 0, -720904, 196608, 0, -655368, 196608, 0, -589832, 196608, 0, 1048568, 196608, 0, 1114104, 196608, 0, -1048583, 196608, 0, -983047, 196608, 0, -917511, 196608, 0, -851975, 196608, 0, -786439, 196608, 0, -720903, 196608, 0, -655367, 196608, 0, -589831, 196608, 0, 1048569, 196608, 0, 1114105, 196608, 0, -1048582, 196608, 0, -983046, 196608, 0, -917510, 196608, 0, -851974, 196608, 0, -786438, 196608, 0, -720902, 196608, 0, -655366, 196608, 0, -589830, 196608, 0, 1048570, 196608, 0, 1114106, 196608, 0, -1048581, 196608, 0, -983045, 196608, 0, -917509, 196608, 0, -851973, 196608, 0, -786437, 196608, 0, -720901, 196608, 0, -655365, 196608, 0, -589829, 196608, 0, 1048571, 196608, 0, 1114107, 196608, 0, -1048580, 196608, 0, -983044, 196608, 0, -917508, 196608, 0, -851972, 196608, 0, -786436, 196608, 0, -720900, 196608, 0, -655364, 196608, 0, -589828, 196608, 0, 1048572, 196608, 0, 1114108, 196608, 0, -1048579, 196608, 0, -983043, 196608, 0, -917507, 196608, 0, -851971, 196608, 0, -786435, 196608, 0, -720899, 196608, 0, -655363, 196608, 3, -589827, 196608, 4, 1048573, 196608, 0, 1114109, 196608, 0, -1048578, 196608, 0, -983042, 196608, 0, -917506, 196608, 0, -851970, 196608, 0, -786434, 196608, 0, -720898, 196608, 0, -655362, 262144, 3, -589826, 262144, 4, 1048574, 196608, 0, 1114110, 196608, 0, -1048577, 196608, 0, -983041, 196608, 0, -917505, 196608, 0, -851969, 196608, 0, -786433, 196608, 0, -720897, 196608, 0, -655361, 196608, 0, -589825, 196608, 0, 1048575, 196608, 0, 1114111, 196608, 0, -1114112, 196608, 0, -1048576, 196608, 0, -983040, 196608, 0, -917504, 196608, 0, -851968, 196608, 0, -786432, 196608, 1, -720896, 196608, 2, -655360, 196608, 0, 983040, 196608, 0, 1048576, 196608, 0, -1114111, 196608, 0, -1048575, 196608, 0, -983039, 196608, 0, -917503, 196608, 0, -851967, 196608, 0, -786431, 262144, 1, -720895, 262144, 2, -655359, 196608, 0, 983041, 196608, 0, 1048577, 196608, 0, -1114110, 196608, 0, -1048574, 196608, 0, -983038, 196608, 0, -917502, 196608, 0, -851966, 196608, 0, -786430, 196608, 0, -720894, 196608, 0, -655358, 196608, 0, 983042, 196608, 0, 1048578, 196608, 0, -1114109, 196608, 0, -1048573, 196608, 0, -983037, 196608, 0, -917501, 196608, 0, -851965, 196608, 0, -786429, 196608, 0, -720893, 196608, 0, -655357, 196608, 0, 983043, 196608, 0, 1048579, 196608, 0, -1114108, 196608, 0, -1048572, 196608, 0, -983036, 196608, 0, -917500, 196608, 0, -851964, 196608, 0, -786428, 196608, 0, -720892, 196608, 0, -655356, 196608, 0, 983044, 196608, 0, 1048580, 196608, 0, -1114107, 196608, 0, -1048571, 196608, 0, -983035, 196608, 0, -917499, 196608, 0, -851963, 196608, 0, -786427, 196608, 0, -720891, 196608, 0, -655355, 196608, 0, 983045, 196608, 0, 1048581, 196608, 0, -1114106, 196608, 0, -1048570, 196608, 0, -983034, 196608, 0, -917498, 196608, 0, -851962, 196608, 0, -786426, 196608, 0, -720890, 196608, 0, -655354, 196608, 0, 983046, 196608, 0, 1048582, 196608, 0, -1114105, 196608, 0, -1048569, 196608, 0, -983033, 196608, 0, -917497, 196608, 0, -851961, 196608, 0, -786425, 196608, 0, -720889, 196608, 0, -655353, 196608, 0, 983047, 196608, 0, 1048583, 196608, 0, -1114104, 196608, 0, -1048568, 196608, 0, -983032, 196608, 0, -917496, 196608, 0, -851960, 196608, 0, -786424, 196608, 0, -720888, 196608, 0, -655352, 196608, 0, 983048, 196608, 0, 1048584, 196608, 0, -1114103, 196608, 0, -1048567, 196608, 0, -983031, 196608, 0, -917495, 196608, 0, -851959, 196608, 0, -786423, 196608, 0, -720887, 196608, 0, -655351, 196608, 0, 983049, 196608, 0, 1048585, 196608, 0, -1114102, 196608, 0, -1048566, 196608, 0, -983030, 196608, 0, -917494, 196608, 0, -851958, 196608, 0, -786422, 196608, 0, -720886, 196608, 0, -655350, 196608, 0, 983050, 196608, 0, 1048586, 196608, 0, -1114101, 196608, 0, -1048565, 196608, 0, -983029, 196608, 0, -917493, 196608, 0, -851957, 196608, 0, -786421, 196608, 0, -720885, 196608, 0, -655349, 196608, 0, 983051, 196608, 0, 1048587, 196608, 0, -1114100, 196608, 0, -1048564, 196608, 0, -983028, 196608, 0, -917492, 196608, 0, -851956, 196608, 0, -786420, 196608, 0, -720884, 196608, 0, -655348, 196608, 0, 983052, 196608, 0, 1048588, 196608, 0, -1114099, 196608, 0, -1048563, 196608, 0, -983027, 196608, 0, -917491, 196608, 0, -851955, 196608, 0, -786419, 196608, 0, -720883, 196608, 0, -655347, 196608, 0, 983053, 196608, 0, 1048589, 196608, 0, -1114098, 196608, 0, -1048562, 196608, 0, -983026, 196608, 0, -917490, 196608, 0, -851954, 196608, 0, -786418, 196608, 0, -720882, 196608, 0, -655346, 196608, 0, 983054, 196608, 0, 1048590, 196608, 0, -1114097, 196608, 0, -1048561, 196608, 0, -983025, 196608, 0, -917489, 196608, 0, -851953, 196608, 0, -786417, 196608, 0, -720881, 196608, 0, -655345, 196608, 0, 983055, 196608, 0, 1048591, 196608, 0, -1114096, 196608, 0, -1048560, 196608, 0, -983024, 196608, 0, -917488, 196608, 0, -851952, 196608, 0, -786416, 196608, 0, -720880, 196608, 0, -655344, 196608, 0, -589808, 196608, 0, -524272, 196608, 0, -458736, 196608, 0, -393200, 196608, 0, -327664, 196608, 0, -262128, 196608, 0, -196592, 458752, 2, -131056, 458752, 3, -65520, 196608, 0, 16, 196608, 0, 65552, 196608, 0, 131088, 196608, 0, 196624, 196608, 0, 262160, 196608, 0, 327696, 196608, 0, 393232, 196608, 0, 458768, 196608, 0, 524304, 196608, 0, 589840, 196608, 0, 655376, 196608, 0, 720912, 196608, 0, 786448, 196608, 0, 851984, 196608, 0, 917520, 196608, 0, 983056, 196608, 0, 1048592, 196608, 0, -1114095, 196608, 0, -1048559, 196608, 0, -983023, 196608, 0, -917487, 196608, 0, -851951, 196608, 0, -786415, 196608, 0, -720879, 196608, 0, -655343, 196608, 0, -589807, 196608, 0, -524271, 196608, 0, -458735, 196608, 0, -393199, 196608, 0, -327663, 458752, 0, -262127, 458752, 1, -196591, 196608, 0, -131055, 196608, 0, -65519, 196608, 0, 17, 196608, 0, 65553, 196608, 0, 131089, 196608, 0, 196625, 196608, 0, 262161, 196608, 0, 327697, 196608, 0, 393233, 196608, 0, 458769, 196608, 0, 524305, 196608, 0, 589841, 196608, 0, 655377, 196608, 0, 720913, 196608, 0, 786449, 196608, 0, 851985, 196608, 0, 917521, 196608, 0, 983057, 196608, 0, 1048593, 196608, 0, -1114094, 196608, 0, -1048558, 196608, 0, -983022, 196608, 0, -917486, 196608, 0, -851950, 262144, 0, -786414, 196608, 0, -720878, 196608, 0, -655342, 196608, 0, -589806, 196608, 0, -524270, 196608, 0, -458734, 196608, 0, -393198, 196608, 0, -327662, 196608, 0, -262126, 196608, 0, -196590, 196608, 0, -131054, 196608, 0, -65518, 196608, 0, 18, 196608, 0, 65554, 196608, 0, 131090, 196608, 0, 196626, 196608, 0, 262162, 196608, 0, 327698, 196608, 0, 393234, 196608, 0, 458770, 196608, 0, 524306, 196608, 0, 589842, 196608, 0, 655378, 196608, 0, 720914, 196608, 0, 786450, 196608, 0, 851986, 196608, 0, 917522, 196608, 0, 983058, 196608, 0, 1048594, 196608, 0, -1114093, 196608, 0, -1048557, 196608, 0, -983021, 196608, 0, -917485, 196608, 0, -851949, 196608, 0, -786413, 196608, 0, -720877, 196608, 0, -655341, 196608, 0, -589805, 196608, 0, -524269, 196608, 0, -458733, 196608, 0, -393197, 196608, 0, -327661, 196608, 0, -262125, 196608, 0, -196589, 196608, 0, -131053, 196608, 0, -65517, 196608, 0, 19, 196608, 0, 65555, 196608, 0, 131091, 196608, 0, 196627, 196608, 0, 262163, 196608, 0, 327699, 196608, 0, 393235, 196608, 0, 458771, 196608, 0, 524307, 196608, 0, 589843, 196608, 0, 655379, 196608, 0, 720915, 196608, 0, 786451, 196608, 0, 851987, 262144, 0, 917523, 196608, 0, 983059, 196608, 0, 1048595, 196608, 0, -1114092, 196608, 0, -1048556, 196608, 0, -983020, 196608, 0, -917484, 196608, 0, -851948, 196608, 0, -786412, 196608, 0, -720876, 196608, 0, -655340, 196608, 0, -589804, 196608, 0, -524268, 196608, 0, -458732, 196608, 0, -393196, 196608, 0, -327660, 196608, 0, -262124, 196608, 0, -196588, 196608, 0, -131052, 196608, 0, -65516, 196608, 0, 20, 196608, 0, 65556, 196608, 0, 131092, 196608, 0, 196628, 196608, 0, 262164, 196608, 0, 327700, 196608, 0, 393236, 196608, 0, 458772, 196608, 0, 524308, 196608, 0, 589844, 196608, 0, 655380, 196608, 0, 720916, 196608, 0, 786452, 196608, 0, 851988, 196608, 0, 917524, 196608, 0, 983060, 196608, 0, 1048596, 196608, 0, -1114091, 196608, 0, -1048555, 196608, 0, -983019, 196608, 0, -917483, 196608, 0, -851947, 196608, 0, -786411, 196608, 0, -720875, 196608, 0, -655339, 196608, 0, -589803, 196608, 0, -524267, 196608, 0, -458731, 196608, 0, -393195, 196608, 0, -327659, 196608, 0, -262123, 196608, 0, -196587, 196608, 0, -131051, 196608, 0, -65515, 196608, 0, 21, 196608, 0, 65557, 196608, 0, 131093, 196608, 0, 196629, 196608, 0, 262165, 196608, 0, 327701, 196608, 0, 393237, 196608, 0, 458773, 196608, 0, 524309, 196608, 0, 589845, 196608, 0, 655381, 262144, 0, 720917, 196608, 0, 786453, 196608, 0, 851989, 196608, 0, 917525, 196608, 0, 983061, 196608, 0, 1048597, 196608, 0, -1114090, 196608, 0, -1048554, 196608, 0, -983018, 196608, 0, -917482, 196608, 0, -851946, 196608, 0, -786410, 196608, 0, -720874, 196608, 0, -655338, 196608, 0, -589802, 196608, 0, -524266, 196608, 0, -458730, 196608, 0, -393194, 196608, 0, -327658, 196608, 0, -262122, 196608, 0, -196586, 196608, 0, -131050, 196608, 0, -65514, 196608, 0, 22, 196608, 0, 65558, 196608, 0, 131094, 196608, 0, 196630, 196608, 0, 262166, 196608, 0, 327702, 196608, 0, 393238, 196608, 0, 458774, 196608, 0, 524310, 196608, 0, 589846, 196608, 0, 655382, 196608, 0, 720918, 196608, 0, 786454, 196608, 0, 851990, 196608, 0, 917526, 196608, 0, 983062, 196608, 0, 1048598, 196608, 0, -1114089, 196608, 0, -1048553, 196608, 0, -983017, 196608, 0, -917481, 196608, 0, -851945, 196608, 0, -786409, 196608, 0, -720873, 196608, 0, -655337, 196608, 0, -589801, 196608, 0, -524265, 196608, 0, -458729, 196608, 0, -393193, 196608, 0, -327657, 196608, 0, -262121, 196608, 0, -196585, 196608, 0, -131049, 196608, 0, -65513, 196608, 0, 23, 196608, 0, 65559, 262144, 0, 131095, 196608, 0, 196631, 196608, 0, 262167, 196608, 0, 327703, 196608, 0, 393239, 196608, 0, 458775, 196608, 0, 524311, 196608, 0, 589847, 196608, 0, 655383, 196608, 0, 720919, 196608, 0, 786455, 196608, 0, 851991, 196608, 0, 917527, 196608, 0, 983063, 196608, 0, 1048599, 196608, 0, -1114088, 196608, 0, -1048552, 196608, 0, -983016, 196608, 0, -917480, 196608, 0, -851944, 196608, 0, -786408, 196608, 0, -720872, 196608, 0, -655336, 196608, 0, -589800, 196608, 0, -524264, 196608, 0, -458728, 196608, 0, -393192, 196608, 0, -327656, 196608, 0, -262120, 196608, 0, -196584, 196608, 0, -131048, 196608, 0, -65512, 196608, 0, 24, 196608, 0, 65560, 196608, 0, 131096, 196608, 0, 196632, 196608, 0, 262168, 196608, 0, 327704, 196608, 0, 393240, 196608, 0, 458776, 196608, 0, 524312, 196608, 0, 589848, 196608, 0, 655384, 196608, 0, 720920, 196608, 0, 786456, 196608, 0, 851992, 196608, 0, 917528, 196608, 0, 983064, 196608, 0, 1048600, 196608, 0, -1114087, 196608, 0, -1048551, 196608, 0, -983015, 196608, 0, -917479, 196608, 0, -851943, 196608, 0, -786407, 196608, 0, -720871, 196608, 0, -655335, 196608, 0, -589799, 196608, 0, -524263, 196608, 0, -458727, 196608, 0, -393191, 196608, 0, -327655, 196608, 0, -262119, 196608, 0, -196583, 196608, 0, -131047, 196608, 0, -65511, 196608, 0, 25, 196608, 0, 65561, 196608, 0, 131097, 196608, 0, 196633, 196608, 0, 262169, 196608, 0, 327705, 196608, 0, 393241, 196608, 0, 458777, 196608, 0, 524313, 196608, 0, 589849, 196608, 0, 655385, 196608, 0, 720921, 196608, 0, 786457, 196608, 0, 851993, 196608, 0, 917529, 196608, 0, 983065, 196608, 0, 1048601, 196608, 0, -196606, 196608, 0, -131070, 196608, 0, -196605, 196608, 0, -131069, 196608, 0) - -[node name="CanvasModulate" parent="." index="0"] -color = Color(0.27451, 0, 0.282353, 1) - -[node name="Tree" parent="Props" index="0" instance=ExtResource("3_md7vh")] -position = Vector2(-48, 0) - -[node name="Tree3" parent="Props" index="1" instance=ExtResource("3_md7vh")] -position = Vector2(-80, 106) - -[node name="Tree2" parent="Props" index="2" instance=ExtResource("4_htghs")] -position = Vector2(-69, -7) - -[node name="LightOccluder2D" type="LightOccluder2D" parent="Props/Tree2" index="2"] -visible = false -occluder = SubResource("OccluderPolygon2D_l6t22") - -[node name="Weeb" parent="Entities" index="0" instance=ExtResource("4_bs3am")] -material = SubResource("ShaderMaterial_dap58") -position = Vector2(128, 0) - -[node name="Weeb2" parent="Entities" index="1" instance=ExtResource("4_bs3am")] -material = SubResource("ShaderMaterial_tgpe5") -position = Vector2(128, 32) - -[node name="Weeb3" parent="Entities" index="2" instance=ExtResource("4_bs3am")] -material = SubResource("ShaderMaterial_oqgvr") -position = Vector2(184, 32) - -[node name="Weeb4" parent="Entities" index="3" instance=ExtResource("4_bs3am")] -material = SubResource("ShaderMaterial_k1kq6") -position = Vector2(184, -40) - -[node name="Weeb5" parent="Entities" index="4" instance=ExtResource("4_bs3am")] -material = SubResource("ShaderMaterial_lbypa") -position = Vector2(-96, 1) - -[node name="Weeb7" parent="Entities" index="5" instance=ExtResource("4_bs3am")] -material = SubResource("ShaderMaterial_re0th") -position = Vector2(-38, 48) - -[node name="Weeb8" parent="Entities" index="6" instance=ExtResource("4_bs3am")] -material = SubResource("ShaderMaterial_1l3ye") -position = Vector2(42, 48) - -[node name="Weeb6" parent="Entities" index="7" instance=ExtResource("4_bs3am")] -material = SubResource("ShaderMaterial_eiin3") -position = Vector2(104, -64) - -[node name="Campfire" parent="Entities" index="8" instance=ExtResource("7_l0kul")] -position = Vector2(0, -32) - -[node name="Area2D" type="Area2D" parent="Areas" index="0"] -position = Vector2(-200, 212) -collision_mask = 5 -script = ExtResource("2_7ucgi") -ToArea = "res://Scenes/Maps/Forest.tscn" -ToConnector = "forest_to_meadow" -Identifier = "meadow_start" - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Areas/Area2D" index="0"] -shape = SubResource("RectangleShape2D_v7m2q") - -[node name="DirectionalLight2D" type="DirectionalLight2D" parent="." index="7"] -blend_mode = 2 -shadow_enabled = true -max_distance = 50.0 diff --git a/State/Global/MapState.cs b/State/Global/MapState.cs index 6b8bf71..63d97d7 100644 --- a/State/Global/MapState.cs +++ b/State/Global/MapState.cs @@ -54,4 +54,14 @@ public partial class MapState : Resource } return null; } + + public Variant Get(string key) + { + return this[key]; + } + + public void Set(string key, Variant value) + { + this[key] = value; + } } diff --git a/SupaLidlGame.csproj b/SupaLidlGame.csproj index 7d20e38..7723049 100644 --- a/SupaLidlGame.csproj +++ b/SupaLidlGame.csproj @@ -1,12 +1,15 @@ - + net7.0 true + true + + - \ No newline at end of file + diff --git a/UI/Inventory/ShopMenu.tscn b/UI/Inventory/ShopMenu.tscn index 75acd1d..8142cb4 100644 --- a/UI/Inventory/ShopMenu.tscn +++ b/UI/Inventory/ShopMenu.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=15 format=3 uid="uid://cyggkyqosjk36"] -[ext_resource type="StyleBox" uid="uid://bqhotx2ogucye" path="res://UI/Themes/Panel.tres" id="1_2ffty"] +[ext_resource type="StyleBox" path="res://UI/Themes/Panel.tres" id="1_2ffty"] [ext_resource type="Script" path="res://UI/Inventory/ShopMenu.cs" id="1_8c1y7"] [ext_resource type="Shader" path="res://Shaders/WipeXY.gdshader" id="2_jqery"] [ext_resource type="FontFile" uid="uid://cgwa8bjiyv534" path="res://Assets/Fonts/alagard.ttf" id="3_aj4jx"] diff --git a/UI/Themes/supalidl.tres b/UI/Themes/supalidl.tres index 7c69dc8..8ca5c01 100644 --- a/UI/Themes/supalidl.tres +++ b/UI/Themes/supalidl.tres @@ -1,11 +1,11 @@ [gd_resource type="Theme" load_steps=11 format=3 uid="uid://cksjbu3vrup5"] [ext_resource type="FontFile" uid="uid://6bvgjbmqovau" path="res://Assets/Fonts/calamity/calamity.ttf" id="1_334fe"] -[ext_resource type="StyleBox" uid="uid://nvb4etac7ee2" path="res://UI/Themes/InventorySlotButtonFocus.tres" id="2_3w5h1"] +[ext_resource type="StyleBox" path="res://UI/Themes/InventorySlotButtonFocus.tres" id="2_3w5h1"] [ext_resource type="Texture2D" uid="uid://b16461tjso0j7" path="res://Assets/Sprites/UI/hotbar-inactive.png" id="2_6sv27"] -[ext_resource type="StyleBox" uid="uid://bqhotx2ogucye" path="res://UI/Themes/Panel.tres" id="2_jlgx8"] -[ext_resource type="StyleBox" uid="uid://cfqp0ycwvwx7c" path="res://UI/Themes/InventorySlotButtonNormal.tres" id="3_nuiio"] -[ext_resource type="StyleBox" uid="uid://pqtn0115bqtp" path="res://UI/Themes/InventorySlotButtonPressed.tres" id="4_mllnb"] +[ext_resource type="StyleBox" path="res://UI/Themes/Panel.tres" id="2_jlgx8"] +[ext_resource type="StyleBox" path="res://UI/Themes/InventorySlotButtonNormal.tres" id="3_nuiio"] +[ext_resource type="StyleBox" path="res://UI/Themes/InventorySlotButtonPressed.tres" id="4_mllnb"] [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_wk5ww"] content_margin_left = 4.0 diff --git a/Utils/Spawner.cs b/Utils/Spawner.cs index 07a5351..6bacdc4 100644 --- a/Utils/Spawner.cs +++ b/Utils/Spawner.cs @@ -53,7 +53,7 @@ public partial class Spawner : Node2D var chr = Character.Instantiate(); chr.GlobalPosition = randPos; - this.GetAncestor().Entities.AddChild(chr); + World.Instance.CurrentMap.Entities.AddChild(chr); } } } diff --git a/addons/phantom_camera/assets/PhantomCameraBtnPrimaryDefault.png b/addons/phantom_camera/assets/PhantomCameraBtnPrimaryDefault.png new file mode 100644 index 0000000..3082789 Binary files /dev/null and b/addons/phantom_camera/assets/PhantomCameraBtnPrimaryDefault.png differ diff --git a/addons/phantom_camera/assets/PhantomCameraBtnPrimaryDefault.png.import b/addons/phantom_camera/assets/PhantomCameraBtnPrimaryDefault.png.import new file mode 100644 index 0000000..ad3a214 --- /dev/null +++ b/addons/phantom_camera/assets/PhantomCameraBtnPrimaryDefault.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://censw3w53gldn" +path="res://.godot/imported/PhantomCameraBtnPrimaryDefault.png-fcf3696b583a82b1078609a5bfd648f5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/assets/PhantomCameraBtnPrimaryDefault.png" +dest_files=["res://.godot/imported/PhantomCameraBtnPrimaryDefault.png-fcf3696b583a82b1078609a5bfd648f5.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/addons/phantom_camera/assets/PhantomCameraBtnPrimaryHover.png b/addons/phantom_camera/assets/PhantomCameraBtnPrimaryHover.png new file mode 100644 index 0000000..1e0c31a Binary files /dev/null and b/addons/phantom_camera/assets/PhantomCameraBtnPrimaryHover.png differ diff --git a/addons/phantom_camera/assets/PhantomCameraBtnPrimaryHover.png.import b/addons/phantom_camera/assets/PhantomCameraBtnPrimaryHover.png.import new file mode 100644 index 0000000..dd6f1a4 --- /dev/null +++ b/addons/phantom_camera/assets/PhantomCameraBtnPrimaryHover.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pvr8mbvl1onm" +path="res://.godot/imported/PhantomCameraBtnPrimaryHover.png-3d2e4d225f6a86ce8a9c981ee7926a16.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/assets/PhantomCameraBtnPrimaryHover.png" +dest_files=["res://.godot/imported/PhantomCameraBtnPrimaryHover.png-3d2e4d225f6a86ce8a9c981ee7926a16.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/addons/phantom_camera/examples/credits.txt b/addons/phantom_camera/examples/credits.txt new file mode 100644 index 0000000..d5e949a --- /dev/null +++ b/addons/phantom_camera/examples/credits.txt @@ -0,0 +1,7 @@ +##################### +EXAMPLE ASSET CREDITS +##################### + +# level_spritesheet +https://opengameart.org/content/a-platformer-in-the-forest +https://opengameart.org/users/buch diff --git a/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_example_scene.tscn new file mode 100644 index 0000000..5234e31 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_example_scene.tscn @@ -0,0 +1,641 @@ +[gd_scene load_steps=12 format=3 uid="uid://ohwjxojqcj63"] + +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_foq54"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="2_kmt5y"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="3_1cmgi"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="4_4dx73"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="5_w68mw"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_i3g4f"] +[ext_resource type="Resource" uid="uid://euybd2w0bax" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres" id="7_j2i8l"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="8_ytjsp"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/player_character_body_2d_4.3.gd" id="9_o4c4h"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_foq54") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[node name="ExampleScene2D2" type="Node2D"] + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -311.0 +offset_top = -173.0 +offset_right = 981.0 +offset_bottom = 548.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-393216, 655360, 2, -327680, 655360, 3, -262144, 655360, 3, -196608, 655360, 3, -131072, 655360, 3, -65536, 655360, 3, -393215, 720896, 2, -327679, 720896, 1, -262143, 720896, 1, -196607, 720896, 1, -131071, 720896, 1, -65535, 720896, 1, -393214, 786432, 2, -327678, 786432, 3, -262142, 786432, 3, -196606, 786432, 3, -131070, 786432, 3, -65534, 786432, 3) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1, 393225, 786432, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 458752, 1, 327681, 720896, 1, 393217, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 393218, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 393219, 720896, 1, 65540, 458752, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 393220, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 458752, 1, 327685, 720896, 1, 393221, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 393222, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 393223, 458752, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 458752, 1, 262152, 720896, 1, 327688, 720896, 1, 393224, 720896, 1, 65546, 524288, 5, 65547, 524288, 5, 65548, 524288, 5, 65549, 524288, 5, 131082, 524288, 6, 131083, 524288, 6, 131084, 524288, 6, 131085, 524288, 6, 196618, 720896, 1, 262154, 720896, 1, 196619, 720896, 1, 262155, 720896, 1, 196620, 720896, 1, 262156, 720896, 1, 196621, 720896, 1, 262157, 720896, 1, 65550, 524288, 5, 65551, 524288, 5, 65552, 524288, 5, 131086, 524288, 6, 131087, 524288, 6, 131088, 524288, 6, 196622, 720896, 1, 196623, 720896, 1, 262159, 720896, 1, 262160, 720896, 1, 196624, 720896, 1, 262158, 720896, 1, 17, 720896, 4, 65553, 720896, 5, 131089, 720896, 5, 196625, 720896, 5, 262161, 720896, 5, 18, 786432, 4, 19, 786432, 4, 20, 786432, 4, 21, 786432, 4, 22, 786432, 4, 23, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 65555, 786432, 5, 131091, 589824, 6, 196627, 786432, 5, 262163, 786432, 5, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 655360, 6, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327697, 720896, 5, 393233, 720896, 5, 327698, 589824, 6, 393234, 786432, 5, 327699, 786432, 5, 393235, 786432, 5, 327700, 786432, 5, 393236, 786432, 5, 327701, 786432, 5, 393237, 786432, 5, 327702, 786432, 5, 393238, 786432, 5, 327703, 786432, 5, 393239, 786432, 5, -131062, 720896, 4, -131061, 786432, 4, -131060, 786432, 4, -65526, 720896, 6, -65525, 786432, 6, -65524, 786432, 6, -131056, 851968, 4, -65520, 851968, 6, -131059, 786432, 4, -131058, 786432, 4, -131057, 786432, 4, -65523, 786432, 6, -65522, 786432, 6, -65521, 786432, 6, -196596, 917504, 0, -65536, 917504, 2, -65535, 983040, 2, -65534, 1048576, 2, -65533, 917504, 2, -65532, 983040, 2, -65531, 1048576, 2, -65530, 917504, 2, -65529, 983040, 2, -65528, 1048576, 2, 65535, 655360, 0, 131071, 655360, 1, 196607, 655360, 1, 262143, 655360, 1, 327679, 655360, 1, 393215, 655360, 1, 458751, 655360, 1, 524287, 655360, 1, 589823, 655360, 1, 0, 720896, 0, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 393216, 720896, 1, 458752, 720896, 1, 524288, 720896, 1, 524289, 720896, 1, 524290, 720896, 1, 524291, 720896, 1, 524292, 720896, 1, 524293, 720896, 1, 524294, 720896, 1, 524295, 720896, 1, 524296, 720896, 1, 524297, 786432, 1, 458761, 786432, 1, 458760, 720896, 1, 458759, 720896, 1, 458758, 458752, 1, 458757, 720896, 1, 458756, 720896, 1, 458755, 720896, 1, 458754, 720896, 1, 458753, 720896, 1, -262145, 851968, 4, -196609, 851968, 5, -131073, 851968, 5, -65537, 851968, 5, -1, 851968, 6, -262146, 786432, 4, -262147, 786432, 4, -196610, 589824, 6, -196611, 786432, 5, -6, 786432, 5, -5, 786432, 5, -4, 786432, 5, -3, 786432, 5, -2, 786432, 5, -65538, 786432, 5, -131074, 786432, 5, -131075, 786432, 5, -65539, 655360, 6, 65534, 851968, 5, 131070, 851968, 5, 196606, 851968, 5, 262142, 851968, 5, 327678, 851968, 5, 393214, 851968, 5, 458750, 851968, 5, 65533, 786432, 5, 65532, 786432, 5, 65531, 786432, 5, 65530, 786432, 5, 65529, 720896, 5, 131066, 786432, 5, 196602, 786432, 5, 262138, 786432, 5, 262139, 786432, 5, 327675, 786432, 5, 131068, 786432, 5, 131069, 786432, 5, 196605, 786432, 5, 262141, 786432, 5, 327677, 786432, 5, 393213, 786432, 5, 458749, 786432, 5, 393212, 786432, 5, 393211, 786432, 5, 458748, 786432, 5, 327676, 655360, 6, 262140, 786432, 5, 196604, 786432, 5, 131067, 786432, 5, 196603, 589824, 6, 458747, 786432, 5, 458746, 786432, 5, 393210, 786432, 5, 327674, 786432, 5, -7, 720896, 5, 131065, 720896, 5, 196601, 720896, 5, 262137, 720896, 5, 327673, 720896, 5, 393209, 720896, 5, 458745, 720896, 5, -327684, 720896, 3, -196594, 720896, 3, -196597, 720896, 3, -65518, 720896, 3, -65516, 720896, 3, -327686, 1048576, 5, -327685, 720896, 3, -196595, 917504, 6, -65514, 983040, 6, -327683, 983040, 5, -65513, 1048576, 5, -262151, 720896, 4, -196615, 720896, 5, -131079, 720896, 5, -65543, 720896, 5, -262150, 786432, 4, -196614, 655360, 6, -131078, 786432, 5, -65542, 786432, 5, -262149, 786432, 4, -196613, 786432, 5, -131077, 786432, 5, -65541, 786432, 5, -262148, 786432, 4, -196612, 786432, 5, -131076, 786432, 5, -65540, 786432, 5, 458769, 720896, 5, 524305, 720896, 6, 458775, 786432, 5, 458774, 786432, 5, 458773, 786432, 5, 458772, 786432, 5, 458771, 786432, 5, 458770, 786432, 5, 524306, 786432, 6, 524307, 786432, 6, 524308, 786432, 6, 524309, 786432, 6, 524310, 786432, 6, 524311, 786432, 6, 327690, 720896, 1, 393226, 720896, 1, 458762, 720896, 1, 524298, 720896, 1, 327691, 720896, 1, 393227, 720896, 1, 458763, 720896, 1, 524299, 720896, 1, 327692, 720896, 1, 393228, 720896, 1, 458764, 720896, 1, 524300, 720896, 1, 327693, 720896, 1, 393229, 720896, 1, 458765, 720896, 1, 524301, 720896, 1, 327694, 720896, 1, 393230, 720896, 1, 458766, 720896, 1, 524302, 720896, 1, 327695, 720896, 1, 393231, 720896, 1, 458767, 720896, 1, 524303, 720896, 1, 327696, 720896, 1, 393232, 720896, 1, 458768, 720896, 1, 524304, 720896, 1, 29, 851968, 4, 65565, 851968, 5, 131101, 851968, 5, 196637, 851968, 5, 262173, 851968, 5, 327709, 851968, 5, 393245, 851968, 5, 458781, 851968, 5, 524317, 851968, 6, -65511, 917504, 4, 24, 786432, 4, 25, 786432, 4, 26, 786432, 4, 27, 786432, 4, 28, 786432, 4, 65560, 786432, 5, 65561, 786432, 5, 65562, 786432, 5, 65563, 786432, 5, 65564, 786432, 5, 131100, 786432, 5, 196636, 589824, 6, 131099, 786432, 5, 131098, 786432, 5, 131097, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 393240, 786432, 5, 458776, 786432, 5, 524312, 786432, 6, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 393241, 786432, 5, 458777, 786432, 5, 524313, 786432, 6, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 393242, 655360, 6, 458778, 786432, 5, 524314, 786432, 6, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, 393243, 786432, 5, 458779, 786432, 5, 524315, 786432, 6, 262172, 786432, 5, 327708, 786432, 5, 393244, 786432, 5, 458780, 786432, 5, 524316, 786432, 6, -196593, 1048576, 6, -393182, 1048576, 6, -393185, 917504, 6, -393180, 983040, 6, -393184, 983040, 5, -65509, 720896, 3, -65510, 720896, 3, -393181, 720896, 3, -393183, 720896, 3, -65517, 720896, 3, -65515, 720896, 3, -327650, 720896, 4, -262114, 720896, 5, -196578, 720896, 5, -131042, 720896, 5, -65506, 720896, 5, -65498, 851968, 5, -131034, 851968, 5, -196570, 851968, 5, -327642, 851968, 4, -327649, 786432, 4, -327648, 786432, 4, -327647, 786432, 4, -327646, 786432, 4, -327645, 786432, 4, -327644, 786432, 4, -327643, 786432, 4, -262106, 851968, 5, -65499, 786432, 5, -131035, 786432, 5, -196571, 786432, 5, -262107, 786432, 5, -262108, 786432, 5, -262109, 786432, 5, -262110, 786432, 5, -262111, 786432, 5, -262112, 786432, 5, -262113, 786432, 5, -196577, 655360, 6, -131041, 786432, 5, -65505, 786432, 5, -65500, 655360, 6, -131036, 589824, 6, -196572, 786432, 5, -196573, 786432, 5, -196574, 786432, 5, -196575, 786432, 5, -196576, 786432, 5, -131040, 589824, 6, -65504, 786432, 5, -65501, 786432, 5, -131037, 786432, 5, -131038, 786432, 5, -131039, 786432, 5, -65503, 786432, 5, -65502, 786432, 5, 524318, 720896, 6, 458782, 720896, 5, 393246, 720896, 5, 327710, 720896, 5, 262174, 720896, 5, 196638, 720896, 5, 131102, 720896, 5, 65566, 720896, 5, 30, 720896, 5, 524319, 786432, 6, 524320, 786432, 6, 524321, 786432, 6, 524322, 786432, 6, 524323, 786432, 6, 524324, 786432, 6, 524325, 786432, 6, 524326, 851968, 6, 38, 851968, 5, 65574, 851968, 5, 131110, 851968, 5, 196646, 851968, 5, 262182, 851968, 5, 327718, 851968, 5, 393254, 851968, 5, 458790, 851968, 5, 31, 786432, 5, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 393247, 655360, 6, 458783, 786432, 5, 32, 786432, 5, 65568, 786432, 5, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 393248, 786432, 5, 458784, 786432, 5, 33, 786432, 5, 65569, 786432, 5, 131105, 655360, 6, 196641, 786432, 5, 262177, 786432, 5, 327713, 786432, 5, 393249, 786432, 5, 458785, 786432, 5, 34, 786432, 5, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 655360, 6, 327714, 655360, 6, 393250, 786432, 5, 458786, 786432, 5, 35, 786432, 5, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 393251, 786432, 5, 458787, 786432, 5, 36, 655360, 6, 65572, 786432, 5, 131108, 786432, 5, 196644, 786432, 5, 262180, 786432, 5, 327716, 786432, 5, 393252, 786432, 5, 458788, 655360, 6, 37, 786432, 5, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 786432, 5, 327717, 786432, 5, 393253, 786432, 5, 458789, 786432, 5, 524282, 786432, 5, 524283, 786432, 5, 524284, 786432, 5, 524285, 786432, 5, 524281, 720896, 5, 524286, 851968, 5, 589817, 720896, 6, 589818, 786432, 6, 589819, 786432, 6, 589820, 786432, 6, 589821, 786432, 6, 589822, 851968, 6) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("2_kmt5y")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("3_1cmgi")] +unique_name_in_owner = true +visible = false + +[node name="Controls" type="Label" parent="."] +offset_left = 167.0 +offset_top = -145.0 +offset_right = 332.0 +offset_bottom = -81.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("4_4dx73") +text = "[WASD] to move +[Space] to jump" + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(227, -28) +zoom = Vector2(1.5, 1.5) +editor_draw_limits = true + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("5_w68mw") + +[node name="Player" type="Node" parent="."] + +[node name="PlayerPhantomCamera2D" type="Node2D" parent="Player" node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +process_priority = -1 +position = Vector2(227, -28) +script = ExtResource("6_i3g4f") +priority = 10 +follow_mode = 2 +follow_target = NodePath("../CharacterBody2D") +zoom = Vector2(1.5, 1.5) +frame_preview = false +tween_resource = ExtResource("7_j2i8l") +tween_on_load = false +follow_damping = true +draw_limits = true + +[node name="CharacterBody2D" parent="Player" instance=ExtResource("8_ytjsp")] +position = Vector2(227, -28) +script = ExtResource("9_o4c4h") diff --git a/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_follow_framed_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_follow_framed_example_scene.tscn new file mode 100644 index 0000000..df284df --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_follow_framed_example_scene.tscn @@ -0,0 +1,641 @@ +[gd_scene load_steps=12 format=3 uid="uid://dg1tuoxd3b4tw"] + +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_nf5bo"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="2_5oggv"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="3_aku7q"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="4_j3ux0"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="5_uwr6r"] +[ext_resource type="Resource" uid="uid://euybd2w0bax" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres" id="6_4l0c3"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="7_briql"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="8_i4m1d"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/player_character_body_2d_4.3.gd" id="9_m3lnd"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_nf5bo") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[node name="ExampleScene2D" type="Node2D"] + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -345.0 +offset_top = -143.0 +offset_right = 947.0 +offset_bottom = 578.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-393216, 655360, 2, -327680, 655360, 3, -262144, 655360, 3, -196608, 655360, 3, -131072, 655360, 3, -65536, 655360, 3, -393215, 720896, 2, -327679, 720896, 1, -262143, 720896, 1, -196607, 720896, 1, -131071, 720896, 1, -65535, 720896, 1, -393214, 786432, 2, -327678, 786432, 3, -262142, 786432, 3, -196606, 786432, 3, -131070, 786432, 3, -65534, 786432, 3) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1, 393225, 786432, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 458752, 1, 327681, 720896, 1, 393217, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 393218, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 393219, 720896, 1, 65540, 458752, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 393220, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 458752, 1, 327685, 720896, 1, 393221, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 393222, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 393223, 458752, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 458752, 1, 262152, 720896, 1, 327688, 720896, 1, 393224, 720896, 1, 65546, 524288, 5, 65547, 524288, 5, 65548, 524288, 5, 65549, 524288, 5, 131082, 524288, 6, 131083, 524288, 6, 131084, 524288, 6, 131085, 524288, 6, 196618, 720896, 1, 262154, 720896, 1, 196619, 720896, 1, 262155, 720896, 1, 196620, 720896, 1, 262156, 720896, 1, 196621, 720896, 1, 262157, 720896, 1, 65550, 524288, 5, 65551, 524288, 5, 65552, 524288, 5, 131086, 524288, 6, 131087, 524288, 6, 131088, 524288, 6, 196622, 720896, 1, 196623, 720896, 1, 262159, 720896, 1, 262160, 720896, 1, 196624, 720896, 1, 262158, 720896, 1, 17, 720896, 4, 65553, 720896, 5, 131089, 720896, 5, 196625, 720896, 5, 262161, 720896, 5, 18, 786432, 4, 19, 786432, 4, 20, 786432, 4, 21, 786432, 4, 22, 786432, 4, 23, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 65555, 786432, 5, 131091, 589824, 6, 196627, 786432, 5, 262163, 786432, 5, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 655360, 6, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327697, 720896, 5, 393233, 720896, 5, 327698, 589824, 6, 393234, 786432, 5, 327699, 786432, 5, 393235, 786432, 5, 327700, 786432, 5, 393236, 786432, 5, 327701, 786432, 5, 393237, 786432, 5, 327702, 786432, 5, 393238, 786432, 5, 327703, 786432, 5, 393239, 786432, 5, -131062, 720896, 4, -131061, 786432, 4, -131060, 786432, 4, -65526, 720896, 6, -65525, 786432, 6, -65524, 786432, 6, -131056, 851968, 4, -65520, 851968, 6, -131059, 786432, 4, -131058, 786432, 4, -131057, 786432, 4, -65523, 786432, 6, -65522, 786432, 6, -65521, 786432, 6, -196596, 917504, 0, -65536, 917504, 2, -65535, 983040, 2, -65534, 1048576, 2, -65533, 917504, 2, -65532, 983040, 2, -65531, 1048576, 2, -65530, 917504, 2, -65529, 983040, 2, -65528, 1048576, 2, 65535, 655360, 0, 131071, 655360, 1, 196607, 655360, 1, 262143, 655360, 1, 327679, 655360, 1, 393215, 655360, 1, 458751, 655360, 1, 524287, 655360, 1, 589823, 655360, 1, 0, 720896, 0, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 393216, 720896, 1, 458752, 720896, 1, 524288, 720896, 1, 524289, 720896, 1, 524290, 720896, 1, 524291, 720896, 1, 524292, 720896, 1, 524293, 720896, 1, 524294, 720896, 1, 524295, 720896, 1, 524296, 720896, 1, 524297, 786432, 1, 458761, 786432, 1, 458760, 720896, 1, 458759, 720896, 1, 458758, 458752, 1, 458757, 720896, 1, 458756, 720896, 1, 458755, 720896, 1, 458754, 720896, 1, 458753, 720896, 1, -262145, 851968, 4, -196609, 851968, 5, -131073, 851968, 5, -65537, 851968, 5, -1, 851968, 6, -262146, 786432, 4, -262147, 786432, 4, -196610, 589824, 6, -196611, 786432, 5, -6, 786432, 5, -5, 786432, 5, -4, 786432, 5, -3, 786432, 5, -2, 786432, 5, -65538, 786432, 5, -131074, 786432, 5, -131075, 786432, 5, -65539, 655360, 6, 65534, 851968, 5, 131070, 851968, 5, 196606, 851968, 5, 262142, 851968, 5, 327678, 851968, 5, 393214, 851968, 5, 458750, 851968, 5, 65533, 786432, 5, 65532, 786432, 5, 65531, 786432, 5, 65530, 786432, 5, 65529, 720896, 5, 131066, 786432, 5, 196602, 786432, 5, 262138, 786432, 5, 262139, 786432, 5, 327675, 786432, 5, 131068, 786432, 5, 131069, 786432, 5, 196605, 786432, 5, 262141, 786432, 5, 327677, 786432, 5, 393213, 786432, 5, 458749, 786432, 5, 393212, 786432, 5, 393211, 786432, 5, 458748, 786432, 5, 327676, 655360, 6, 262140, 786432, 5, 196604, 786432, 5, 131067, 786432, 5, 196603, 589824, 6, 458747, 786432, 5, 458746, 786432, 5, 393210, 786432, 5, 327674, 786432, 5, -7, 720896, 5, 131065, 720896, 5, 196601, 720896, 5, 262137, 720896, 5, 327673, 720896, 5, 393209, 720896, 5, 458745, 720896, 5, -327684, 720896, 3, -196594, 720896, 3, -196597, 720896, 3, -65518, 720896, 3, -65516, 720896, 3, -327686, 1048576, 5, -327685, 720896, 3, -196595, 917504, 6, -65514, 983040, 6, -327683, 983040, 5, -65513, 1048576, 5, -262151, 720896, 4, -196615, 720896, 5, -131079, 720896, 5, -65543, 720896, 5, -262150, 786432, 4, -196614, 655360, 6, -131078, 786432, 5, -65542, 786432, 5, -262149, 786432, 4, -196613, 786432, 5, -131077, 786432, 5, -65541, 786432, 5, -262148, 786432, 4, -196612, 786432, 5, -131076, 786432, 5, -65540, 786432, 5, 458769, 720896, 5, 524305, 720896, 6, 458775, 786432, 5, 458774, 786432, 5, 458773, 786432, 5, 458772, 786432, 5, 458771, 786432, 5, 458770, 786432, 5, 524306, 786432, 6, 524307, 786432, 6, 524308, 786432, 6, 524309, 786432, 6, 524310, 786432, 6, 524311, 786432, 6, 327690, 720896, 1, 393226, 720896, 1, 458762, 720896, 1, 524298, 720896, 1, 327691, 720896, 1, 393227, 720896, 1, 458763, 720896, 1, 524299, 720896, 1, 327692, 720896, 1, 393228, 720896, 1, 458764, 720896, 1, 524300, 720896, 1, 327693, 720896, 1, 393229, 720896, 1, 458765, 720896, 1, 524301, 720896, 1, 327694, 720896, 1, 393230, 720896, 1, 458766, 720896, 1, 524302, 720896, 1, 327695, 720896, 1, 393231, 720896, 1, 458767, 720896, 1, 524303, 720896, 1, 327696, 720896, 1, 393232, 720896, 1, 458768, 720896, 1, 524304, 720896, 1, 29, 851968, 4, 65565, 851968, 5, 131101, 851968, 5, 196637, 851968, 5, 262173, 851968, 5, 327709, 851968, 5, 393245, 851968, 5, 458781, 851968, 5, 524317, 851968, 6, -65511, 917504, 4, 24, 786432, 4, 25, 786432, 4, 26, 786432, 4, 27, 786432, 4, 28, 786432, 4, 65560, 786432, 5, 65561, 786432, 5, 65562, 786432, 5, 65563, 786432, 5, 65564, 786432, 5, 131100, 786432, 5, 196636, 589824, 6, 131099, 786432, 5, 131098, 786432, 5, 131097, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 393240, 786432, 5, 458776, 786432, 5, 524312, 786432, 6, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 393241, 786432, 5, 458777, 786432, 5, 524313, 786432, 6, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 393242, 655360, 6, 458778, 786432, 5, 524314, 786432, 6, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, 393243, 786432, 5, 458779, 786432, 5, 524315, 786432, 6, 262172, 786432, 5, 327708, 786432, 5, 393244, 786432, 5, 458780, 786432, 5, 524316, 786432, 6, -196593, 1048576, 6, -393182, 1048576, 6, -393185, 917504, 6, -393180, 983040, 6, -393184, 983040, 5, -65509, 720896, 3, -65510, 720896, 3, -393181, 720896, 3, -393183, 720896, 3, -65517, 720896, 3, -65515, 720896, 3, -327650, 720896, 4, -262114, 720896, 5, -196578, 720896, 5, -131042, 720896, 5, -65506, 720896, 5, -65498, 851968, 5, -131034, 851968, 5, -196570, 851968, 5, -327642, 851968, 4, -327649, 786432, 4, -327648, 786432, 4, -327647, 786432, 4, -327646, 786432, 4, -327645, 786432, 4, -327644, 786432, 4, -327643, 786432, 4, -262106, 851968, 5, -65499, 786432, 5, -131035, 786432, 5, -196571, 786432, 5, -262107, 786432, 5, -262108, 786432, 5, -262109, 786432, 5, -262110, 786432, 5, -262111, 786432, 5, -262112, 786432, 5, -262113, 786432, 5, -196577, 655360, 6, -131041, 786432, 5, -65505, 786432, 5, -65500, 655360, 6, -131036, 589824, 6, -196572, 786432, 5, -196573, 786432, 5, -196574, 786432, 5, -196575, 786432, 5, -196576, 786432, 5, -131040, 589824, 6, -65504, 786432, 5, -65501, 786432, 5, -131037, 786432, 5, -131038, 786432, 5, -131039, 786432, 5, -65503, 786432, 5, -65502, 786432, 5, 524318, 720896, 6, 458782, 720896, 5, 393246, 720896, 5, 327710, 720896, 5, 262174, 720896, 5, 196638, 720896, 5, 131102, 720896, 5, 65566, 720896, 5, 30, 720896, 5, 524319, 786432, 6, 524320, 786432, 6, 524321, 786432, 6, 524322, 786432, 6, 524323, 786432, 6, 524324, 786432, 6, 524325, 786432, 6, 524326, 851968, 6, 38, 851968, 5, 65574, 851968, 5, 131110, 851968, 5, 196646, 851968, 5, 262182, 851968, 5, 327718, 851968, 5, 393254, 851968, 5, 458790, 851968, 5, 31, 786432, 5, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 393247, 655360, 6, 458783, 786432, 5, 32, 786432, 5, 65568, 786432, 5, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 393248, 786432, 5, 458784, 786432, 5, 33, 786432, 5, 65569, 786432, 5, 131105, 655360, 6, 196641, 786432, 5, 262177, 786432, 5, 327713, 786432, 5, 393249, 786432, 5, 458785, 786432, 5, 34, 786432, 5, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 655360, 6, 327714, 655360, 6, 393250, 786432, 5, 458786, 786432, 5, 35, 786432, 5, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 393251, 786432, 5, 458787, 786432, 5, 36, 655360, 6, 65572, 786432, 5, 131108, 786432, 5, 196644, 786432, 5, 262180, 786432, 5, 327716, 786432, 5, 393252, 786432, 5, 458788, 655360, 6, 37, 786432, 5, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 786432, 5, 327717, 786432, 5, 393253, 786432, 5, 458789, 786432, 5, 524282, 786432, 5, 524283, 786432, 5, 524284, 786432, 5, 524285, 786432, 5, 524281, 720896, 5, 524286, 851968, 5, 589817, 720896, 6, 589818, 786432, 6, 589819, 786432, 6, 589820, 786432, 6, 589821, 786432, 6, 589822, 851968, 6) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("2_5oggv")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("3_aku7q")] +unique_name_in_owner = true +visible = false + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(282, -29) +zoom = Vector2(2, 2) + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("4_j3ux0") + +[node name="Player" type="Node" parent="."] + +[node name="PlayerPhantomCamera2D" type="Node2D" parent="Player" node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +position = Vector2(282, -29) +script = ExtResource("5_uwr6r") +priority = 5 +follow_mode = 5 +follow_target = NodePath("../CharacterBody2D") +zoom = Vector2(2, 2) +tween_resource = ExtResource("6_4l0c3") +tween_on_load = false +follow_damping = true +dead_zone_width = 0.416 +dead_zone_height = 0.63 +show_viewfinder_in_play = true +draw_limits = true + +[node name="Label" type="Label" parent="Player"] +offset_left = 167.0 +offset_top = -145.0 +offset_right = 332.0 +offset_bottom = -81.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("7_briql") +text = "[WASD] to move +[Space] to jump" + +[node name="CharacterBody2D" parent="Player" instance=ExtResource("8_i4m1d")] +position = Vector2(282, -29) +script = ExtResource("9_m3lnd") diff --git a/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_follow_group_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_follow_group_example_scene.tscn new file mode 100644 index 0000000..143e8d6 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_follow_group_example_scene.tscn @@ -0,0 +1,648 @@ +[gd_scene load_steps=14 format=3 uid="uid://bio6mao7gtru2"] + +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_8rflf"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="2_tafwr"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="3_37c7w"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="4_dxiro"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="5_gaaip"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_ojk83"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="7_awenl"] +[ext_resource type="Texture2D" uid="uid://cwep0on2tthn7" path="res://addons/phantom_camera/examples/textures/2D/phantom_camera_2d_sprite.png" id="8_ys0m4"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="9_witv0"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/player_character_body_2d_4.3.gd" id="10_aivri"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_8rflf") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[sub_resource type="Resource" id="Resource_spy00"] +script = ExtResource("7_awenl") +duration = 0.3 +transition = 4 +ease = 2 + +[node name="ExampleScene2D" type="Node2D"] + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -311.0 +offset_top = -173.0 +offset_right = 981.0 +offset_bottom = 548.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-393216, 655360, 2, -327680, 655360, 3, -262144, 655360, 3, -196608, 655360, 3, -131072, 655360, 3, -65536, 655360, 3, -393215, 720896, 2, -327679, 720896, 1, -262143, 720896, 1, -196607, 720896, 1, -131071, 720896, 1, -65535, 720896, 1, -393214, 786432, 2, -327678, 786432, 3, -262142, 786432, 3, -196606, 786432, 3, -131070, 786432, 3, -65534, 786432, 3) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1, 393225, 786432, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 458752, 1, 327681, 720896, 1, 393217, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 393218, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 393219, 720896, 1, 65540, 458752, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 393220, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 458752, 1, 327685, 720896, 1, 393221, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 393222, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 393223, 458752, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 458752, 1, 262152, 720896, 1, 327688, 720896, 1, 393224, 720896, 1, 65546, 524288, 5, 65547, 524288, 5, 65548, 524288, 5, 65549, 524288, 5, 131082, 524288, 6, 131083, 524288, 6, 131084, 524288, 6, 131085, 524288, 6, 196618, 720896, 1, 262154, 720896, 1, 196619, 720896, 1, 262155, 720896, 1, 196620, 720896, 1, 262156, 720896, 1, 196621, 720896, 1, 262157, 720896, 1, 65550, 524288, 5, 65551, 524288, 5, 65552, 524288, 5, 131086, 524288, 6, 131087, 524288, 6, 131088, 524288, 6, 196622, 720896, 1, 196623, 720896, 1, 262159, 720896, 1, 262160, 720896, 1, 196624, 720896, 1, 262158, 720896, 1, 17, 720896, 4, 65553, 720896, 5, 131089, 720896, 5, 196625, 720896, 5, 262161, 720896, 5, 18, 786432, 4, 19, 786432, 4, 20, 786432, 4, 21, 786432, 4, 22, 786432, 4, 23, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 65555, 786432, 5, 131091, 589824, 6, 196627, 786432, 5, 262163, 786432, 5, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 655360, 6, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327697, 720896, 5, 393233, 720896, 5, 327698, 589824, 6, 393234, 786432, 5, 327699, 786432, 5, 393235, 786432, 5, 327700, 786432, 5, 393236, 786432, 5, 327701, 786432, 5, 393237, 786432, 5, 327702, 786432, 5, 393238, 786432, 5, 327703, 786432, 5, 393239, 786432, 5, -131062, 720896, 4, -131061, 786432, 4, -131060, 786432, 4, -65526, 720896, 6, -65525, 786432, 6, -65524, 786432, 6, -131056, 851968, 4, -65520, 851968, 6, -131059, 786432, 4, -131058, 786432, 4, -131057, 786432, 4, -65523, 786432, 6, -65522, 786432, 6, -65521, 786432, 6, -196596, 917504, 0, -65536, 917504, 2, -65535, 983040, 2, -65534, 1048576, 2, -65533, 917504, 2, -65532, 983040, 2, -65531, 1048576, 2, -65530, 917504, 2, -65529, 983040, 2, -65528, 1048576, 2, 65535, 655360, 0, 131071, 655360, 1, 196607, 655360, 1, 262143, 655360, 1, 327679, 655360, 1, 393215, 655360, 1, 458751, 655360, 1, 524287, 655360, 1, 589823, 655360, 1, 0, 720896, 0, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 393216, 720896, 1, 458752, 720896, 1, 524288, 720896, 1, 524289, 720896, 1, 524290, 720896, 1, 524291, 720896, 1, 524292, 720896, 1, 524293, 720896, 1, 524294, 720896, 1, 524295, 720896, 1, 524296, 720896, 1, 524297, 786432, 1, 458761, 786432, 1, 458760, 720896, 1, 458759, 720896, 1, 458758, 458752, 1, 458757, 720896, 1, 458756, 720896, 1, 458755, 720896, 1, 458754, 720896, 1, 458753, 720896, 1, -262145, 851968, 4, -196609, 851968, 5, -131073, 851968, 5, -65537, 851968, 5, -1, 851968, 6, -262146, 786432, 4, -262147, 786432, 4, -196610, 589824, 6, -196611, 786432, 5, -6, 786432, 5, -5, 786432, 5, -4, 786432, 5, -3, 786432, 5, -2, 786432, 5, -65538, 786432, 5, -131074, 786432, 5, -131075, 786432, 5, -65539, 655360, 6, 65534, 851968, 5, 131070, 851968, 5, 196606, 851968, 5, 262142, 851968, 5, 327678, 851968, 5, 393214, 851968, 5, 458750, 851968, 5, 65533, 786432, 5, 65532, 786432, 5, 65531, 786432, 5, 65530, 786432, 5, 65529, 720896, 5, 131066, 786432, 5, 196602, 786432, 5, 262138, 786432, 5, 262139, 786432, 5, 327675, 786432, 5, 131068, 786432, 5, 131069, 786432, 5, 196605, 786432, 5, 262141, 786432, 5, 327677, 786432, 5, 393213, 786432, 5, 458749, 786432, 5, 393212, 786432, 5, 393211, 786432, 5, 458748, 786432, 5, 327676, 655360, 6, 262140, 786432, 5, 196604, 786432, 5, 131067, 786432, 5, 196603, 589824, 6, 458747, 786432, 5, 458746, 786432, 5, 393210, 786432, 5, 327674, 786432, 5, -7, 720896, 5, 131065, 720896, 5, 196601, 720896, 5, 262137, 720896, 5, 327673, 720896, 5, 393209, 720896, 5, 458745, 720896, 5, -327684, 720896, 3, -196594, 720896, 3, -196597, 720896, 3, -65518, 720896, 3, -65516, 720896, 3, -327686, 1048576, 5, -327685, 720896, 3, -196595, 917504, 6, -65514, 983040, 6, -327683, 983040, 5, -65513, 1048576, 5, -262151, 720896, 4, -196615, 720896, 5, -131079, 720896, 5, -65543, 720896, 5, -262150, 786432, 4, -196614, 655360, 6, -131078, 786432, 5, -65542, 786432, 5, -262149, 786432, 4, -196613, 786432, 5, -131077, 786432, 5, -65541, 786432, 5, -262148, 786432, 4, -196612, 786432, 5, -131076, 786432, 5, -65540, 786432, 5, 458769, 720896, 5, 524305, 720896, 6, 458775, 786432, 5, 458774, 786432, 5, 458773, 786432, 5, 458772, 786432, 5, 458771, 786432, 5, 458770, 786432, 5, 524306, 786432, 6, 524307, 786432, 6, 524308, 786432, 6, 524309, 786432, 6, 524310, 786432, 6, 524311, 786432, 6, 327690, 720896, 1, 393226, 720896, 1, 458762, 720896, 1, 524298, 720896, 1, 327691, 720896, 1, 393227, 720896, 1, 458763, 720896, 1, 524299, 720896, 1, 327692, 720896, 1, 393228, 720896, 1, 458764, 720896, 1, 524300, 720896, 1, 327693, 720896, 1, 393229, 720896, 1, 458765, 720896, 1, 524301, 720896, 1, 327694, 720896, 1, 393230, 720896, 1, 458766, 720896, 1, 524302, 720896, 1, 327695, 720896, 1, 393231, 720896, 1, 458767, 720896, 1, 524303, 720896, 1, 327696, 720896, 1, 393232, 720896, 1, 458768, 720896, 1, 524304, 720896, 1, 29, 851968, 4, 65565, 851968, 5, 131101, 851968, 5, 196637, 851968, 5, 262173, 851968, 5, 327709, 851968, 5, 393245, 851968, 5, 458781, 851968, 5, 524317, 851968, 6, -65511, 917504, 4, 24, 786432, 4, 25, 786432, 4, 26, 786432, 4, 27, 786432, 4, 28, 786432, 4, 65560, 786432, 5, 65561, 786432, 5, 65562, 786432, 5, 65563, 786432, 5, 65564, 786432, 5, 131100, 786432, 5, 196636, 589824, 6, 131099, 786432, 5, 131098, 786432, 5, 131097, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 393240, 786432, 5, 458776, 786432, 5, 524312, 786432, 6, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 393241, 786432, 5, 458777, 786432, 5, 524313, 786432, 6, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 393242, 655360, 6, 458778, 786432, 5, 524314, 786432, 6, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, 393243, 786432, 5, 458779, 786432, 5, 524315, 786432, 6, 262172, 786432, 5, 327708, 786432, 5, 393244, 786432, 5, 458780, 786432, 5, 524316, 786432, 6, -196593, 1048576, 6, -393182, 1048576, 6, -393185, 917504, 6, -393180, 983040, 6, -393184, 983040, 5, -65509, 720896, 3, -65510, 720896, 3, -393181, 720896, 3, -393183, 720896, 3, -65517, 720896, 3, -65515, 720896, 3, -327650, 720896, 4, -262114, 720896, 5, -196578, 720896, 5, -131042, 720896, 5, -65506, 720896, 5, -65498, 851968, 5, -131034, 851968, 5, -196570, 851968, 5, -327642, 851968, 4, -327649, 786432, 4, -327648, 786432, 4, -327647, 786432, 4, -327646, 786432, 4, -327645, 786432, 4, -327644, 786432, 4, -327643, 786432, 4, -262106, 851968, 5, -65499, 786432, 5, -131035, 786432, 5, -196571, 786432, 5, -262107, 786432, 5, -262108, 786432, 5, -262109, 786432, 5, -262110, 786432, 5, -262111, 786432, 5, -262112, 786432, 5, -262113, 786432, 5, -196577, 655360, 6, -131041, 786432, 5, -65505, 786432, 5, -65500, 655360, 6, -131036, 589824, 6, -196572, 786432, 5, -196573, 786432, 5, -196574, 786432, 5, -196575, 786432, 5, -196576, 786432, 5, -131040, 589824, 6, -65504, 786432, 5, -65501, 786432, 5, -131037, 786432, 5, -131038, 786432, 5, -131039, 786432, 5, -65503, 786432, 5, -65502, 786432, 5, 524318, 720896, 6, 458782, 720896, 5, 393246, 720896, 5, 327710, 720896, 5, 262174, 720896, 5, 196638, 720896, 5, 131102, 720896, 5, 65566, 720896, 5, 30, 720896, 5, 524319, 786432, 6, 524320, 786432, 6, 524321, 786432, 6, 524322, 786432, 6, 524323, 786432, 6, 524324, 786432, 6, 524325, 786432, 6, 524326, 851968, 6, 38, 851968, 5, 65574, 851968, 5, 131110, 851968, 5, 196646, 851968, 5, 262182, 851968, 5, 327718, 851968, 5, 393254, 851968, 5, 458790, 851968, 5, 31, 786432, 5, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 393247, 655360, 6, 458783, 786432, 5, 32, 786432, 5, 65568, 786432, 5, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 393248, 786432, 5, 458784, 786432, 5, 33, 786432, 5, 65569, 786432, 5, 131105, 655360, 6, 196641, 786432, 5, 262177, 786432, 5, 327713, 786432, 5, 393249, 786432, 5, 458785, 786432, 5, 34, 786432, 5, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 655360, 6, 327714, 655360, 6, 393250, 786432, 5, 458786, 786432, 5, 35, 786432, 5, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 393251, 786432, 5, 458787, 786432, 5, 36, 655360, 6, 65572, 786432, 5, 131108, 786432, 5, 196644, 786432, 5, 262180, 786432, 5, 327716, 786432, 5, 393252, 786432, 5, 458788, 655360, 6, 37, 786432, 5, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 786432, 5, 327717, 786432, 5, 393253, 786432, 5, 458789, 786432, 5) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("2_tafwr")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("3_37c7w")] +unique_name_in_owner = true +visible = false + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(107, -172.5) +position_smoothing_speed = 8.0 + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("4_dxiro") + +[node name="Label" type="Label" parent="."] +offset_left = 167.0 +offset_top = -133.0 +offset_right = 332.0 +offset_bottom = -69.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("5_gaaip") +text = "[WASD] to move +[Space] to jump" + +[node name="PhantomCamera2D" type="Node2D" parent="." node_paths=PackedStringArray("follow_targets")] +position = Vector2(107, -172.5) +script = ExtResource("6_ojk83") +priority = 10 +follow_mode = 3 +follow_targets = [NodePath("../GroupNPCSprite"), NodePath("../CharacterBody2D")] +tween_resource = SubResource("Resource_spy00") +tween_on_load = false +follow_damping = true +auto_zoom = true +auto_zoom_margin = Vector4(200, 0, 200, 0) +draw_limits = true + +[node name="GroupNPCSprite" type="Sprite2D" parent="."] +unique_name_in_owner = true +position = Vector2(107, -316) +texture = ExtResource("8_ys0m4") + +[node name="CharacterBody2D" parent="." instance=ExtResource("9_witv0")] +position = Vector2(265, -29) +script = ExtResource("10_aivri") diff --git a/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_follow_path_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_follow_path_example_scene.tscn new file mode 100644 index 0000000..260aa31 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_follow_path_example_scene.tscn @@ -0,0 +1,659 @@ +[gd_scene load_steps=13 format=3 uid="uid://b75giavcvh1mv"] + +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_t003o"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="2_4ncqd"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="3_tpji3"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="4_w0rat"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="5_q77r4"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_y6hoa"] +[ext_resource type="Resource" uid="uid://euybd2w0bax" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres" id="7_wd55r"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="8_fy81j"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/player_character_body_2d_4.3.gd" id="9_u6ygl"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_t003o") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[sub_resource type="Curve2D" id="Curve2D_usrhf"] +_data = { +"points": PackedVector2Array(-96.4111, 42.3785, 0, 0, 222, 0, 0, 0, 0, 0, 1550, 0) +} +point_count = 2 + +[node name="ExampleScene2D" type="Node2D"] + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -311.0 +offset_top = -173.0 +offset_right = 981.0 +offset_bottom = 548.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-393216, 655360, 2, -327680, 655360, 3, -262144, 655360, 3, -196608, 655360, 3, -131072, 655360, 3, -65536, 655360, 3, -393215, 720896, 2, -327679, 720896, 1, -262143, 720896, 1, -196607, 720896, 1, -131071, 720896, 1, -65535, 720896, 1, -393214, 786432, 2, -327678, 786432, 3, -262142, 786432, 3, -196606, 786432, 3, -131070, 786432, 3, -65534, 786432, 3) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1, 393225, 786432, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 458752, 1, 327681, 720896, 1, 393217, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 393218, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 393219, 720896, 1, 65540, 458752, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 393220, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 458752, 1, 327685, 720896, 1, 393221, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 393222, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 393223, 458752, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 458752, 1, 262152, 720896, 1, 327688, 720896, 1, 393224, 720896, 1, 65546, 524288, 5, 65547, 524288, 5, 65548, 524288, 5, 65549, 524288, 5, 131082, 524288, 6, 131083, 524288, 6, 131084, 524288, 6, 131085, 524288, 6, 196618, 720896, 1, 262154, 720896, 1, 196619, 720896, 1, 262155, 720896, 1, 196620, 720896, 1, 262156, 720896, 1, 196621, 720896, 1, 262157, 720896, 1, 65550, 524288, 5, 65551, 524288, 5, 65552, 524288, 5, 131086, 524288, 6, 131087, 524288, 6, 131088, 524288, 6, 196622, 720896, 1, 196623, 720896, 1, 262159, 720896, 1, 262160, 720896, 1, 196624, 720896, 1, 262158, 720896, 1, 17, 720896, 4, 65553, 720896, 5, 131089, 720896, 5, 196625, 720896, 5, 262161, 720896, 5, 18, 786432, 4, 19, 786432, 4, 20, 786432, 4, 21, 786432, 4, 22, 786432, 4, 23, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 65555, 786432, 5, 131091, 589824, 6, 196627, 786432, 5, 262163, 786432, 5, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 655360, 6, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327697, 720896, 5, 393233, 720896, 5, 327698, 589824, 6, 393234, 786432, 5, 327699, 786432, 5, 393235, 786432, 5, 327700, 786432, 5, 393236, 786432, 5, 327701, 786432, 5, 393237, 786432, 5, 327702, 786432, 5, 393238, 786432, 5, 327703, 786432, 5, 393239, 786432, 5, -131062, 720896, 4, -131061, 786432, 4, -131060, 786432, 4, -65526, 720896, 6, -65525, 786432, 6, -65524, 786432, 6, -131056, 851968, 4, -65520, 851968, 6, -131059, 786432, 4, -131058, 786432, 4, -131057, 786432, 4, -65523, 786432, 6, -65522, 786432, 6, -65521, 786432, 6, -65536, 917504, 2, -65535, 983040, 2, -65534, 1048576, 2, -65533, 917504, 2, -65532, 983040, 2, -65531, 1048576, 2, -65530, 917504, 2, -65529, 983040, 2, -65528, 1048576, 2, 65535, 655360, 0, 131071, 655360, 1, 196607, 655360, 1, 262143, 655360, 1, 327679, 655360, 1, 393215, 655360, 1, 458751, 655360, 1, 524287, 655360, 1, 589823, 655360, 1, 0, 720896, 0, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 393216, 720896, 1, 458752, 720896, 1, 524288, 720896, 1, 524289, 720896, 1, 524290, 720896, 1, 524291, 720896, 1, 524292, 720896, 1, 524293, 720896, 1, 524294, 720896, 1, 524295, 720896, 1, 524296, 720896, 1, 524297, 786432, 1, 458761, 786432, 1, 458760, 720896, 1, 458759, 720896, 1, 458758, 458752, 1, 458757, 720896, 1, 458756, 720896, 1, 458755, 720896, 1, 458754, 720896, 1, 458753, 720896, 1, -262145, 851968, 4, -196609, 851968, 5, -131073, 851968, 5, -65537, 851968, 5, -1, 851968, 6, -262146, 786432, 4, -262147, 786432, 4, -196610, 589824, 6, -196611, 786432, 5, -6, 786432, 5, -5, 786432, 5, -4, 786432, 5, -3, 786432, 5, -2, 786432, 5, -65538, 786432, 5, -131074, 786432, 5, -131075, 786432, 5, -65539, 655360, 6, 65534, 851968, 5, 131070, 851968, 5, 196606, 851968, 5, 262142, 851968, 5, 327678, 851968, 5, 393214, 851968, 5, 458750, 851968, 5, 65533, 786432, 5, 65532, 786432, 5, 65531, 786432, 5, 65530, 786432, 5, 65529, 720896, 5, 131066, 786432, 5, 196602, 786432, 5, 262138, 786432, 5, 262139, 786432, 5, 327675, 786432, 5, 131068, 786432, 5, 131069, 786432, 5, 196605, 786432, 5, 262141, 786432, 5, 327677, 786432, 5, 393213, 786432, 5, 458749, 786432, 5, 393212, 786432, 5, 393211, 786432, 5, 458748, 786432, 5, 327676, 655360, 6, 262140, 786432, 5, 196604, 786432, 5, 131067, 786432, 5, 196603, 589824, 6, 458747, 786432, 5, 458746, 786432, 5, 393210, 786432, 5, 327674, 786432, 5, -7, 720896, 5, 131065, 720896, 5, 196601, 720896, 5, 262137, 720896, 5, 327673, 720896, 5, 393209, 720896, 5, 458745, 720896, 5, -327684, 720896, 3, -196594, 720896, 3, -196597, 720896, 3, -65518, 720896, 3, -65516, 720896, 3, -327686, 1048576, 5, -327685, 720896, 3, -196595, 917504, 6, -65514, 983040, 6, -327683, 983040, 5, -65513, 1048576, 5, -262151, 720896, 4, -196615, 720896, 5, -131079, 720896, 5, -65543, 720896, 5, -262150, 786432, 4, -196614, 655360, 6, -131078, 786432, 5, -65542, 786432, 5, -262149, 786432, 4, -196613, 786432, 5, -131077, 786432, 5, -65541, 786432, 5, -262148, 786432, 4, -196612, 786432, 5, -131076, 786432, 5, -65540, 786432, 5, 458769, 720896, 5, 524305, 720896, 6, 458775, 786432, 5, 458774, 786432, 5, 458773, 786432, 5, 458772, 786432, 5, 458771, 786432, 5, 458770, 786432, 5, 524306, 786432, 6, 524307, 786432, 6, 524308, 786432, 6, 524309, 786432, 6, 524310, 786432, 6, 524311, 786432, 6, 327690, 720896, 1, 393226, 720896, 1, 458762, 720896, 1, 524298, 720896, 1, 327691, 720896, 1, 393227, 720896, 1, 458763, 720896, 1, 524299, 720896, 1, 327692, 720896, 1, 393228, 720896, 1, 458764, 720896, 1, 524300, 720896, 1, 327693, 720896, 1, 393229, 720896, 1, 458765, 720896, 1, 524301, 720896, 1, 327694, 720896, 1, 393230, 720896, 1, 458766, 720896, 1, 524302, 720896, 1, 327695, 720896, 1, 393231, 720896, 1, 458767, 720896, 1, 524303, 720896, 1, 327696, 720896, 1, 393232, 720896, 1, 458768, 720896, 1, 524304, 720896, 1, 29, 851968, 4, 65565, 851968, 5, 131101, 851968, 5, 196637, 851968, 5, 262173, 851968, 5, 327709, 851968, 5, 393245, 851968, 5, 458781, 851968, 5, 524317, 851968, 6, 24, 786432, 4, 25, 786432, 4, 26, 786432, 4, 27, 786432, 4, 28, 786432, 4, 65560, 786432, 5, 65561, 786432, 5, 65562, 786432, 5, 65563, 786432, 5, 65564, 786432, 5, 131100, 786432, 5, 196636, 589824, 6, 131099, 786432, 5, 131098, 786432, 5, 131097, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 393240, 786432, 5, 458776, 786432, 5, 524312, 786432, 6, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 393241, 786432, 5, 458777, 786432, 5, 524313, 786432, 6, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 393242, 655360, 6, 458778, 786432, 5, 524314, 786432, 6, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, 393243, 786432, 5, 458779, 786432, 5, 524315, 786432, 6, 262172, 786432, 5, 327708, 786432, 5, 393244, 786432, 5, 458780, 786432, 5, 524316, 786432, 6, -196593, 1048576, 6, -65509, 720896, 3, -65510, 720896, 3, -65517, 720896, 3, -65515, 720896, 3, 524282, 786432, 5, 524283, 786432, 5, 524284, 786432, 5, 524285, 786432, 5, 524281, 720896, 5, 524286, 851968, 5, 589817, 720896, 6, 589818, 786432, 6, 589819, 786432, 6, 589820, 786432, 6, 589821, 786432, 6, 589822, 851968, 6, -196569, 720896, 4, -131033, 720896, 5, -65497, 720896, 5, 39, 720896, 5, 65575, 720896, 5, 131111, 720896, 5, 196647, 720896, 5, 262183, 720896, 5, 327719, 720896, 5, 393255, 720896, 5, 458791, 720896, 5, 524327, 720896, 5, 589863, 720896, 5, 655399, 720896, 6, -262104, 917504, 6, -196568, 786432, 4, -131032, 786432, 5, -65496, 655360, 6, 40, 786432, 5, 65576, 786432, 5, 131112, 786432, 5, 196648, 786432, 5, 262184, 786432, 5, 327720, 786432, 5, 393256, 786432, 5, 458792, 786432, 5, 524328, 655360, 6, 589864, 786432, 5, 655400, 786432, 6, -262103, 983040, 5, -196567, 786432, 4, -131031, 786432, 5, -65495, 786432, 5, 41, 589824, 6, 65577, 786432, 5, 131113, 786432, 5, 196649, 786432, 5, 262185, 786432, 5, 327721, 786432, 5, 393257, 786432, 5, 458793, 786432, 5, 524329, 786432, 5, 589865, 786432, 5, 655401, 786432, 6, -262102, 720896, 3, -196566, 786432, 4, -131030, 786432, 5, -65494, 786432, 5, 42, 786432, 5, 65578, 786432, 5, 131114, 786432, 5, 196650, 786432, 5, 262186, 655360, 6, 327722, 786432, 5, 393258, 786432, 5, 458794, 786432, 5, 524330, 786432, 5, 589866, 786432, 5, 655402, 786432, 6, -262101, 1048576, 6, -196565, 786432, 4, -131029, 786432, 5, -65493, 786432, 5, 43, 786432, 5, 65579, 786432, 5, 131115, 786432, 5, 196651, 786432, 5, 262187, 786432, 5, 327723, 786432, 5, 393259, 655360, 6, 458795, 655360, 6, 524331, 786432, 5, 589867, 786432, 5, 655403, 786432, 6, -262100, 720896, 3, -196564, 786432, 4, -131028, 786432, 5, -65492, 786432, 5, 44, 786432, 5, 65580, 786432, 5, 131116, 786432, 5, 196652, 786432, 5, 262188, 786432, 5, 327724, 786432, 5, 393260, 786432, 5, 458796, 786432, 5, 524332, 786432, 5, 589868, 786432, 5, 655404, 786432, 6, -262099, 983040, 6, -196563, 786432, 4, -131027, 786432, 5, -65491, 786432, 5, 45, 589824, 6, 65581, 655360, 6, 131117, 655360, 6, 196653, 786432, 5, 262189, 786432, 5, 327725, 786432, 5, 393261, 786432, 5, 458797, 786432, 5, 524333, 786432, 5, 589869, 655360, 6, 655405, 786432, 6, -196562, 786432, 4, -131026, 786432, 5, -65490, 786432, 5, 46, 786432, 5, 65582, 786432, 5, 131118, 786432, 5, 196654, 786432, 5, 262190, 786432, 5, 327726, 786432, 5, 393262, 786432, 5, 458798, 786432, 5, 524334, 786432, 5, 589870, 786432, 5, 655406, 786432, 6, -196561, 851968, 4, -131025, 851968, 5, -65489, 851968, 5, 47, 851968, 5, 65583, 851968, 5, 131119, 851968, 5, 196655, 851968, 5, 262191, 851968, 5, 327727, 851968, 5, 393263, 851968, 5, 458799, 851968, 5, 524335, 851968, 5, 589871, 851968, 5, 655407, 851968, 6, -131042, 720896, 4, -65506, 720896, 5, 30, 720896, 5, 65566, 720896, 5, 131102, 720896, 5, 196638, 720896, 5, 262174, 720896, 5, 327710, 720896, 5, 393246, 720896, 5, 458782, 720896, 5, 524318, 720896, 5, -196577, 917504, 6, -131041, 786432, 4, -65505, 786432, 5, 31, 655360, 6, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 393247, 786432, 5, 458783, 786432, 5, 524319, 786432, 5, -196576, 983040, 5, -131040, 786432, 4, -65504, 786432, 5, 32, 786432, 5, 65568, 589824, 6, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 393248, 786432, 5, 458784, 786432, 5, 524320, 786432, 5, -196575, 720896, 3, -131039, 786432, 4, -65503, 786432, 5, 33, 786432, 5, 65569, 786432, 5, 131105, 786432, 5, 196641, 786432, 5, 262177, 786432, 5, 327713, 655360, 6, 393249, 786432, 5, 458785, 786432, 5, 524321, 786432, 5, -196574, 1048576, 6, -131038, 786432, 4, -65502, 786432, 5, 34, 786432, 5, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 786432, 5, 327714, 786432, 5, 393250, 786432, 5, 458786, 655360, 6, 524322, 655360, 6, -196573, 720896, 3, -131037, 786432, 4, -65501, 786432, 5, 35, 786432, 5, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 393251, 786432, 5, 458787, 786432, 5, 524323, 786432, 5, -196572, 983040, 6, -131036, 786432, 4, -65500, 786432, 5, 36, 786432, 5, 65572, 589824, 6, 131108, 655360, 6, 196644, 655360, 6, 262180, 786432, 5, 327716, 786432, 5, 393252, 786432, 5, 458788, 786432, 5, 524324, 786432, 5, -131035, 786432, 4, -65499, 786432, 5, 37, 786432, 5, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 786432, 5, 327717, 786432, 5, 393253, 786432, 5, 458789, 786432, 5, 524325, 786432, 5, -131034, 851968, 4, -65498, 851968, 5, 38, 851968, 5, 65574, 851968, 5, 131110, 851968, 5, 196646, 851968, 5, 262182, 851968, 5, 327718, 851968, 5, 393254, 851968, 5, 458790, 851968, 5, 524326, 851968, 5, 589854, 720896, 5, 655390, 720896, 5, 720926, 720896, 6, 589855, 655360, 6, 655391, 786432, 5, 720927, 786432, 6, 589856, 786432, 5, 655392, 786432, 5, 720928, 786432, 6, 589857, 786432, 5, 655393, 786432, 5, 720929, 786432, 6, 589858, 786432, 5, 655394, 786432, 5, 720930, 786432, 6, 589859, 786432, 5, 655395, 786432, 5, 720931, 786432, 6, 589860, 786432, 5, 655396, 655360, 6, 720932, 786432, 6, 589861, 786432, 5, 655397, 786432, 5, 720933, 786432, 6, 589862, 851968, 5, 655398, 851968, 5, 720934, 851968, 6, -458704, 720896, 4, -393168, 720896, 5, -327632, 720896, 5, -262096, 720896, 5, -196560, 720896, 5, -131024, 720896, 5, -65488, 720896, 5, 48, 720896, 5, 65584, 720896, 5, 131120, 720896, 5, 196656, 720896, 5, 262192, 720896, 5, 327728, 720896, 5, 393264, 720896, 6, -524239, 917504, 6, -458703, 786432, 4, -393167, 786432, 5, -327631, 655360, 6, -262095, 786432, 5, -196559, 786432, 5, -131023, 786432, 5, -65487, 786432, 5, 49, 786432, 5, 65585, 786432, 5, 131121, 786432, 5, 196657, 786432, 5, 262193, 655360, 6, 327729, 786432, 5, 393265, 786432, 6, -524238, 983040, 5, -458702, 786432, 4, -393166, 786432, 5, -327630, 786432, 5, -262094, 589824, 6, -196558, 786432, 5, -131022, 786432, 5, -65486, 786432, 5, 50, 786432, 5, 65586, 786432, 5, 131122, 786432, 5, 196658, 786432, 5, 262194, 786432, 5, 327730, 786432, 5, 393266, 786432, 6, -524237, 720896, 3, -458701, 786432, 4, -393165, 786432, 5, -327629, 786432, 5, -262093, 786432, 5, -196557, 786432, 5, -131021, 786432, 5, -65485, 786432, 5, 51, 655360, 6, 65587, 786432, 5, 131123, 786432, 5, 196659, 786432, 5, 262195, 786432, 5, 327731, 786432, 5, 393267, 786432, 6, -524236, 1048576, 6, -458700, 786432, 4, -393164, 786432, 5, -327628, 786432, 5, -262092, 786432, 5, -196556, 786432, 5, -131020, 786432, 5, -65484, 786432, 5, 52, 786432, 5, 65588, 786432, 5, 131124, 655360, 6, 196660, 655360, 6, 262196, 786432, 5, 327732, 786432, 5, 393268, 786432, 6, -524235, 720896, 3, -458699, 786432, 4, -393163, 786432, 5, -327627, 786432, 5, -262091, 786432, 5, -196555, 786432, 5, -131019, 786432, 5, -65483, 786432, 5, 53, 786432, 5, 65589, 786432, 5, 131125, 786432, 5, 196661, 786432, 5, 262197, 786432, 5, 327733, 786432, 5, 393269, 786432, 6, -524234, 983040, 6, -458698, 786432, 4, -393162, 786432, 5, -327626, 786432, 5, -262090, 589824, 6, -196554, 655360, 6, -131018, 655360, 6, -65482, 786432, 5, 54, 786432, 5, 65590, 786432, 5, 131126, 786432, 5, 196662, 786432, 5, 262198, 786432, 5, 327734, 655360, 6, 393270, 786432, 6, -458697, 786432, 4, -393161, 786432, 5, -327625, 786432, 5, -262089, 786432, 5, -196553, 786432, 5, -131017, 786432, 5, -65481, 786432, 5, 55, 786432, 5, 65591, 786432, 5, 131127, 786432, 5, 196663, 786432, 5, 262199, 786432, 5, 327735, 786432, 5, 393271, 786432, 6, -458696, 851968, 4, -393160, 851968, 5, -327624, 851968, 5, -262088, 851968, 5, -196552, 851968, 5, -131016, 851968, 5, -65480, 851968, 5, 56, 851968, 5, 65592, 851968, 5, 131128, 851968, 5, 196664, 851968, 5, 262200, 851968, 5, 327736, 851968, 5, 393272, 851968, 6) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("2_4ncqd")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("3_tpji3")] +unique_name_in_owner = true +visible = false + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(374, -216) +zoom = Vector2(1.5, 1.5) + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("4_w0rat") + +[node name="Label" type="Label" parent="."] +offset_left = 167.0 +offset_top = -133.0 +offset_right = 332.0 +offset_bottom = -69.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("5_q77r4") +text = "[WASD] to move +[Space] to jump" + +[node name="Player" type="Node" parent="."] + +[node name="Label" type="Label" parent="Player"] +visible = false +offset_left = 167.0 +offset_top = -145.0 +offset_right = 332.0 +offset_bottom = -81.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("5_q77r4") +text = "[WASD] to move +[Space] to jump" + +[node name="PlayerPhantomCamera2D" type="Node2D" parent="." node_paths=PackedStringArray("follow_target", "follow_path")] +unique_name_in_owner = true +position = Vector2(374, -216) +script = ExtResource("6_y6hoa") +priority = 10 +follow_mode = 4 +follow_target = NodePath("../CharacterBody2D") +follow_path = NodePath("../Path2D") +zoom = Vector2(1.5, 1.5) +tween_resource = ExtResource("7_wd55r") +tween_on_load = false +draw_limits = true + +[node name="Path2D" type="Path2D" parent="."] +position = Vector2(152, -216) +curve = SubResource("Curve2D_usrhf") + +[node name="CharacterBody2D" parent="." instance=ExtResource("8_fy81j")] +position = Vector2(225, -28) +script = ExtResource("9_u6ygl") diff --git a/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_limit_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_limit_example_scene.tscn new file mode 100644 index 0000000..d34057f --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_limit_example_scene.tscn @@ -0,0 +1,718 @@ +[gd_scene load_steps=17 format=3 uid="uid://0ox7hgdpwpqp"] + +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/2d_room_limit_tween_4.3.gd" id="1_bwr3f"] +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="2_f03of"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="3_cysy4"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="4_qqut6"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="5_yv8tn"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_2n5r1"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/player_character_body_2d_4.3.gd" id="6_68ewj"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="7_ne05h"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="8_hulu3"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("2_f03of") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[sub_resource type="Resource" id="Resource_ct1eh"] +script = ExtResource("7_ne05h") +duration = 0.9 +transition = 2 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_xmxri"] +size = Vector2(790, 410) + +[sub_resource type="Resource" id="Resource_exr3j"] +script = ExtResource("7_ne05h") +duration = 0.9 +transition = 2 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_wtfjw"] +size = Vector2(1530, 700) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_daeuh"] +size = Vector2(1027.5, 610.5) + +[node name="ExampleScene2D" type="Node2D"] +script = ExtResource("1_bwr3f") + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -311.0 +offset_top = -173.0 +offset_right = 981.0 +offset_bottom = 548.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) +metadata/_edit_lock_ = true + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +position = Vector2(-97, 0) +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-458743, 851968, 6, -458744, 786432, 6, -458745, 786432, 6, -458746, 786432, 6, -458747, 786432, 6, -458748, 786432, 6, -458749, 786432, 6, -458750, 786432, 6, -458751, 786432, 6, -393218, 786432, 6, -393219, 786432, 6, -393220, 786432, 6, -393221, 720896, 6, -458752, 786432, 6, -393217, 786432, 6, -524279, 851968, 5, -589815, 851968, 5, -655351, 851968, 5, -720887, 851968, 4, -720888, 786432, 4, -720889, 786432, 4, -720890, 786432, 4, -720891, 786432, 4, -720892, 786432, 4, -720893, 786432, 4, -720894, 786432, 4, -720895, 786432, 4, -720896, 786432, 4, -655361, 786432, 4, -655362, 786432, 4, -655363, 786432, 4, -655364, 786432, 4, -655365, 720896, 4, -589829, 720896, 5, -524293, 720896, 5, -458757, 720896, 5, -589828, 786432, 5, -524292, 786432, 5, -458756, 786432, 5, -589827, 786432, 5, -524291, 786432, 5, -458755, 786432, 5, -589826, 786432, 5, -524290, 786432, 5, -458754, 786432, 5, -589825, 786432, 5, -524289, 786432, 5, -458753, 786432, 5, -655360, 786432, 5, -589824, 786432, 5, -524288, 786432, 5, -655359, 786432, 5, -589823, 786432, 5, -524287, 786432, 5, -655358, 786432, 5, -589822, 786432, 5, -524286, 786432, 5, -655357, 786432, 5, -589821, 786432, 5, -524285, 786432, 5, -655356, 786432, 5, -589820, 786432, 5, -524284, 786432, 5, -655355, 786432, 5, -589819, 786432, 5, -524283, 786432, 5, -655354, 786432, 5, -589818, 786432, 5, -524282, 786432, 5, -655353, 786432, 5, -589817, 786432, 5, -524281, 786432, 5, -655352, 786432, 5, -589816, 786432, 5, -524280, 786432, 5) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(65533, 720896, 0, 65534, 720896, 0, 65535, 720896, 0, 0, 720896, 0, 1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65532, 720896, 0, 65531, 655360, 0, 131067, 655360, 1, 196603, 655360, 1, 262139, 655360, 1, 327675, 655360, 1, 393211, 655360, 1, 131068, 720896, 1, 196604, 720896, 1, 262140, 720896, 1, 327676, 720896, 1, 393212, 720896, 1, 131069, 720896, 1, 196605, 720896, 1, 262141, 720896, 1, 327677, 720896, 1, 393213, 720896, 1, 131070, 720896, 1, 196606, 720896, 1, 262142, 720896, 1, 327678, 720896, 1, 393214, 720896, 1, 131071, 720896, 1, 196607, 720896, 1, 262143, 720896, 1, 327679, 720896, 1, 393215, 720896, 1, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 720896, 1, 327681, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 65540, 720896, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 720896, 1, 327685, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 720896, 1, 262152, 720896, 1, 327688, 720896, 1, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1) + +[node name="TileMap2" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(8, 786432, 4, 9, 786432, 4, 10, 786432, 4, 11, 786432, 4, 12, 786432, 4, 13, 786432, 4, 14, 786432, 4, 65528, 851968, 5, 65527, 786432, 5, 65526, 786432, 5, 65525, 786432, 5, 65524, 786432, 5, 65523, 786432, 5, 65544, 786432, 5, 131080, 786432, 5, 196616, 786432, 5, 262152, 786432, 5, 65545, 786432, 5, 131081, 786432, 5, 196617, 786432, 5, 262153, 786432, 5, 65546, 786432, 5, 131082, 786432, 5, 196618, 786432, 5, 262154, 786432, 5, 65547, 786432, 5, 131083, 786432, 5, 196619, 786432, 5, 262155, 786432, 5, 65548, 786432, 5, 131084, 786432, 5, 196620, 786432, 5, 262156, 786432, 5, 65549, 786432, 5, 131085, 786432, 5, 196621, 786432, 5, 262157, 786432, 5, 65550, 786432, 5, 131086, 786432, 5, 196622, 786432, 5, 262158, 786432, 5, 327694, 786432, 5, 327693, 786432, 5, 327692, 786432, 5, 327691, 786432, 5, 327690, 786432, 5, 327689, 786432, 5, 327688, 786432, 5, -131089, 720896, 5, -65553, 720896, 5, -17, 720896, 5, 65519, 720896, 6, -131088, 786432, 5, -65552, 786432, 5, -16, 786432, 5, 65520, 786432, 5, -131087, 786432, 5, -65551, 786432, 5, -15, 786432, 5, 65521, 786432, 5, -131086, 786432, 5, -65550, 786432, 5, -14, 786432, 5, 65522, 786432, 5, -131085, 786432, 5, -65549, 786432, 5, -13, 786432, 5, -131084, 786432, 5, -65548, 786432, 5, -12, 786432, 5, -131083, 786432, 5, -65547, 786432, 5, -11, 786432, 5, -131082, 786432, 5, -65546, 786432, 5, -10, 786432, 5, -131081, 786432, 5, -65545, 786432, 5, -9, 786432, 5, -131080, 851968, 5, -65544, 851968, 5, -8, 851968, 5, 131064, 851968, 5, 196600, 851968, 5, 262136, 851968, 5, 327672, 851968, 5, 393208, 851968, 5, 131056, 786432, 5, 196592, 786432, 5, 262128, 786432, 5, 327664, 786432, 5, 393200, 786432, 5, 131057, 786432, 5, 196593, 786432, 5, 262129, 786432, 5, 327665, 786432, 5, 393201, 786432, 5, 131058, 786432, 5, 196594, 786432, 5, 262130, 786432, 5, 327666, 786432, 5, 393202, 786432, 5, 131059, 786432, 5, 196595, 786432, 5, 262131, 786432, 5, 327667, 786432, 5, 393203, 786432, 5, 131060, 786432, 5, 196596, 786432, 5, 262132, 786432, 5, 327668, 786432, 5, 393204, 786432, 5, 131061, 786432, 5, 196597, 786432, 5, 262133, 786432, 5, 327669, 786432, 5, 393205, 786432, 5, 131062, 786432, 5, 196598, 786432, 5, 262134, 786432, 5, 327670, 786432, 5, 393206, 786432, 5, 131063, 786432, 5, 196599, 786432, 5, 262135, 786432, 5, 327671, 786432, 5, 393207, 786432, 5, 17, 786432, 4, 65553, 786432, 5, 131089, 786432, 5, 196625, 786432, 5, 262161, 786432, 5, 327697, 786432, 5, 18, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 327698, 786432, 5, 15, 786432, 4, 65551, 786432, 5, 131087, 786432, 5, 196623, 786432, 5, 262159, 786432, 5, 327695, 786432, 5, 16, 786432, 4, 65552, 786432, 5, 131088, 786432, 5, 196624, 786432, 5, 262160, 786432, 5, 327696, 786432, 5, 19, 786432, 4, 65555, 786432, 5, 131091, 786432, 5, 196627, 786432, 5, 262163, 786432, 5, 327699, 786432, 5, -458769, 720896, 5, -393233, 720896, 5, -458768, 786432, 5, -393232, 786432, 5, -458767, 786432, 5, -393231, 786432, 5, -458766, 786432, 5, -393230, 786432, 5, -458765, 786432, 5, -393229, 786432, 5, -458764, 786432, 5, -393228, 786432, 5, -458763, 786432, 5, -393227, 786432, 5, -458762, 786432, 5, -393226, 786432, 5, -458761, 786432, 5, -393225, 786432, 5, -458760, 851968, 5, -393224, 851968, 5, -655377, 720896, 4, -589841, 720896, 5, -524305, 720896, 5, -655376, 786432, 4, -589840, 786432, 5, -524304, 786432, 5, -655375, 786432, 4, -589839, 786432, 5, -524303, 786432, 5, -655374, 786432, 4, -589838, 786432, 5, -524302, 786432, 5, -655373, 786432, 4, -589837, 786432, 5, -524301, 786432, 5, -655372, 786432, 4, -589836, 786432, 5, -524300, 786432, 5, -655371, 786432, 4, -589835, 786432, 5, -524299, 786432, 5, -655370, 786432, 4, -589834, 786432, 5, -524298, 786432, 5, -655369, 786432, 4, -589833, 786432, 5, -524297, 786432, 5, -655368, 851968, 4, -589832, 851968, 5, -524296, 851968, 5, -327697, 720896, 5, -327696, 786432, 5, -327695, 786432, 5, -327694, 786432, 5, -327693, 786432, 5, -327692, 786432, 5, -327691, 786432, 5, -327690, 786432, 5, -327689, 786432, 5, -327688, 851968, 5, -262161, 720896, 5, -262160, 786432, 5, -262159, 786432, 5, -262158, 786432, 5, -262157, 786432, 5, -262156, 786432, 5, -262155, 786432, 5, -262154, 786432, 5, -262153, 786432, 5, -262152, 851968, 5, -196625, 720896, 5, -196624, 786432, 5, -196623, 786432, 5, -196622, 786432, 5, -196621, 786432, 5, -196620, 786432, 5, -196619, 786432, 5, -196618, 786432, 5, -196617, 786432, 5, -196616, 851968, 5, 20, 786432, 4, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 327700, 786432, 5, 21, 786432, 4, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 327701, 786432, 5, 22, 786432, 4, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 786432, 5, 327702, 786432, 5, 23, 786432, 4, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327703, 786432, 5, 24, 786432, 4, 65560, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 25, 786432, 4, 65561, 786432, 5, 131097, 786432, 5, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 26, 786432, 4, 65562, 786432, 5, 131098, 786432, 5, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 27, 786432, 4, 65563, 786432, 5, 131099, 786432, 5, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, -65498, 917504, 3, 38, 786432, 4, 65574, 786432, 5, 131110, 786432, 5, 196646, 786432, 5, 262182, 786432, 5, 327718, 786432, 5, 39, 786432, 4, 65575, 786432, 5, 131111, 786432, 5, 196647, 786432, 5, 262183, 786432, 5, 327719, 786432, 5, -65496, 983040, 3, 40, 786432, 4, 65576, 786432, 5, 131112, 786432, 5, 196648, 786432, 5, 262184, 786432, 5, 327720, 786432, 5, -65495, 983040, 3, 41, 786432, 4, 65577, 786432, 5, 131113, 786432, 5, 196649, 786432, 5, 262185, 786432, 5, 327721, 786432, 5, -65494, 983040, 3, 42, 786432, 4, 65578, 786432, 5, 131114, 786432, 5, 196650, 786432, 5, 262186, 786432, 5, 327722, 786432, 5, -65493, 983040, 3, 43, 786432, 4, 65579, 786432, 5, 131115, 786432, 5, 196651, 786432, 5, 262187, 786432, 5, 327723, 786432, 5, -65492, 983040, 3, 44, 786432, 4, 65580, 786432, 5, 131116, 786432, 5, 196652, 786432, 5, 262188, 786432, 5, 327724, 786432, 5, -65491, 983040, 3, 45, 786432, 4, 65581, 786432, 5, 131117, 786432, 5, 196653, 786432, 5, 262189, 786432, 5, 327725, 786432, 5, -65490, 983040, 3, 46, 786432, 4, 65582, 786432, 5, 131118, 786432, 5, 196654, 786432, 5, 262190, 786432, 5, 327726, 786432, 5, -65489, 983040, 3, 47, 786432, 4, 65583, 786432, 5, 131119, 786432, 5, 196655, 786432, 5, 262191, 786432, 5, 327727, 786432, 5, -65488, 1048576, 3, 48, 786432, 4, 65584, 786432, 5, 131120, 786432, 5, 196656, 786432, 5, 262192, 786432, 5, 327728, 786432, 5, 49, 851968, 4, 65585, 851968, 5, 131121, 851968, 5, 196657, 851968, 5, 262193, 851968, 5, 327729, 851968, 5, -65497, 983040, 3, -589774, 720896, 4, -524238, 720896, 5, -458702, 720896, 5, -393166, 720896, 5, -327630, 720896, 5, -262094, 720896, 5, -196558, 720896, 5, -131022, 720896, 5, -65486, 720896, 5, 50, 720896, 5, 65586, 720896, 5, 131122, 720896, 5, 196658, 720896, 5, 262194, 720896, 5, 327730, 720896, 5, -589773, 786432, 4, -524237, 786432, 5, -458701, 786432, 5, -393165, 786432, 5, -327629, 786432, 5, -262093, 786432, 5, -196557, 786432, 5, -131021, 786432, 5, -65485, 786432, 5, 51, 786432, 5, 65587, 786432, 5, 131123, 786432, 5, 196659, 786432, 5, 262195, 786432, 5, 327731, 786432, 5, -589772, 786432, 4, -524236, 786432, 5, -458700, 786432, 5, -393164, 786432, 5, -327628, 786432, 5, -262092, 786432, 5, -196556, 786432, 5, -131020, 786432, 5, -65484, 786432, 5, 52, 786432, 5, 65588, 786432, 5, 131124, 786432, 5, 196660, 786432, 5, 262196, 786432, 5, 327732, 786432, 5, -589771, 786432, 4, -524235, 786432, 5, -458699, 786432, 5, -393163, 786432, 5, -327627, 786432, 5, -262091, 786432, 5, -196555, 786432, 5, -131019, 786432, 5, -65483, 786432, 5, 53, 786432, 5, 65589, 786432, 5, 131125, 786432, 5, 196661, 786432, 5, 262197, 786432, 5, 327733, 786432, 5, -589770, 786432, 4, -524234, 786432, 5, -458698, 786432, 5, -393162, 786432, 5, -327626, 786432, 5, -262090, 786432, 5, -196554, 786432, 5, -131018, 786432, 5, -65482, 786432, 5, 54, 786432, 5, 65590, 786432, 5, 131126, 786432, 5, 196662, 786432, 5, 262198, 786432, 5, 327734, 786432, 5, -589769, 786432, 4, -524233, 786432, 5, -458697, 786432, 5, -393161, 786432, 5, -327625, 786432, 5, -262089, 786432, 5, -196553, 786432, 5, -131017, 786432, 5, -65481, 786432, 5, 55, 786432, 5, 65591, 786432, 5, 131127, 786432, 5, 196663, 786432, 5, 262199, 786432, 5, 327735, 786432, 5, -589768, 786432, 4, -524232, 786432, 5, -458696, 786432, 5, -393160, 786432, 5, -327624, 786432, 5, -262088, 786432, 5, -196552, 786432, 5, -131016, 786432, 5, -65480, 786432, 5, 56, 786432, 5, 65592, 786432, 5, 131128, 786432, 5, 196664, 786432, 5, 262200, 786432, 5, 327736, 786432, 5, -589767, 786432, 4, -524231, 786432, 5, -458695, 786432, 5, -393159, 786432, 5, -327623, 786432, 5, -262087, 786432, 5, -196551, 786432, 5, -131015, 786432, 5, -65479, 786432, 5, 57, 786432, 5, 65593, 786432, 5, 131129, 786432, 5, 196665, 786432, 5, 262201, 786432, 5, 327737, 786432, 5, -589766, 786432, 4, -524230, 786432, 5, -458694, 786432, 5, -393158, 786432, 5, -327622, 786432, 5, -262086, 786432, 5, -196550, 786432, 5, -131014, 786432, 5, -65478, 786432, 5, 58, 786432, 5, 65594, 786432, 5, 131130, 786432, 5, 196666, 786432, 5, 262202, 786432, 5, 327738, 786432, 5, -589765, 851968, 4, -524229, 851968, 5, -458693, 851968, 5, -393157, 851968, 5, -327621, 851968, 5, -262085, 851968, 5, -196549, 851968, 5, -131013, 851968, 5, -65477, 851968, 5, 59, 851968, 5, 65595, 851968, 5, 131131, 851968, 5, 196667, 851968, 5, 262203, 851968, 5, 327739, 851968, 5, 28, 786432, 4, 65564, 786432, 5, 131100, 786432, 5, 196636, 786432, 5, 262172, 786432, 5, 327708, 786432, 5, 29, 786432, 4, 65565, 786432, 5, 131101, 786432, 5, 196637, 786432, 5, 262173, 786432, 5, 327709, 786432, 5, 30, 786432, 4, 65566, 786432, 5, 131102, 786432, 5, 196638, 786432, 5, 262174, 786432, 5, 327710, 786432, 5, 31, 786432, 4, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 32, 786432, 4, 65568, 786432, 5, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 33, 786432, 4, 65569, 786432, 5, 131105, 786432, 5, 196641, 786432, 5, 262177, 786432, 5, 327713, 786432, 5, 34, 786432, 4, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 786432, 5, 327714, 786432, 5, 35, 786432, 4, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 36, 786432, 4, 65572, 786432, 5, 131108, 786432, 5, 196644, 786432, 5, 262180, 786432, 5, 327716, 786432, 5, 37, 786432, 4, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 786432, 5, 327717, 786432, 5, -65487, 458752, 6, -131023, 458752, 5, -196559, 458752, 5, -262095, 458752, 5, -327631, 458752, 5, -393167, 458752, 5, -458703, 458752, 5, -524239, 458752, 5, -589775, 458752, 4) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("3_cysy4")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("4_qqut6")] +unique_name_in_owner = true +visible = false + +[node name="CharacterBody2D" parent="." instance=ExtResource("5_yv8tn")] +unique_name_in_owner = true +position = Vector2(66, -50) +script = ExtResource("6_68ewj") + +[node name="RoomLeftPhantomCamera2D" type="Node2D" parent="." node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +position = Vector2(66, -113.205) +script = ExtResource("6_2n5r1") +priority = 5 +follow_mode = 2 +follow_target = NodePath("../CharacterBody2D") +zoom = Vector2(2, 2) +tween_resource = SubResource("Resource_ct1eh") +follow_offset = Vector2(0, -63.205) +follow_damping = true +draw_limits = true +limit_target = NodePath("../TileMap") +limit_margin = Vector4i(-50, 0, -50, 0) + +[node name="RoomLeftArea2D" type="Area2D" parent="."] +unique_name_in_owner = true +position = Vector2(117, -174) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RoomLeftArea2D"] +position = Vector2(-79, 43) +shape = SubResource("RectangleShape2D_xmxri") +debug_color = Color(0, 0.6, 0.701961, 0.0313726) + +[node name="RoomCentrePhantomCamera2D" type="Node2D" parent="."] +unique_name_in_owner = true +position = Vector2(1474, -149) +script = ExtResource("6_2n5r1") +follow_mode = 2 +zoom = Vector2(1.5, 1.5) +tween_resource = SubResource("Resource_exr3j") +follow_damping = true +draw_limits = true +limit_target = NodePath("../RoomCentreArea2D/CollisionShape2D") + +[node name="RoomCentreArea2D" type="Area2D" parent="."] +unique_name_in_owner = true +position = Vector2(755, -179) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RoomCentreArea2D"] +position = Vector2(338, -28) +shape = SubResource("RectangleShape2D_wtfjw") +debug_color = Color(0, 0.6, 0.701961, 0) + +[node name="RoomRightArea2D" type="Area2D" parent="."] +unique_name_in_owner = true +position = Vector2(2065, -160) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RoomRightArea2D"] +position = Vector2(255.75, -3.25) +shape = SubResource("RectangleShape2D_daeuh") +debug_color = Color(0, 0.6, 0.701961, 0) + +[node name="RoomRightPhantomCamera2D" type="Node2D" parent="."] +unique_name_in_owner = true +position = Vector2(2347, -156) +scale = Vector2(1.0024, 1) +script = ExtResource("6_2n5r1") +follow_mode = 2 +zoom = Vector2(2, 2) +tween_resource = SubResource("Resource_exr3j") +follow_damping = true +draw_limits = true + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(66, -113.205) +zoom = Vector2(2, 2) +limit_left = -387 +limit_top = -528 +limit_right = 433 +limit_bottom = 288 +position_smoothing_speed = 10.0 +editor_draw_limits = true + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("8_hulu3") diff --git a/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_tweening_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_tweening_example_scene.tscn new file mode 100644 index 0000000..4831baf --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D-4.3/2d_tweening_example_scene.tscn @@ -0,0 +1,793 @@ +[gd_scene load_steps=20 format=3 uid="uid://bvpp5na5054jd"] + +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_h1rbo"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="2_1f2t2"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="3_o6nri"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="4_j7670"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="5_gvv7r"] +[ext_resource type="Resource" uid="uid://euybd2w0bax" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres" id="6_rwobr"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="7_ylx0h"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="8_ytsgf"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/2d_trigger_area.gd" id="9_3r1pw"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/player_character_body_2d_4.3.gd" id="9_5jy5e"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="10_guf2v"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_h1rbo") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_tgk1y"] +size = Vector2(140, 160) + +[sub_resource type="Resource" id="Resource_mtp70"] +script = ExtResource("10_guf2v") +duration = 0.6 +transition = 1 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_clm0y"] +size = Vector2(104, 160) + +[sub_resource type="Resource" id="Resource_8jg5c"] +script = ExtResource("10_guf2v") +duration = 0.3 +transition = 8 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_uka0w"] +size = Vector2(560, 160) + +[sub_resource type="Resource" id="Resource_e4e41"] +script = ExtResource("10_guf2v") +duration = 1.2 +transition = 10 +ease = 2 + +[node name="ExampleScene2D" type="Node2D"] + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -311.0 +offset_top = -173.0 +offset_right = 981.0 +offset_bottom = 548.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-393216, 655360, 2, -327680, 655360, 3, -262144, 655360, 3, -196608, 655360, 3, -131072, 655360, 3, -65536, 655360, 3, -393215, 720896, 2, -327679, 720896, 1, -262143, 720896, 1, -196607, 720896, 1, -131071, 720896, 1, -65535, 720896, 1, -393214, 786432, 2, -327678, 786432, 3, -262142, 786432, 3, -196606, 786432, 3, -131070, 786432, 3, -65534, 786432, 3) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1, 393225, 786432, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 458752, 1, 327681, 720896, 1, 393217, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 393218, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 393219, 720896, 1, 65540, 458752, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 393220, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 458752, 1, 327685, 720896, 1, 393221, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 393222, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 393223, 458752, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 458752, 1, 262152, 720896, 1, 327688, 720896, 1, 393224, 720896, 1, 65546, 524288, 5, 65547, 524288, 5, 65548, 524288, 5, 65549, 524288, 5, 131082, 524288, 6, 131083, 524288, 6, 131084, 524288, 6, 131085, 524288, 6, 196618, 720896, 1, 262154, 720896, 1, 196619, 720896, 1, 262155, 720896, 1, 196620, 720896, 1, 262156, 720896, 1, 196621, 720896, 1, 262157, 720896, 1, 65550, 524288, 5, 65551, 524288, 5, 65552, 524288, 5, 131086, 524288, 6, 131087, 524288, 6, 131088, 524288, 6, 196622, 720896, 1, 196623, 720896, 1, 262159, 720896, 1, 262160, 720896, 1, 196624, 720896, 1, 262158, 720896, 1, 17, 720896, 4, 65553, 720896, 5, 131089, 720896, 5, 196625, 720896, 5, 262161, 720896, 5, 18, 786432, 4, 19, 786432, 4, 20, 786432, 4, 21, 786432, 4, 22, 786432, 4, 23, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 65555, 786432, 5, 131091, 589824, 6, 196627, 786432, 5, 262163, 786432, 5, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 655360, 6, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327697, 720896, 5, 393233, 720896, 5, 327698, 589824, 6, 393234, 786432, 5, 327699, 786432, 5, 393235, 786432, 5, 327700, 786432, 5, 393236, 786432, 5, 327701, 786432, 5, 393237, 786432, 5, 327702, 786432, 5, 393238, 786432, 5, 327703, 786432, 5, 393239, 786432, 5, -131062, 720896, 4, -131061, 786432, 4, -131060, 786432, 4, -65526, 720896, 6, -65525, 786432, 6, -65524, 786432, 6, -131056, 851968, 4, -65520, 851968, 6, -131059, 786432, 4, -131058, 786432, 4, -131057, 786432, 4, -65523, 786432, 6, -65522, 786432, 6, -65521, 786432, 6, -65536, 917504, 2, -65535, 983040, 2, -65534, 1048576, 2, -65533, 917504, 2, -65532, 983040, 2, -65531, 1048576, 2, -65530, 917504, 2, -65529, 983040, 2, -65528, 1048576, 2, 65535, 655360, 0, 131071, 655360, 1, 196607, 655360, 1, 262143, 655360, 1, 327679, 655360, 1, 393215, 655360, 1, 458751, 655360, 1, 524287, 655360, 1, 589823, 655360, 1, 0, 720896, 0, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 393216, 720896, 1, 458752, 720896, 1, 524288, 720896, 1, 524289, 720896, 1, 524290, 720896, 1, 524291, 720896, 1, 524292, 720896, 1, 524293, 720896, 1, 524294, 720896, 1, 524295, 720896, 1, 524296, 720896, 1, 524297, 786432, 1, 458761, 786432, 1, 458760, 720896, 1, 458759, 720896, 1, 458758, 458752, 1, 458757, 720896, 1, 458756, 720896, 1, 458755, 720896, 1, 458754, 720896, 1, 458753, 720896, 1, -262145, 851968, 4, -196609, 851968, 5, -131073, 851968, 5, -65537, 851968, 5, -1, 851968, 6, -262146, 786432, 4, -262147, 786432, 4, -196610, 589824, 6, -196611, 786432, 5, -6, 786432, 5, -5, 786432, 5, -4, 786432, 5, -3, 786432, 5, -2, 786432, 5, -65538, 786432, 5, -131074, 786432, 5, -131075, 786432, 5, -65539, 655360, 6, 65534, 851968, 5, 131070, 851968, 5, 196606, 851968, 5, 262142, 851968, 5, 327678, 851968, 5, 393214, 851968, 5, 458750, 851968, 5, 65533, 786432, 5, 65532, 786432, 5, 65531, 786432, 5, 65530, 786432, 5, 65529, 720896, 5, 131066, 786432, 5, 196602, 786432, 5, 262138, 786432, 5, 262139, 786432, 5, 327675, 786432, 5, 131068, 786432, 5, 131069, 786432, 5, 196605, 786432, 5, 262141, 786432, 5, 327677, 786432, 5, 393213, 786432, 5, 458749, 786432, 5, 393212, 786432, 5, 393211, 786432, 5, 458748, 786432, 5, 327676, 655360, 6, 262140, 786432, 5, 196604, 786432, 5, 131067, 786432, 5, 196603, 589824, 6, 458747, 786432, 5, 458746, 786432, 5, 393210, 786432, 5, 327674, 786432, 5, -7, 720896, 5, 131065, 720896, 5, 196601, 720896, 5, 262137, 720896, 5, 327673, 720896, 5, 393209, 720896, 5, 458745, 720896, 5, -327684, 720896, 3, -196594, 720896, 3, -196597, 720896, 3, -65518, 720896, 3, -65516, 720896, 3, -327686, 1048576, 5, -327685, 720896, 3, -196595, 917504, 6, -65514, 983040, 6, -327683, 983040, 5, -65513, 1048576, 5, -262151, 720896, 4, -196615, 720896, 5, -131079, 720896, 5, -65543, 720896, 5, -262150, 786432, 4, -196614, 655360, 6, -131078, 786432, 5, -65542, 786432, 5, -262149, 786432, 4, -196613, 786432, 5, -131077, 786432, 5, -65541, 786432, 5, -262148, 786432, 4, -196612, 786432, 5, -131076, 786432, 5, -65540, 786432, 5, 458769, 720896, 5, 458775, 786432, 5, 458774, 786432, 5, 458773, 786432, 5, 458772, 786432, 5, 458771, 786432, 5, 458770, 786432, 5, 327690, 720896, 1, 393226, 720896, 1, 458762, 720896, 1, 524298, 720896, 1, 327691, 720896, 1, 393227, 720896, 1, 458763, 720896, 1, 524299, 720896, 1, 327692, 720896, 1, 393228, 720896, 1, 458764, 720896, 1, 524300, 720896, 1, 327693, 720896, 1, 393229, 720896, 1, 458765, 720896, 1, 524301, 720896, 1, 327694, 720896, 1, 393230, 720896, 1, 458766, 720896, 1, 524302, 720896, 1, 327695, 720896, 1, 393231, 720896, 1, 458767, 720896, 1, 524303, 720896, 1, 327696, 720896, 1, 393232, 720896, 1, 458768, 720896, 1, 524304, 720896, 1, 29, 851968, 4, 65565, 851968, 5, 131101, 851968, 5, 196637, 851968, 5, 262173, 851968, 5, 327709, 851968, 5, 393245, 851968, 5, 458781, 851968, 5, 24, 786432, 4, 25, 786432, 4, 26, 786432, 4, 27, 786432, 4, 28, 786432, 4, 65560, 786432, 5, 65561, 786432, 5, 65562, 786432, 5, 65563, 786432, 5, 65564, 786432, 5, 131100, 786432, 5, 196636, 589824, 6, 131099, 786432, 5, 131098, 786432, 5, 131097, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 393240, 786432, 5, 458776, 786432, 5, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 393241, 786432, 5, 458777, 786432, 5, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 393242, 655360, 6, 458778, 786432, 5, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, 393243, 786432, 5, 458779, 786432, 5, 262172, 786432, 5, 327708, 786432, 5, 393244, 786432, 5, 458780, 786432, 5, -196593, 1048576, 6, -393182, 1048576, 6, -393185, 917504, 6, -393180, 983040, 6, -393184, 983040, 5, -65509, 720896, 3, -65510, 720896, 3, -393181, 720896, 3, -393183, 720896, 3, -65517, 720896, 3, -65515, 720896, 3, -327650, 720896, 4, -262114, 720896, 5, -196578, 720896, 5, -131042, 720896, 5, -65506, 720896, 5, -327649, 786432, 4, -327648, 786432, 4, -327647, 786432, 4, -327646, 786432, 4, -327645, 786432, 4, -327644, 786432, 4, -327643, 786432, 4, -65499, 786432, 5, -131035, 786432, 5, -196571, 786432, 5, -262107, 655360, 6, -262108, 786432, 5, -262109, 786432, 5, -262110, 786432, 5, -262111, 786432, 5, -262112, 786432, 5, -262113, 786432, 5, -196577, 655360, 6, -131041, 786432, 5, -65505, 786432, 5, -65500, 655360, 6, -131036, 589824, 6, -196572, 786432, 5, -196573, 786432, 5, -196574, 786432, 5, -196575, 786432, 5, -196576, 786432, 5, -131040, 589824, 6, -65504, 786432, 5, -65501, 786432, 5, -131037, 786432, 5, -131038, 786432, 5, -131039, 786432, 5, -65503, 786432, 5, -65502, 786432, 5, 524318, 720896, 6, 458782, 720896, 5, 393246, 720896, 5, 327710, 720896, 5, 262174, 720896, 5, 196638, 720896, 5, 131102, 720896, 5, 65566, 720896, 5, 30, 720896, 5, 524319, 786432, 6, 524320, 786432, 6, 524321, 786432, 6, 524322, 786432, 6, 524323, 786432, 6, 524324, 786432, 6, 524325, 786432, 6, 31, 786432, 5, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 393247, 655360, 6, 458783, 786432, 5, 32, 786432, 5, 65568, 786432, 5, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 393248, 786432, 5, 458784, 786432, 5, 33, 786432, 5, 65569, 786432, 5, 131105, 655360, 6, 196641, 786432, 5, 262177, 786432, 5, 327713, 786432, 5, 393249, 786432, 5, 458785, 786432, 5, 34, 786432, 5, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 655360, 6, 327714, 655360, 6, 393250, 786432, 5, 458786, 786432, 5, 35, 786432, 5, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 393251, 786432, 5, 458787, 786432, 5, 36, 655360, 6, 65572, 786432, 5, 131108, 786432, 5, 196644, 786432, 5, 262180, 786432, 5, 327716, 786432, 5, 393252, 786432, 5, 458788, 655360, 6, 37, 786432, 5, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 655360, 6, 327717, 786432, 5, 393253, 786432, 5, 458789, 786432, 5, 524281, 720896, 5, 524285, 786432, 5, 524284, 786432, 5, 524283, 786432, 5, 524282, 786432, 5, 589818, 786432, 5, 589819, 786432, 5, 589820, 786432, 5, 655356, 786432, 5, 655357, 786432, 5, 589821, 786432, 5, 655355, 786432, 5, 655354, 786432, 5, 720890, 786432, 5, 720891, 786432, 5, 720892, 786432, 5, 720893, 786432, 5, 720894, 851968, 5, 786429, 786432, 5, 786428, 786432, 5, 786427, 786432, 5, 786426, 786432, 5, 851962, 786432, 5, 917498, 786432, 5, 917499, 786432, 5, 851964, 786432, 5, 851965, 786432, 5, 917501, 786432, 5, 917500, 786432, 5, 851963, 786432, 5, 589817, 720896, 5, 655353, 720896, 5, 720889, 720896, 5, 786425, 720896, 5, 851961, 720896, 5, 917497, 720896, 5, 524286, 851968, 5, 589822, 851968, 5, 655358, 851968, 5, 786430, 851968, 5, 851966, 851968, 5, 917502, 851968, 5, 589824, 720896, 1, 655360, 720896, 1, 720896, 720896, 1, 786432, 720896, 1, 851968, 720896, 1, 589825, 720896, 1, 655361, 720896, 1, 720897, 720896, 1, 786433, 720896, 1, 851969, 720896, 1, 589826, 720896, 1, 655362, 720896, 1, 720898, 720896, 1, 786434, 720896, 1, 851970, 720896, 1, 589827, 720896, 1, 655363, 720896, 1, 720899, 720896, 1, 786435, 720896, 1, 851971, 720896, 1, 589828, 720896, 1, 655364, 720896, 1, 720900, 720896, 1, 786436, 720896, 1, 851972, 720896, 1, 589829, 720896, 1, 655365, 720896, 1, 720901, 720896, 1, 786437, 720896, 1, 851973, 720896, 1, 589830, 720896, 1, 655366, 720896, 1, 720902, 720896, 1, 786438, 720896, 1, 851974, 720896, 1, 589831, 720896, 1, 655367, 720896, 1, 720903, 720896, 1, 786439, 720896, 1, 851975, 720896, 1, 589832, 720896, 1, 655368, 720896, 1, 720904, 720896, 1, 786440, 720896, 1, 851976, 720896, 1, 589833, 786432, 1, 655369, 786432, 1, 720905, 786432, 1, 786441, 786432, 1, 851977, 786432, 1, 655359, 655360, 1, 720895, 655360, 1, 786431, 655360, 1, 851967, 655360, 1, 917503, 655360, 1, 589834, 720896, 1, 655370, 720896, 1, 720906, 720896, 1, 786442, 720896, 1, 851978, 720896, 1, 589835, 720896, 1, 655371, 720896, 1, 720907, 720896, 1, 786443, 720896, 1, 851979, 720896, 1, 589836, 720896, 1, 655372, 720896, 1, 720908, 720896, 1, 786444, 720896, 1, 851980, 720896, 1, 589837, 720896, 1, 655373, 720896, 1, 720909, 720896, 1, 786445, 720896, 1, 851981, 720896, 1, 589838, 720896, 1, 655374, 720896, 1, 720910, 720896, 1, 786446, 720896, 1, 851982, 720896, 1, 589839, 720896, 1, 655375, 720896, 1, 720911, 720896, 1, 786447, 720896, 1, 851983, 720896, 1, 589840, 720896, 1, 655376, 720896, 1, 720912, 720896, 1, 786448, 720896, 1, 851984, 720896, 1, 851985, 720896, 6, 851986, 786432, 6, 851987, 786432, 6, 851988, 786432, 6, 851989, 786432, 6, 851990, 786432, 6, 851991, 786432, 6, 851992, 786432, 6, 851993, 786432, 6, 851994, 786432, 6, 851995, 786432, 6, 851996, 786432, 6, 851997, 851968, 6, 524306, 786432, 5, 589842, 786432, 5, 655378, 786432, 5, 720914, 786432, 5, 786450, 786432, 5, 524307, 786432, 5, 589843, 786432, 5, 655379, 786432, 5, 720915, 786432, 5, 786451, 786432, 5, 524308, 786432, 5, 589844, 786432, 5, 655380, 786432, 5, 720916, 786432, 5, 786452, 786432, 5, 524309, 786432, 5, 589845, 786432, 5, 655381, 786432, 5, 720917, 786432, 5, 786453, 786432, 5, 524310, 786432, 5, 589846, 786432, 5, 655382, 786432, 5, 720918, 786432, 5, 786454, 786432, 5, 524311, 786432, 5, 589847, 786432, 5, 655383, 786432, 5, 720919, 786432, 5, 786455, 786432, 5, 524312, 786432, 5, 589848, 786432, 5, 655384, 786432, 5, 720920, 786432, 5, 786456, 786432, 5, 524313, 786432, 5, 589849, 786432, 5, 655385, 786432, 5, 720921, 786432, 5, 786457, 786432, 5, 524314, 786432, 5, 589850, 786432, 5, 655386, 786432, 5, 720922, 786432, 5, 786458, 786432, 5, 524315, 786432, 5, 589851, 786432, 5, 655387, 786432, 5, 720923, 786432, 5, 786459, 786432, 5, 524316, 786432, 5, 589852, 786432, 5, 655388, 786432, 5, 720924, 786432, 5, 786460, 786432, 5, 524305, 720896, 5, 589841, 720896, 5, 655377, 720896, 5, 720913, 720896, 5, 786449, 720896, 5, 524317, 851968, 5, 589853, 851968, 5, 655389, 851968, 5, 720925, 851968, 5, 786461, 851968, 5, -262106, 786432, 5, -196570, 786432, 5, -131034, 786432, 5, -65498, 786432, 5, 38, 786432, 5, 65574, 786432, 5, 131110, 655360, 6, 196646, 786432, 5, 262182, 786432, 5, 327718, 786432, 5, 393254, 786432, 5, 458790, 786432, 5, -262105, 786432, 5, -196569, 786432, 5, -131033, 786432, 5, -65497, 786432, 5, 39, 786432, 5, 65575, 786432, 5, 131111, 786432, 5, 196647, 786432, 5, 262183, 786432, 5, 327719, 786432, 5, 393255, 655360, 6, 458791, 786432, 5, -262104, 786432, 5, -196568, 786432, 5, -131032, 786432, 5, -65496, 786432, 5, 40, 655360, 6, 65576, 786432, 5, 131112, 786432, 5, 196648, 786432, 5, 262184, 655360, 6, 327720, 786432, 5, 393256, 786432, 5, 458792, 786432, 5, -262103, 786432, 5, -196567, 655360, 6, -131031, 786432, 5, -65495, 786432, 5, 41, 786432, 5, 65577, 786432, 5, 131113, 786432, 5, 196649, 786432, 5, 262185, 786432, 5, 327721, 786432, 5, 393257, 786432, 5, 458793, 786432, 5, -262102, 786432, 5, -196566, 786432, 5, -131030, 786432, 5, -65494, 786432, 5, 42, 786432, 5, 65578, 786432, 5, 131114, 655360, 6, 196650, 786432, 5, 262186, 786432, 5, 327722, 786432, 5, 393258, 786432, 5, 458794, 655360, 6, 524326, 786432, 6, 524327, 786432, 6, 524328, 786432, 6, 524329, 786432, 6, 524330, 786432, 6, -327642, 786432, 4, -327641, 786432, 4, -327640, 786432, 4, -327639, 786432, 4, -327638, 786432, 4, -327632, 851968, 4, -262096, 851968, 5, -196560, 851968, 5, -131024, 851968, 5, -65488, 851968, 5, 48, 851968, 5, 65584, 851968, 5, 131120, 851968, 5, 196656, 851968, 5, 262192, 851968, 5, 327728, 851968, 5, 393264, 851968, 5, 458800, 851968, 5, 524336, 851968, 6, -327637, 786432, 4, -327636, 786432, 4, -327635, 786432, 4, -327634, 786432, 4, -327633, 786432, 4, -262101, 786432, 5, -196565, 786432, 5, -131029, 655360, 6, -65493, 786432, 5, 43, 786432, 5, 65579, 786432, 5, 131115, 786432, 5, 196651, 786432, 5, 262187, 786432, 5, 327723, 655360, 6, 393259, 786432, 5, 458795, 786432, 5, -262100, 786432, 5, -196564, 786432, 5, -131028, 786432, 5, -65492, 786432, 5, 44, 655360, 6, 65580, 786432, 5, 131116, 786432, 5, 196652, 786432, 5, 262188, 786432, 5, 327724, 786432, 5, 393260, 786432, 5, 458796, 786432, 5, -262099, 786432, 5, -196563, 786432, 5, -131027, 786432, 5, -65491, 786432, 5, 45, 786432, 5, 65581, 655360, 6, 131117, 786432, 5, 196653, 786432, 5, 262189, 786432, 5, 327725, 786432, 5, 393261, 786432, 5, 458797, 786432, 5, -262098, 655360, 6, -196562, 786432, 5, -131026, 786432, 5, -65490, 786432, 5, 46, 786432, 5, 65582, 786432, 5, 131118, 786432, 5, 196654, 655360, 6, 262190, 786432, 5, 327726, 786432, 5, 393262, 786432, 5, 458798, 655360, 6, -262097, 786432, 5, -196561, 786432, 5, -131025, 786432, 5, -65489, 786432, 5, 47, 786432, 5, 65583, 786432, 5, 131119, 786432, 5, 196655, 786432, 5, 262191, 786432, 5, 327727, 786432, 5, 393263, 786432, 5, 458799, 786432, 5, 524331, 786432, 6, 524332, 786432, 6, 524333, 786432, 6, 524334, 786432, 6, 524335, 786432, 6) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("2_1f2t2")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("3_o6nri")] +unique_name_in_owner = true +visible = false + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(227, -28) +position_smoothing_speed = 10.0 + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("4_j7670") + +[node name="Player" type="Node" parent="."] + +[node name="PlayerPhantomCamera2D" type="Node2D" parent="Player" node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +position = Vector2(227, -28) +script = ExtResource("5_gvv7r") +priority = 5 +follow_mode = 2 +follow_target = NodePath("../CharacterBody2D/PlayerVisuals") +tween_resource = ExtResource("6_rwobr") +tween_on_load = false +follow_damping = true +draw_limits = true + +[node name="Label" type="Label" parent="Player"] +offset_left = 167.0 +offset_top = -132.0 +offset_right = 332.0 +offset_bottom = -68.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("7_ylx0h") +text = "[WASD] to move +[Space] to jump" + +[node name="CharacterBody2D" parent="Player" instance=ExtResource("8_ytsgf")] +position = Vector2(227, -28) +script = ExtResource("9_5jy5e") + +[node name="WideArea" type="Area2D" parent="." node_paths=PackedStringArray("area_pcam")] +position = Vector2(393, -40) +collision_layer = 2 +collision_mask = 2 +script = ExtResource("9_3r1pw") +area_pcam = NodePath("PhantomCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="WideArea"] +position = Vector2(0, -40) +shape = SubResource("RectangleShape2D_tgk1y") + +[node name="ColorRect" type="ColorRect" parent="WideArea"] +offset_left = -70.0 +offset_top = -120.0 +offset_right = 70.0 +offset_bottom = 40.0 +size_flags_horizontal = 0 +size_flags_vertical = 0 +color = Color(0.556863, 0.447059, 0.545098, 0.698039) + +[node name="Label" type="Label" parent="WideArea"] +offset_left = -77.0 +offset_top = -250.0 +offset_right = 76.0 +offset_bottom = -120.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("7_ylx0h") +text = "Transition Type: +Sine + +Duration: +0.6s" +horizontal_alignment = 1 + +[node name="PhantomCamera2D" type="Node2D" parent="WideArea"] +position = Vector2(4, -100) +script = ExtResource("5_gvv7r") +zoom = Vector2(0.8, 0.8) +tween_resource = SubResource("Resource_mtp70") +draw_limits = true + +[node name="UpperZoomArea" type="Area2D" parent="." node_paths=PackedStringArray("area_pcam")] +position = Vector2(649, -135) +collision_layer = 2 +collision_mask = 2 +script = ExtResource("9_3r1pw") +area_pcam = NodePath("PhantomCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="UpperZoomArea"] +position = Vector2(0, -40) +shape = SubResource("RectangleShape2D_clm0y") + +[node name="CollisionShape2D2" type="CollisionShape2D" parent="UpperZoomArea"] +position = Vector2(0, -40) +shape = SubResource("RectangleShape2D_clm0y") + +[node name="ColorRect" type="ColorRect" parent="UpperZoomArea"] +offset_left = -52.0 +offset_top = -120.0 +offset_right = 52.0 +offset_bottom = 40.0 +size_flags_horizontal = 0 +size_flags_vertical = 0 +color = Color(0.556863, 0.447059, 0.545098, 0.698039) + +[node name="Label" type="Label" parent="UpperZoomArea"] +offset_left = -74.0 +offset_top = -251.0 +offset_right = 79.0 +offset_bottom = -121.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("7_ylx0h") +text = "Transition Type: +Circ + +Duration: +0.3s" +horizontal_alignment = 1 + +[node name="PhantomCamera2D" type="Node2D" parent="UpperZoomArea"] +position = Vector2(2, -83) +script = ExtResource("5_gvv7r") +zoom = Vector2(2, 2) +tween_resource = SubResource("Resource_8jg5c") +draw_limits = true + +[node name="ForwardArea" type="Area2D" parent="." node_paths=PackedStringArray("area_pcam")] +position = Vector2(1136, -38) +collision_layer = 2 +collision_mask = 2 +script = ExtResource("9_3r1pw") +area_pcam = NodePath("PhantomCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="ForwardArea"] +position = Vector2(0, -42) +shape = SubResource("RectangleShape2D_uka0w") + +[node name="ColorRect" type="ColorRect" parent="ForwardArea"] +offset_left = -280.0 +offset_top = -122.0 +offset_right = 280.0 +offset_bottom = 38.0 +size_flags_horizontal = 0 +size_flags_vertical = 0 +color = Color(0.556863, 0.447059, 0.545098, 0.698039) + +[node name="Label" type="Label" parent="ForwardArea"] +offset_left = -76.0 +offset_top = -252.0 +offset_right = 77.0 +offset_bottom = -122.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("7_ylx0h") +text = "Transition Type: +Back + +Duration: +1.2s" +horizontal_alignment = 1 + +[node name="PhantomCamera2D" type="Node2D" parent="ForwardArea"] +position = Vector2(344, -46) +script = ExtResource("5_gvv7r") +zoom = Vector2(0.9, 0.9) +tween_resource = SubResource("Resource_e4e41") +draw_limits = true diff --git a/addons/phantom_camera/examples/example_scenes/2D/2d_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D/2d_example_scene.tscn new file mode 100644 index 0000000..46d40be --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D/2d_example_scene.tscn @@ -0,0 +1,641 @@ +[gd_scene load_steps=11 format=3 uid="uid://drvexsp2t0nfy"] + +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_1utlo"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="2_mgsut"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="4_54fc4"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="6_kqt1v"] +[ext_resource type="Resource" uid="uid://euybd2w0bax" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres" id="6_pxbym"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="7_62i3t"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="7_fdx1s"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="12_k4p0h"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_1utlo") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[node name="ExampleScene2D2" type="Node2D"] + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -311.0 +offset_top = -173.0 +offset_right = 981.0 +offset_bottom = 548.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-393216, 655360, 2, -327680, 655360, 3, -262144, 655360, 3, -196608, 655360, 3, -131072, 655360, 3, -65536, 655360, 3, -393215, 720896, 2, -327679, 720896, 1, -262143, 720896, 1, -196607, 720896, 1, -131071, 720896, 1, -65535, 720896, 1, -393214, 786432, 2, -327678, 786432, 3, -262142, 786432, 3, -196606, 786432, 3, -131070, 786432, 3, -65534, 786432, 3) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1, 393225, 786432, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 458752, 1, 327681, 720896, 1, 393217, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 393218, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 393219, 720896, 1, 65540, 458752, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 393220, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 458752, 1, 327685, 720896, 1, 393221, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 393222, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 393223, 458752, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 458752, 1, 262152, 720896, 1, 327688, 720896, 1, 393224, 720896, 1, 65546, 524288, 5, 65547, 524288, 5, 65548, 524288, 5, 65549, 524288, 5, 131082, 524288, 6, 131083, 524288, 6, 131084, 524288, 6, 131085, 524288, 6, 196618, 720896, 1, 262154, 720896, 1, 196619, 720896, 1, 262155, 720896, 1, 196620, 720896, 1, 262156, 720896, 1, 196621, 720896, 1, 262157, 720896, 1, 65550, 524288, 5, 65551, 524288, 5, 65552, 524288, 5, 131086, 524288, 6, 131087, 524288, 6, 131088, 524288, 6, 196622, 720896, 1, 196623, 720896, 1, 262159, 720896, 1, 262160, 720896, 1, 196624, 720896, 1, 262158, 720896, 1, 17, 720896, 4, 65553, 720896, 5, 131089, 720896, 5, 196625, 720896, 5, 262161, 720896, 5, 18, 786432, 4, 19, 786432, 4, 20, 786432, 4, 21, 786432, 4, 22, 786432, 4, 23, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 65555, 786432, 5, 131091, 589824, 6, 196627, 786432, 5, 262163, 786432, 5, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 655360, 6, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327697, 720896, 5, 393233, 720896, 5, 327698, 589824, 6, 393234, 786432, 5, 327699, 786432, 5, 393235, 786432, 5, 327700, 786432, 5, 393236, 786432, 5, 327701, 786432, 5, 393237, 786432, 5, 327702, 786432, 5, 393238, 786432, 5, 327703, 786432, 5, 393239, 786432, 5, -131062, 720896, 4, -131061, 786432, 4, -131060, 786432, 4, -65526, 720896, 6, -65525, 786432, 6, -65524, 786432, 6, -131056, 851968, 4, -65520, 851968, 6, -131059, 786432, 4, -131058, 786432, 4, -131057, 786432, 4, -65523, 786432, 6, -65522, 786432, 6, -65521, 786432, 6, -196596, 917504, 0, -65536, 917504, 2, -65535, 983040, 2, -65534, 1048576, 2, -65533, 917504, 2, -65532, 983040, 2, -65531, 1048576, 2, -65530, 917504, 2, -65529, 983040, 2, -65528, 1048576, 2, 65535, 655360, 0, 131071, 655360, 1, 196607, 655360, 1, 262143, 655360, 1, 327679, 655360, 1, 393215, 655360, 1, 458751, 655360, 1, 524287, 655360, 1, 589823, 655360, 1, 0, 720896, 0, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 393216, 720896, 1, 458752, 720896, 1, 524288, 720896, 1, 524289, 720896, 1, 524290, 720896, 1, 524291, 720896, 1, 524292, 720896, 1, 524293, 720896, 1, 524294, 720896, 1, 524295, 720896, 1, 524296, 720896, 1, 524297, 786432, 1, 458761, 786432, 1, 458760, 720896, 1, 458759, 720896, 1, 458758, 458752, 1, 458757, 720896, 1, 458756, 720896, 1, 458755, 720896, 1, 458754, 720896, 1, 458753, 720896, 1, -262145, 851968, 4, -196609, 851968, 5, -131073, 851968, 5, -65537, 851968, 5, -1, 851968, 6, -262146, 786432, 4, -262147, 786432, 4, -196610, 589824, 6, -196611, 786432, 5, -6, 786432, 5, -5, 786432, 5, -4, 786432, 5, -3, 786432, 5, -2, 786432, 5, -65538, 786432, 5, -131074, 786432, 5, -131075, 786432, 5, -65539, 655360, 6, 65534, 851968, 5, 131070, 851968, 5, 196606, 851968, 5, 262142, 851968, 5, 327678, 851968, 5, 393214, 851968, 5, 458750, 851968, 5, 65533, 786432, 5, 65532, 786432, 5, 65531, 786432, 5, 65530, 786432, 5, 65529, 720896, 5, 131066, 786432, 5, 196602, 786432, 5, 262138, 786432, 5, 262139, 786432, 5, 327675, 786432, 5, 131068, 786432, 5, 131069, 786432, 5, 196605, 786432, 5, 262141, 786432, 5, 327677, 786432, 5, 393213, 786432, 5, 458749, 786432, 5, 393212, 786432, 5, 393211, 786432, 5, 458748, 786432, 5, 327676, 655360, 6, 262140, 786432, 5, 196604, 786432, 5, 131067, 786432, 5, 196603, 589824, 6, 458747, 786432, 5, 458746, 786432, 5, 393210, 786432, 5, 327674, 786432, 5, -7, 720896, 5, 131065, 720896, 5, 196601, 720896, 5, 262137, 720896, 5, 327673, 720896, 5, 393209, 720896, 5, 458745, 720896, 5, -327684, 720896, 3, -196594, 720896, 3, -196597, 720896, 3, -65518, 720896, 3, -65516, 720896, 3, -327686, 1048576, 5, -327685, 720896, 3, -196595, 917504, 6, -65514, 983040, 6, -327683, 983040, 5, -65513, 1048576, 5, -262151, 720896, 4, -196615, 720896, 5, -131079, 720896, 5, -65543, 720896, 5, -262150, 786432, 4, -196614, 655360, 6, -131078, 786432, 5, -65542, 786432, 5, -262149, 786432, 4, -196613, 786432, 5, -131077, 786432, 5, -65541, 786432, 5, -262148, 786432, 4, -196612, 786432, 5, -131076, 786432, 5, -65540, 786432, 5, 458769, 720896, 5, 524305, 720896, 6, 458775, 786432, 5, 458774, 786432, 5, 458773, 786432, 5, 458772, 786432, 5, 458771, 786432, 5, 458770, 786432, 5, 524306, 786432, 6, 524307, 786432, 6, 524308, 786432, 6, 524309, 786432, 6, 524310, 786432, 6, 524311, 786432, 6, 327690, 720896, 1, 393226, 720896, 1, 458762, 720896, 1, 524298, 720896, 1, 327691, 720896, 1, 393227, 720896, 1, 458763, 720896, 1, 524299, 720896, 1, 327692, 720896, 1, 393228, 720896, 1, 458764, 720896, 1, 524300, 720896, 1, 327693, 720896, 1, 393229, 720896, 1, 458765, 720896, 1, 524301, 720896, 1, 327694, 720896, 1, 393230, 720896, 1, 458766, 720896, 1, 524302, 720896, 1, 327695, 720896, 1, 393231, 720896, 1, 458767, 720896, 1, 524303, 720896, 1, 327696, 720896, 1, 393232, 720896, 1, 458768, 720896, 1, 524304, 720896, 1, 29, 851968, 4, 65565, 851968, 5, 131101, 851968, 5, 196637, 851968, 5, 262173, 851968, 5, 327709, 851968, 5, 393245, 851968, 5, 458781, 851968, 5, 524317, 851968, 6, -65511, 917504, 4, 24, 786432, 4, 25, 786432, 4, 26, 786432, 4, 27, 786432, 4, 28, 786432, 4, 65560, 786432, 5, 65561, 786432, 5, 65562, 786432, 5, 65563, 786432, 5, 65564, 786432, 5, 131100, 786432, 5, 196636, 589824, 6, 131099, 786432, 5, 131098, 786432, 5, 131097, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 393240, 786432, 5, 458776, 786432, 5, 524312, 786432, 6, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 393241, 786432, 5, 458777, 786432, 5, 524313, 786432, 6, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 393242, 655360, 6, 458778, 786432, 5, 524314, 786432, 6, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, 393243, 786432, 5, 458779, 786432, 5, 524315, 786432, 6, 262172, 786432, 5, 327708, 786432, 5, 393244, 786432, 5, 458780, 786432, 5, 524316, 786432, 6, -196593, 1048576, 6, -393182, 1048576, 6, -393185, 917504, 6, -393180, 983040, 6, -393184, 983040, 5, -65509, 720896, 3, -65510, 720896, 3, -393181, 720896, 3, -393183, 720896, 3, -65517, 720896, 3, -65515, 720896, 3, -327650, 720896, 4, -262114, 720896, 5, -196578, 720896, 5, -131042, 720896, 5, -65506, 720896, 5, -65498, 851968, 5, -131034, 851968, 5, -196570, 851968, 5, -327642, 851968, 4, -327649, 786432, 4, -327648, 786432, 4, -327647, 786432, 4, -327646, 786432, 4, -327645, 786432, 4, -327644, 786432, 4, -327643, 786432, 4, -262106, 851968, 5, -65499, 786432, 5, -131035, 786432, 5, -196571, 786432, 5, -262107, 786432, 5, -262108, 786432, 5, -262109, 786432, 5, -262110, 786432, 5, -262111, 786432, 5, -262112, 786432, 5, -262113, 786432, 5, -196577, 655360, 6, -131041, 786432, 5, -65505, 786432, 5, -65500, 655360, 6, -131036, 589824, 6, -196572, 786432, 5, -196573, 786432, 5, -196574, 786432, 5, -196575, 786432, 5, -196576, 786432, 5, -131040, 589824, 6, -65504, 786432, 5, -65501, 786432, 5, -131037, 786432, 5, -131038, 786432, 5, -131039, 786432, 5, -65503, 786432, 5, -65502, 786432, 5, 524318, 720896, 6, 458782, 720896, 5, 393246, 720896, 5, 327710, 720896, 5, 262174, 720896, 5, 196638, 720896, 5, 131102, 720896, 5, 65566, 720896, 5, 30, 720896, 5, 524319, 786432, 6, 524320, 786432, 6, 524321, 786432, 6, 524322, 786432, 6, 524323, 786432, 6, 524324, 786432, 6, 524325, 786432, 6, 524326, 851968, 6, 38, 851968, 5, 65574, 851968, 5, 131110, 851968, 5, 196646, 851968, 5, 262182, 851968, 5, 327718, 851968, 5, 393254, 851968, 5, 458790, 851968, 5, 31, 786432, 5, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 393247, 655360, 6, 458783, 786432, 5, 32, 786432, 5, 65568, 786432, 5, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 393248, 786432, 5, 458784, 786432, 5, 33, 786432, 5, 65569, 786432, 5, 131105, 655360, 6, 196641, 786432, 5, 262177, 786432, 5, 327713, 786432, 5, 393249, 786432, 5, 458785, 786432, 5, 34, 786432, 5, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 655360, 6, 327714, 655360, 6, 393250, 786432, 5, 458786, 786432, 5, 35, 786432, 5, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 393251, 786432, 5, 458787, 786432, 5, 36, 655360, 6, 65572, 786432, 5, 131108, 786432, 5, 196644, 786432, 5, 262180, 786432, 5, 327716, 786432, 5, 393252, 786432, 5, 458788, 655360, 6, 37, 786432, 5, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 786432, 5, 327717, 786432, 5, 393253, 786432, 5, 458789, 786432, 5, 524282, 786432, 5, 524283, 786432, 5, 524284, 786432, 5, 524285, 786432, 5, 524281, 720896, 5, 524286, 851968, 5, 589817, 720896, 6, 589818, 786432, 6, 589819, 786432, 6, 589820, 786432, 6, 589821, 786432, 6, 589822, 851968, 6) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("7_fdx1s")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("6_kqt1v")] +unique_name_in_owner = true +visible = false + +[node name="Controls" type="Label" parent="."] +offset_left = 167.0 +offset_top = -145.0 +offset_right = 332.0 +offset_bottom = -81.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("12_k4p0h") +text = "[WASD] to move +[Space] to jump" + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(227, -28) +zoom = Vector2(1.5, 1.5) +editor_draw_limits = true + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("4_54fc4") + +[node name="Player" type="Node" parent="."] + +[node name="PlayerPhantomCamera2D" type="Node2D" parent="Player" node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +process_priority = -1 +position = Vector2(227, -28) +script = ExtResource("2_mgsut") +priority = 10 +follow_mode = 2 +follow_target = NodePath("../CharacterBody2D/PlayerVisuals") +zoom = Vector2(1.5, 1.5) +frame_preview = false +tween_resource = ExtResource("6_pxbym") +tween_on_load = false +follow_damping = true +draw_limits = true + +[node name="CharacterBody2D" parent="Player" instance=ExtResource("7_62i3t")] +position = Vector2(227, -28) + +[editable path="Player/CharacterBody2D"] diff --git a/addons/phantom_camera/examples/example_scenes/2D/2d_follow_framed_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D/2d_follow_framed_example_scene.tscn new file mode 100644 index 0000000..69d1d70 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D/2d_follow_framed_example_scene.tscn @@ -0,0 +1,641 @@ +[gd_scene load_steps=11 format=3 uid="uid://bxtsl6qlpq1ar"] + +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_27o77"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="2_1tbys"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="3_1kfnp"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="4_mylkx"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="5_lwx5e"] +[ext_resource type="Resource" uid="uid://euybd2w0bax" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres" id="6_tju6r"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="8_bo8m7"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="8_wlikg"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_27o77") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[node name="ExampleScene2D" type="Node2D"] + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -345.0 +offset_top = -143.0 +offset_right = 947.0 +offset_bottom = 578.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-393216, 655360, 2, -327680, 655360, 3, -262144, 655360, 3, -196608, 655360, 3, -131072, 655360, 3, -65536, 655360, 3, -393215, 720896, 2, -327679, 720896, 1, -262143, 720896, 1, -196607, 720896, 1, -131071, 720896, 1, -65535, 720896, 1, -393214, 786432, 2, -327678, 786432, 3, -262142, 786432, 3, -196606, 786432, 3, -131070, 786432, 3, -65534, 786432, 3) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1, 393225, 786432, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 458752, 1, 327681, 720896, 1, 393217, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 393218, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 393219, 720896, 1, 65540, 458752, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 393220, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 458752, 1, 327685, 720896, 1, 393221, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 393222, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 393223, 458752, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 458752, 1, 262152, 720896, 1, 327688, 720896, 1, 393224, 720896, 1, 65546, 524288, 5, 65547, 524288, 5, 65548, 524288, 5, 65549, 524288, 5, 131082, 524288, 6, 131083, 524288, 6, 131084, 524288, 6, 131085, 524288, 6, 196618, 720896, 1, 262154, 720896, 1, 196619, 720896, 1, 262155, 720896, 1, 196620, 720896, 1, 262156, 720896, 1, 196621, 720896, 1, 262157, 720896, 1, 65550, 524288, 5, 65551, 524288, 5, 65552, 524288, 5, 131086, 524288, 6, 131087, 524288, 6, 131088, 524288, 6, 196622, 720896, 1, 196623, 720896, 1, 262159, 720896, 1, 262160, 720896, 1, 196624, 720896, 1, 262158, 720896, 1, 17, 720896, 4, 65553, 720896, 5, 131089, 720896, 5, 196625, 720896, 5, 262161, 720896, 5, 18, 786432, 4, 19, 786432, 4, 20, 786432, 4, 21, 786432, 4, 22, 786432, 4, 23, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 65555, 786432, 5, 131091, 589824, 6, 196627, 786432, 5, 262163, 786432, 5, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 655360, 6, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327697, 720896, 5, 393233, 720896, 5, 327698, 589824, 6, 393234, 786432, 5, 327699, 786432, 5, 393235, 786432, 5, 327700, 786432, 5, 393236, 786432, 5, 327701, 786432, 5, 393237, 786432, 5, 327702, 786432, 5, 393238, 786432, 5, 327703, 786432, 5, 393239, 786432, 5, -131062, 720896, 4, -131061, 786432, 4, -131060, 786432, 4, -65526, 720896, 6, -65525, 786432, 6, -65524, 786432, 6, -131056, 851968, 4, -65520, 851968, 6, -131059, 786432, 4, -131058, 786432, 4, -131057, 786432, 4, -65523, 786432, 6, -65522, 786432, 6, -65521, 786432, 6, -196596, 917504, 0, -65536, 917504, 2, -65535, 983040, 2, -65534, 1048576, 2, -65533, 917504, 2, -65532, 983040, 2, -65531, 1048576, 2, -65530, 917504, 2, -65529, 983040, 2, -65528, 1048576, 2, 65535, 655360, 0, 131071, 655360, 1, 196607, 655360, 1, 262143, 655360, 1, 327679, 655360, 1, 393215, 655360, 1, 458751, 655360, 1, 524287, 655360, 1, 589823, 655360, 1, 0, 720896, 0, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 393216, 720896, 1, 458752, 720896, 1, 524288, 720896, 1, 524289, 720896, 1, 524290, 720896, 1, 524291, 720896, 1, 524292, 720896, 1, 524293, 720896, 1, 524294, 720896, 1, 524295, 720896, 1, 524296, 720896, 1, 524297, 786432, 1, 458761, 786432, 1, 458760, 720896, 1, 458759, 720896, 1, 458758, 458752, 1, 458757, 720896, 1, 458756, 720896, 1, 458755, 720896, 1, 458754, 720896, 1, 458753, 720896, 1, -262145, 851968, 4, -196609, 851968, 5, -131073, 851968, 5, -65537, 851968, 5, -1, 851968, 6, -262146, 786432, 4, -262147, 786432, 4, -196610, 589824, 6, -196611, 786432, 5, -6, 786432, 5, -5, 786432, 5, -4, 786432, 5, -3, 786432, 5, -2, 786432, 5, -65538, 786432, 5, -131074, 786432, 5, -131075, 786432, 5, -65539, 655360, 6, 65534, 851968, 5, 131070, 851968, 5, 196606, 851968, 5, 262142, 851968, 5, 327678, 851968, 5, 393214, 851968, 5, 458750, 851968, 5, 65533, 786432, 5, 65532, 786432, 5, 65531, 786432, 5, 65530, 786432, 5, 65529, 720896, 5, 131066, 786432, 5, 196602, 786432, 5, 262138, 786432, 5, 262139, 786432, 5, 327675, 786432, 5, 131068, 786432, 5, 131069, 786432, 5, 196605, 786432, 5, 262141, 786432, 5, 327677, 786432, 5, 393213, 786432, 5, 458749, 786432, 5, 393212, 786432, 5, 393211, 786432, 5, 458748, 786432, 5, 327676, 655360, 6, 262140, 786432, 5, 196604, 786432, 5, 131067, 786432, 5, 196603, 589824, 6, 458747, 786432, 5, 458746, 786432, 5, 393210, 786432, 5, 327674, 786432, 5, -7, 720896, 5, 131065, 720896, 5, 196601, 720896, 5, 262137, 720896, 5, 327673, 720896, 5, 393209, 720896, 5, 458745, 720896, 5, -327684, 720896, 3, -196594, 720896, 3, -196597, 720896, 3, -65518, 720896, 3, -65516, 720896, 3, -327686, 1048576, 5, -327685, 720896, 3, -196595, 917504, 6, -65514, 983040, 6, -327683, 983040, 5, -65513, 1048576, 5, -262151, 720896, 4, -196615, 720896, 5, -131079, 720896, 5, -65543, 720896, 5, -262150, 786432, 4, -196614, 655360, 6, -131078, 786432, 5, -65542, 786432, 5, -262149, 786432, 4, -196613, 786432, 5, -131077, 786432, 5, -65541, 786432, 5, -262148, 786432, 4, -196612, 786432, 5, -131076, 786432, 5, -65540, 786432, 5, 458769, 720896, 5, 524305, 720896, 6, 458775, 786432, 5, 458774, 786432, 5, 458773, 786432, 5, 458772, 786432, 5, 458771, 786432, 5, 458770, 786432, 5, 524306, 786432, 6, 524307, 786432, 6, 524308, 786432, 6, 524309, 786432, 6, 524310, 786432, 6, 524311, 786432, 6, 327690, 720896, 1, 393226, 720896, 1, 458762, 720896, 1, 524298, 720896, 1, 327691, 720896, 1, 393227, 720896, 1, 458763, 720896, 1, 524299, 720896, 1, 327692, 720896, 1, 393228, 720896, 1, 458764, 720896, 1, 524300, 720896, 1, 327693, 720896, 1, 393229, 720896, 1, 458765, 720896, 1, 524301, 720896, 1, 327694, 720896, 1, 393230, 720896, 1, 458766, 720896, 1, 524302, 720896, 1, 327695, 720896, 1, 393231, 720896, 1, 458767, 720896, 1, 524303, 720896, 1, 327696, 720896, 1, 393232, 720896, 1, 458768, 720896, 1, 524304, 720896, 1, 29, 851968, 4, 65565, 851968, 5, 131101, 851968, 5, 196637, 851968, 5, 262173, 851968, 5, 327709, 851968, 5, 393245, 851968, 5, 458781, 851968, 5, 524317, 851968, 6, -65511, 917504, 4, 24, 786432, 4, 25, 786432, 4, 26, 786432, 4, 27, 786432, 4, 28, 786432, 4, 65560, 786432, 5, 65561, 786432, 5, 65562, 786432, 5, 65563, 786432, 5, 65564, 786432, 5, 131100, 786432, 5, 196636, 589824, 6, 131099, 786432, 5, 131098, 786432, 5, 131097, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 393240, 786432, 5, 458776, 786432, 5, 524312, 786432, 6, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 393241, 786432, 5, 458777, 786432, 5, 524313, 786432, 6, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 393242, 655360, 6, 458778, 786432, 5, 524314, 786432, 6, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, 393243, 786432, 5, 458779, 786432, 5, 524315, 786432, 6, 262172, 786432, 5, 327708, 786432, 5, 393244, 786432, 5, 458780, 786432, 5, 524316, 786432, 6, -196593, 1048576, 6, -393182, 1048576, 6, -393185, 917504, 6, -393180, 983040, 6, -393184, 983040, 5, -65509, 720896, 3, -65510, 720896, 3, -393181, 720896, 3, -393183, 720896, 3, -65517, 720896, 3, -65515, 720896, 3, -327650, 720896, 4, -262114, 720896, 5, -196578, 720896, 5, -131042, 720896, 5, -65506, 720896, 5, -65498, 851968, 5, -131034, 851968, 5, -196570, 851968, 5, -327642, 851968, 4, -327649, 786432, 4, -327648, 786432, 4, -327647, 786432, 4, -327646, 786432, 4, -327645, 786432, 4, -327644, 786432, 4, -327643, 786432, 4, -262106, 851968, 5, -65499, 786432, 5, -131035, 786432, 5, -196571, 786432, 5, -262107, 786432, 5, -262108, 786432, 5, -262109, 786432, 5, -262110, 786432, 5, -262111, 786432, 5, -262112, 786432, 5, -262113, 786432, 5, -196577, 655360, 6, -131041, 786432, 5, -65505, 786432, 5, -65500, 655360, 6, -131036, 589824, 6, -196572, 786432, 5, -196573, 786432, 5, -196574, 786432, 5, -196575, 786432, 5, -196576, 786432, 5, -131040, 589824, 6, -65504, 786432, 5, -65501, 786432, 5, -131037, 786432, 5, -131038, 786432, 5, -131039, 786432, 5, -65503, 786432, 5, -65502, 786432, 5, 524318, 720896, 6, 458782, 720896, 5, 393246, 720896, 5, 327710, 720896, 5, 262174, 720896, 5, 196638, 720896, 5, 131102, 720896, 5, 65566, 720896, 5, 30, 720896, 5, 524319, 786432, 6, 524320, 786432, 6, 524321, 786432, 6, 524322, 786432, 6, 524323, 786432, 6, 524324, 786432, 6, 524325, 786432, 6, 524326, 851968, 6, 38, 851968, 5, 65574, 851968, 5, 131110, 851968, 5, 196646, 851968, 5, 262182, 851968, 5, 327718, 851968, 5, 393254, 851968, 5, 458790, 851968, 5, 31, 786432, 5, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 393247, 655360, 6, 458783, 786432, 5, 32, 786432, 5, 65568, 786432, 5, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 393248, 786432, 5, 458784, 786432, 5, 33, 786432, 5, 65569, 786432, 5, 131105, 655360, 6, 196641, 786432, 5, 262177, 786432, 5, 327713, 786432, 5, 393249, 786432, 5, 458785, 786432, 5, 34, 786432, 5, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 655360, 6, 327714, 655360, 6, 393250, 786432, 5, 458786, 786432, 5, 35, 786432, 5, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 393251, 786432, 5, 458787, 786432, 5, 36, 655360, 6, 65572, 786432, 5, 131108, 786432, 5, 196644, 786432, 5, 262180, 786432, 5, 327716, 786432, 5, 393252, 786432, 5, 458788, 655360, 6, 37, 786432, 5, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 786432, 5, 327717, 786432, 5, 393253, 786432, 5, 458789, 786432, 5, 524282, 786432, 5, 524283, 786432, 5, 524284, 786432, 5, 524285, 786432, 5, 524281, 720896, 5, 524286, 851968, 5, 589817, 720896, 6, 589818, 786432, 6, 589819, 786432, 6, 589820, 786432, 6, 589821, 786432, 6, 589822, 851968, 6) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("2_1tbys")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("3_1kfnp")] +unique_name_in_owner = true +visible = false + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(282, -29) +zoom = Vector2(2, 2) + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("4_mylkx") + +[node name="Player" type="Node" parent="."] + +[node name="PlayerPhantomCamera2D" type="Node2D" parent="Player" node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +position = Vector2(282, -29) +script = ExtResource("5_lwx5e") +priority = 5 +follow_mode = 5 +follow_target = NodePath("../CharacterBody2D/PlayerVisuals") +zoom = Vector2(2, 2) +tween_resource = ExtResource("6_tju6r") +tween_on_load = false +follow_damping = true +dead_zone_width = 0.416 +dead_zone_height = 0.63 +show_viewfinder_in_play = true +draw_limits = true + +[node name="Label" type="Label" parent="Player"] +offset_left = 167.0 +offset_top = -145.0 +offset_right = 332.0 +offset_bottom = -81.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("8_bo8m7") +text = "[WASD] to move +[Space] to jump" + +[node name="CharacterBody2D" parent="Player" instance=ExtResource("8_wlikg")] +position = Vector2(282, -29) + +[editable path="Player/CharacterBody2D"] diff --git a/addons/phantom_camera/examples/example_scenes/2D/2d_follow_group_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D/2d_follow_group_example_scene.tscn new file mode 100644 index 0000000..4de4160 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D/2d_follow_group_example_scene.tscn @@ -0,0 +1,650 @@ +[gd_scene load_steps=13 format=3 uid="uid://brrncnp26lrco"] + +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_5kqbp"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="2_xmntp"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="3_8dojy"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="4_2efwt"] +[ext_resource type="Texture2D" uid="uid://cwep0on2tthn7" path="res://addons/phantom_camera/examples/textures/2D/phantom_camera_2d_sprite.png" id="5_0v2cd"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="6_diuy4"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="7_ybwrw"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="9_wk0p3"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="12_uvcwb"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_5kqbp") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[sub_resource type="Resource" id="Resource_spy00"] +script = ExtResource("9_wk0p3") +duration = 0.3 +transition = 4 +ease = 2 + +[node name="ExampleScene2D" type="Node2D"] + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -311.0 +offset_top = -173.0 +offset_right = 981.0 +offset_bottom = 548.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-393216, 655360, 2, -327680, 655360, 3, -262144, 655360, 3, -196608, 655360, 3, -131072, 655360, 3, -65536, 655360, 3, -393215, 720896, 2, -327679, 720896, 1, -262143, 720896, 1, -196607, 720896, 1, -131071, 720896, 1, -65535, 720896, 1, -393214, 786432, 2, -327678, 786432, 3, -262142, 786432, 3, -196606, 786432, 3, -131070, 786432, 3, -65534, 786432, 3) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1, 393225, 786432, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 458752, 1, 327681, 720896, 1, 393217, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 393218, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 393219, 720896, 1, 65540, 458752, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 393220, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 458752, 1, 327685, 720896, 1, 393221, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 393222, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 393223, 458752, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 458752, 1, 262152, 720896, 1, 327688, 720896, 1, 393224, 720896, 1, 65546, 524288, 5, 65547, 524288, 5, 65548, 524288, 5, 65549, 524288, 5, 131082, 524288, 6, 131083, 524288, 6, 131084, 524288, 6, 131085, 524288, 6, 196618, 720896, 1, 262154, 720896, 1, 196619, 720896, 1, 262155, 720896, 1, 196620, 720896, 1, 262156, 720896, 1, 196621, 720896, 1, 262157, 720896, 1, 65550, 524288, 5, 65551, 524288, 5, 65552, 524288, 5, 131086, 524288, 6, 131087, 524288, 6, 131088, 524288, 6, 196622, 720896, 1, 196623, 720896, 1, 262159, 720896, 1, 262160, 720896, 1, 196624, 720896, 1, 262158, 720896, 1, 17, 720896, 4, 65553, 720896, 5, 131089, 720896, 5, 196625, 720896, 5, 262161, 720896, 5, 18, 786432, 4, 19, 786432, 4, 20, 786432, 4, 21, 786432, 4, 22, 786432, 4, 23, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 65555, 786432, 5, 131091, 589824, 6, 196627, 786432, 5, 262163, 786432, 5, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 655360, 6, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327697, 720896, 5, 393233, 720896, 5, 327698, 589824, 6, 393234, 786432, 5, 327699, 786432, 5, 393235, 786432, 5, 327700, 786432, 5, 393236, 786432, 5, 327701, 786432, 5, 393237, 786432, 5, 327702, 786432, 5, 393238, 786432, 5, 327703, 786432, 5, 393239, 786432, 5, -131062, 720896, 4, -131061, 786432, 4, -131060, 786432, 4, -65526, 720896, 6, -65525, 786432, 6, -65524, 786432, 6, -131056, 851968, 4, -65520, 851968, 6, -131059, 786432, 4, -131058, 786432, 4, -131057, 786432, 4, -65523, 786432, 6, -65522, 786432, 6, -65521, 786432, 6, -196596, 917504, 0, -65536, 917504, 2, -65535, 983040, 2, -65534, 1048576, 2, -65533, 917504, 2, -65532, 983040, 2, -65531, 1048576, 2, -65530, 917504, 2, -65529, 983040, 2, -65528, 1048576, 2, 65535, 655360, 0, 131071, 655360, 1, 196607, 655360, 1, 262143, 655360, 1, 327679, 655360, 1, 393215, 655360, 1, 458751, 655360, 1, 524287, 655360, 1, 589823, 655360, 1, 0, 720896, 0, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 393216, 720896, 1, 458752, 720896, 1, 524288, 720896, 1, 524289, 720896, 1, 524290, 720896, 1, 524291, 720896, 1, 524292, 720896, 1, 524293, 720896, 1, 524294, 720896, 1, 524295, 720896, 1, 524296, 720896, 1, 524297, 786432, 1, 458761, 786432, 1, 458760, 720896, 1, 458759, 720896, 1, 458758, 458752, 1, 458757, 720896, 1, 458756, 720896, 1, 458755, 720896, 1, 458754, 720896, 1, 458753, 720896, 1, -262145, 851968, 4, -196609, 851968, 5, -131073, 851968, 5, -65537, 851968, 5, -1, 851968, 6, -262146, 786432, 4, -262147, 786432, 4, -196610, 589824, 6, -196611, 786432, 5, -6, 786432, 5, -5, 786432, 5, -4, 786432, 5, -3, 786432, 5, -2, 786432, 5, -65538, 786432, 5, -131074, 786432, 5, -131075, 786432, 5, -65539, 655360, 6, 65534, 851968, 5, 131070, 851968, 5, 196606, 851968, 5, 262142, 851968, 5, 327678, 851968, 5, 393214, 851968, 5, 458750, 851968, 5, 65533, 786432, 5, 65532, 786432, 5, 65531, 786432, 5, 65530, 786432, 5, 65529, 720896, 5, 131066, 786432, 5, 196602, 786432, 5, 262138, 786432, 5, 262139, 786432, 5, 327675, 786432, 5, 131068, 786432, 5, 131069, 786432, 5, 196605, 786432, 5, 262141, 786432, 5, 327677, 786432, 5, 393213, 786432, 5, 458749, 786432, 5, 393212, 786432, 5, 393211, 786432, 5, 458748, 786432, 5, 327676, 655360, 6, 262140, 786432, 5, 196604, 786432, 5, 131067, 786432, 5, 196603, 589824, 6, 458747, 786432, 5, 458746, 786432, 5, 393210, 786432, 5, 327674, 786432, 5, -7, 720896, 5, 131065, 720896, 5, 196601, 720896, 5, 262137, 720896, 5, 327673, 720896, 5, 393209, 720896, 5, 458745, 720896, 5, -327684, 720896, 3, -196594, 720896, 3, -196597, 720896, 3, -65518, 720896, 3, -65516, 720896, 3, -327686, 1048576, 5, -327685, 720896, 3, -196595, 917504, 6, -65514, 983040, 6, -327683, 983040, 5, -65513, 1048576, 5, -262151, 720896, 4, -196615, 720896, 5, -131079, 720896, 5, -65543, 720896, 5, -262150, 786432, 4, -196614, 655360, 6, -131078, 786432, 5, -65542, 786432, 5, -262149, 786432, 4, -196613, 786432, 5, -131077, 786432, 5, -65541, 786432, 5, -262148, 786432, 4, -196612, 786432, 5, -131076, 786432, 5, -65540, 786432, 5, 458769, 720896, 5, 524305, 720896, 6, 458775, 786432, 5, 458774, 786432, 5, 458773, 786432, 5, 458772, 786432, 5, 458771, 786432, 5, 458770, 786432, 5, 524306, 786432, 6, 524307, 786432, 6, 524308, 786432, 6, 524309, 786432, 6, 524310, 786432, 6, 524311, 786432, 6, 327690, 720896, 1, 393226, 720896, 1, 458762, 720896, 1, 524298, 720896, 1, 327691, 720896, 1, 393227, 720896, 1, 458763, 720896, 1, 524299, 720896, 1, 327692, 720896, 1, 393228, 720896, 1, 458764, 720896, 1, 524300, 720896, 1, 327693, 720896, 1, 393229, 720896, 1, 458765, 720896, 1, 524301, 720896, 1, 327694, 720896, 1, 393230, 720896, 1, 458766, 720896, 1, 524302, 720896, 1, 327695, 720896, 1, 393231, 720896, 1, 458767, 720896, 1, 524303, 720896, 1, 327696, 720896, 1, 393232, 720896, 1, 458768, 720896, 1, 524304, 720896, 1, 29, 851968, 4, 65565, 851968, 5, 131101, 851968, 5, 196637, 851968, 5, 262173, 851968, 5, 327709, 851968, 5, 393245, 851968, 5, 458781, 851968, 5, 524317, 851968, 6, -65511, 917504, 4, 24, 786432, 4, 25, 786432, 4, 26, 786432, 4, 27, 786432, 4, 28, 786432, 4, 65560, 786432, 5, 65561, 786432, 5, 65562, 786432, 5, 65563, 786432, 5, 65564, 786432, 5, 131100, 786432, 5, 196636, 589824, 6, 131099, 786432, 5, 131098, 786432, 5, 131097, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 393240, 786432, 5, 458776, 786432, 5, 524312, 786432, 6, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 393241, 786432, 5, 458777, 786432, 5, 524313, 786432, 6, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 393242, 655360, 6, 458778, 786432, 5, 524314, 786432, 6, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, 393243, 786432, 5, 458779, 786432, 5, 524315, 786432, 6, 262172, 786432, 5, 327708, 786432, 5, 393244, 786432, 5, 458780, 786432, 5, 524316, 786432, 6, -196593, 1048576, 6, -393182, 1048576, 6, -393185, 917504, 6, -393180, 983040, 6, -393184, 983040, 5, -65509, 720896, 3, -65510, 720896, 3, -393181, 720896, 3, -393183, 720896, 3, -65517, 720896, 3, -65515, 720896, 3, -327650, 720896, 4, -262114, 720896, 5, -196578, 720896, 5, -131042, 720896, 5, -65506, 720896, 5, -65498, 851968, 5, -131034, 851968, 5, -196570, 851968, 5, -327642, 851968, 4, -327649, 786432, 4, -327648, 786432, 4, -327647, 786432, 4, -327646, 786432, 4, -327645, 786432, 4, -327644, 786432, 4, -327643, 786432, 4, -262106, 851968, 5, -65499, 786432, 5, -131035, 786432, 5, -196571, 786432, 5, -262107, 786432, 5, -262108, 786432, 5, -262109, 786432, 5, -262110, 786432, 5, -262111, 786432, 5, -262112, 786432, 5, -262113, 786432, 5, -196577, 655360, 6, -131041, 786432, 5, -65505, 786432, 5, -65500, 655360, 6, -131036, 589824, 6, -196572, 786432, 5, -196573, 786432, 5, -196574, 786432, 5, -196575, 786432, 5, -196576, 786432, 5, -131040, 589824, 6, -65504, 786432, 5, -65501, 786432, 5, -131037, 786432, 5, -131038, 786432, 5, -131039, 786432, 5, -65503, 786432, 5, -65502, 786432, 5, 524318, 720896, 6, 458782, 720896, 5, 393246, 720896, 5, 327710, 720896, 5, 262174, 720896, 5, 196638, 720896, 5, 131102, 720896, 5, 65566, 720896, 5, 30, 720896, 5, 524319, 786432, 6, 524320, 786432, 6, 524321, 786432, 6, 524322, 786432, 6, 524323, 786432, 6, 524324, 786432, 6, 524325, 786432, 6, 524326, 851968, 6, 38, 851968, 5, 65574, 851968, 5, 131110, 851968, 5, 196646, 851968, 5, 262182, 851968, 5, 327718, 851968, 5, 393254, 851968, 5, 458790, 851968, 5, 31, 786432, 5, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 393247, 655360, 6, 458783, 786432, 5, 32, 786432, 5, 65568, 786432, 5, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 393248, 786432, 5, 458784, 786432, 5, 33, 786432, 5, 65569, 786432, 5, 131105, 655360, 6, 196641, 786432, 5, 262177, 786432, 5, 327713, 786432, 5, 393249, 786432, 5, 458785, 786432, 5, 34, 786432, 5, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 655360, 6, 327714, 655360, 6, 393250, 786432, 5, 458786, 786432, 5, 35, 786432, 5, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 393251, 786432, 5, 458787, 786432, 5, 36, 655360, 6, 65572, 786432, 5, 131108, 786432, 5, 196644, 786432, 5, 262180, 786432, 5, 327716, 786432, 5, 393252, 786432, 5, 458788, 655360, 6, 37, 786432, 5, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 786432, 5, 327717, 786432, 5, 393253, 786432, 5, 458789, 786432, 5) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("2_xmntp")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("3_8dojy")] +unique_name_in_owner = true +visible = false + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(107, -172.5) +zoom = Vector2(1.615, 1.615) +position_smoothing_speed = 8.0 + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("4_2efwt") + +[node name="Label" type="Label" parent="."] +offset_left = 167.0 +offset_top = -133.0 +offset_right = 332.0 +offset_bottom = -69.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("12_uvcwb") +text = "[WASD] to move +[Space] to jump" + +[node name="PhantomCamera2D" type="Node2D" parent="." node_paths=PackedStringArray("follow_targets")] +position = Vector2(107, -172.5) +script = ExtResource("6_diuy4") +priority = 10 +follow_mode = 3 +follow_targets = [NodePath("../GroupNPCSprite"), NodePath("../CharacterBody2D/PlayerVisuals")] +zoom = Vector2(1.615, 1.615) +tween_resource = SubResource("Resource_spy00") +tween_on_load = false +follow_damping = true +auto_zoom = true +auto_zoom_margin = Vector4(200, 0, 200, 0) +draw_limits = true + +[node name="GroupNPCSprite" type="Sprite2D" parent="."] +unique_name_in_owner = true +position = Vector2(107, -316) +texture = ExtResource("5_0v2cd") + +[node name="CharacterBody2D" parent="." instance=ExtResource("7_ybwrw")] +position = Vector2(265, -29) + +[editable path="CharacterBody2D"] diff --git a/addons/phantom_camera/examples/example_scenes/2D/2d_follow_path_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D/2d_follow_path_example_scene.tscn new file mode 100644 index 0000000..9fb9454 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D/2d_follow_path_example_scene.tscn @@ -0,0 +1,659 @@ +[gd_scene load_steps=12 format=3 uid="uid://psbaaxnedqmq"] + +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_17ngo"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="2_whpvu"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="3_rbo5b"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="4_yddet"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="5_x25dj"] +[ext_resource type="Resource" uid="uid://euybd2w0bax" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres" id="6_4vtmp"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="8_6pcaf"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="8_a2pel"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_17ngo") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[sub_resource type="Curve2D" id="Curve2D_usrhf"] +_data = { +"points": PackedVector2Array(-96.4111, 42.3785, 0, 0, 222, 0, 0, 0, 0, 0, 1550, 0) +} +point_count = 2 + +[node name="ExampleScene2D" type="Node2D"] + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -311.0 +offset_top = -173.0 +offset_right = 981.0 +offset_bottom = 548.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-393216, 655360, 2, -327680, 655360, 3, -262144, 655360, 3, -196608, 655360, 3, -131072, 655360, 3, -65536, 655360, 3, -393215, 720896, 2, -327679, 720896, 1, -262143, 720896, 1, -196607, 720896, 1, -131071, 720896, 1, -65535, 720896, 1, -393214, 786432, 2, -327678, 786432, 3, -262142, 786432, 3, -196606, 786432, 3, -131070, 786432, 3, -65534, 786432, 3) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1, 393225, 786432, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 458752, 1, 327681, 720896, 1, 393217, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 393218, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 393219, 720896, 1, 65540, 458752, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 393220, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 458752, 1, 327685, 720896, 1, 393221, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 393222, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 393223, 458752, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 458752, 1, 262152, 720896, 1, 327688, 720896, 1, 393224, 720896, 1, 65546, 524288, 5, 65547, 524288, 5, 65548, 524288, 5, 65549, 524288, 5, 131082, 524288, 6, 131083, 524288, 6, 131084, 524288, 6, 131085, 524288, 6, 196618, 720896, 1, 262154, 720896, 1, 196619, 720896, 1, 262155, 720896, 1, 196620, 720896, 1, 262156, 720896, 1, 196621, 720896, 1, 262157, 720896, 1, 65550, 524288, 5, 65551, 524288, 5, 65552, 524288, 5, 131086, 524288, 6, 131087, 524288, 6, 131088, 524288, 6, 196622, 720896, 1, 196623, 720896, 1, 262159, 720896, 1, 262160, 720896, 1, 196624, 720896, 1, 262158, 720896, 1, 17, 720896, 4, 65553, 720896, 5, 131089, 720896, 5, 196625, 720896, 5, 262161, 720896, 5, 18, 786432, 4, 19, 786432, 4, 20, 786432, 4, 21, 786432, 4, 22, 786432, 4, 23, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 65555, 786432, 5, 131091, 589824, 6, 196627, 786432, 5, 262163, 786432, 5, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 655360, 6, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327697, 720896, 5, 393233, 720896, 5, 327698, 589824, 6, 393234, 786432, 5, 327699, 786432, 5, 393235, 786432, 5, 327700, 786432, 5, 393236, 786432, 5, 327701, 786432, 5, 393237, 786432, 5, 327702, 786432, 5, 393238, 786432, 5, 327703, 786432, 5, 393239, 786432, 5, -131062, 720896, 4, -131061, 786432, 4, -131060, 786432, 4, -65526, 720896, 6, -65525, 786432, 6, -65524, 786432, 6, -131056, 851968, 4, -65520, 851968, 6, -131059, 786432, 4, -131058, 786432, 4, -131057, 786432, 4, -65523, 786432, 6, -65522, 786432, 6, -65521, 786432, 6, -65536, 917504, 2, -65535, 983040, 2, -65534, 1048576, 2, -65533, 917504, 2, -65532, 983040, 2, -65531, 1048576, 2, -65530, 917504, 2, -65529, 983040, 2, -65528, 1048576, 2, 65535, 655360, 0, 131071, 655360, 1, 196607, 655360, 1, 262143, 655360, 1, 327679, 655360, 1, 393215, 655360, 1, 458751, 655360, 1, 524287, 655360, 1, 589823, 655360, 1, 0, 720896, 0, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 393216, 720896, 1, 458752, 720896, 1, 524288, 720896, 1, 524289, 720896, 1, 524290, 720896, 1, 524291, 720896, 1, 524292, 720896, 1, 524293, 720896, 1, 524294, 720896, 1, 524295, 720896, 1, 524296, 720896, 1, 524297, 786432, 1, 458761, 786432, 1, 458760, 720896, 1, 458759, 720896, 1, 458758, 458752, 1, 458757, 720896, 1, 458756, 720896, 1, 458755, 720896, 1, 458754, 720896, 1, 458753, 720896, 1, -262145, 851968, 4, -196609, 851968, 5, -131073, 851968, 5, -65537, 851968, 5, -1, 851968, 6, -262146, 786432, 4, -262147, 786432, 4, -196610, 589824, 6, -196611, 786432, 5, -6, 786432, 5, -5, 786432, 5, -4, 786432, 5, -3, 786432, 5, -2, 786432, 5, -65538, 786432, 5, -131074, 786432, 5, -131075, 786432, 5, -65539, 655360, 6, 65534, 851968, 5, 131070, 851968, 5, 196606, 851968, 5, 262142, 851968, 5, 327678, 851968, 5, 393214, 851968, 5, 458750, 851968, 5, 65533, 786432, 5, 65532, 786432, 5, 65531, 786432, 5, 65530, 786432, 5, 65529, 720896, 5, 131066, 786432, 5, 196602, 786432, 5, 262138, 786432, 5, 262139, 786432, 5, 327675, 786432, 5, 131068, 786432, 5, 131069, 786432, 5, 196605, 786432, 5, 262141, 786432, 5, 327677, 786432, 5, 393213, 786432, 5, 458749, 786432, 5, 393212, 786432, 5, 393211, 786432, 5, 458748, 786432, 5, 327676, 655360, 6, 262140, 786432, 5, 196604, 786432, 5, 131067, 786432, 5, 196603, 589824, 6, 458747, 786432, 5, 458746, 786432, 5, 393210, 786432, 5, 327674, 786432, 5, -7, 720896, 5, 131065, 720896, 5, 196601, 720896, 5, 262137, 720896, 5, 327673, 720896, 5, 393209, 720896, 5, 458745, 720896, 5, -327684, 720896, 3, -196594, 720896, 3, -196597, 720896, 3, -65518, 720896, 3, -65516, 720896, 3, -327686, 1048576, 5, -327685, 720896, 3, -196595, 917504, 6, -65514, 983040, 6, -327683, 983040, 5, -65513, 1048576, 5, -262151, 720896, 4, -196615, 720896, 5, -131079, 720896, 5, -65543, 720896, 5, -262150, 786432, 4, -196614, 655360, 6, -131078, 786432, 5, -65542, 786432, 5, -262149, 786432, 4, -196613, 786432, 5, -131077, 786432, 5, -65541, 786432, 5, -262148, 786432, 4, -196612, 786432, 5, -131076, 786432, 5, -65540, 786432, 5, 458769, 720896, 5, 524305, 720896, 6, 458775, 786432, 5, 458774, 786432, 5, 458773, 786432, 5, 458772, 786432, 5, 458771, 786432, 5, 458770, 786432, 5, 524306, 786432, 6, 524307, 786432, 6, 524308, 786432, 6, 524309, 786432, 6, 524310, 786432, 6, 524311, 786432, 6, 327690, 720896, 1, 393226, 720896, 1, 458762, 720896, 1, 524298, 720896, 1, 327691, 720896, 1, 393227, 720896, 1, 458763, 720896, 1, 524299, 720896, 1, 327692, 720896, 1, 393228, 720896, 1, 458764, 720896, 1, 524300, 720896, 1, 327693, 720896, 1, 393229, 720896, 1, 458765, 720896, 1, 524301, 720896, 1, 327694, 720896, 1, 393230, 720896, 1, 458766, 720896, 1, 524302, 720896, 1, 327695, 720896, 1, 393231, 720896, 1, 458767, 720896, 1, 524303, 720896, 1, 327696, 720896, 1, 393232, 720896, 1, 458768, 720896, 1, 524304, 720896, 1, 29, 851968, 4, 65565, 851968, 5, 131101, 851968, 5, 196637, 851968, 5, 262173, 851968, 5, 327709, 851968, 5, 393245, 851968, 5, 458781, 851968, 5, 524317, 851968, 6, 24, 786432, 4, 25, 786432, 4, 26, 786432, 4, 27, 786432, 4, 28, 786432, 4, 65560, 786432, 5, 65561, 786432, 5, 65562, 786432, 5, 65563, 786432, 5, 65564, 786432, 5, 131100, 786432, 5, 196636, 589824, 6, 131099, 786432, 5, 131098, 786432, 5, 131097, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 393240, 786432, 5, 458776, 786432, 5, 524312, 786432, 6, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 393241, 786432, 5, 458777, 786432, 5, 524313, 786432, 6, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 393242, 655360, 6, 458778, 786432, 5, 524314, 786432, 6, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, 393243, 786432, 5, 458779, 786432, 5, 524315, 786432, 6, 262172, 786432, 5, 327708, 786432, 5, 393244, 786432, 5, 458780, 786432, 5, 524316, 786432, 6, -196593, 1048576, 6, -65509, 720896, 3, -65510, 720896, 3, -65517, 720896, 3, -65515, 720896, 3, 524282, 786432, 5, 524283, 786432, 5, 524284, 786432, 5, 524285, 786432, 5, 524281, 720896, 5, 524286, 851968, 5, 589817, 720896, 6, 589818, 786432, 6, 589819, 786432, 6, 589820, 786432, 6, 589821, 786432, 6, 589822, 851968, 6, -196569, 720896, 4, -131033, 720896, 5, -65497, 720896, 5, 39, 720896, 5, 65575, 720896, 5, 131111, 720896, 5, 196647, 720896, 5, 262183, 720896, 5, 327719, 720896, 5, 393255, 720896, 5, 458791, 720896, 5, 524327, 720896, 5, 589863, 720896, 5, 655399, 720896, 6, -262104, 917504, 6, -196568, 786432, 4, -131032, 786432, 5, -65496, 655360, 6, 40, 786432, 5, 65576, 786432, 5, 131112, 786432, 5, 196648, 786432, 5, 262184, 786432, 5, 327720, 786432, 5, 393256, 786432, 5, 458792, 786432, 5, 524328, 655360, 6, 589864, 786432, 5, 655400, 786432, 6, -262103, 983040, 5, -196567, 786432, 4, -131031, 786432, 5, -65495, 786432, 5, 41, 589824, 6, 65577, 786432, 5, 131113, 786432, 5, 196649, 786432, 5, 262185, 786432, 5, 327721, 786432, 5, 393257, 786432, 5, 458793, 786432, 5, 524329, 786432, 5, 589865, 786432, 5, 655401, 786432, 6, -262102, 720896, 3, -196566, 786432, 4, -131030, 786432, 5, -65494, 786432, 5, 42, 786432, 5, 65578, 786432, 5, 131114, 786432, 5, 196650, 786432, 5, 262186, 655360, 6, 327722, 786432, 5, 393258, 786432, 5, 458794, 786432, 5, 524330, 786432, 5, 589866, 786432, 5, 655402, 786432, 6, -262101, 1048576, 6, -196565, 786432, 4, -131029, 786432, 5, -65493, 786432, 5, 43, 786432, 5, 65579, 786432, 5, 131115, 786432, 5, 196651, 786432, 5, 262187, 786432, 5, 327723, 786432, 5, 393259, 655360, 6, 458795, 655360, 6, 524331, 786432, 5, 589867, 786432, 5, 655403, 786432, 6, -262100, 720896, 3, -196564, 786432, 4, -131028, 786432, 5, -65492, 786432, 5, 44, 786432, 5, 65580, 786432, 5, 131116, 786432, 5, 196652, 786432, 5, 262188, 786432, 5, 327724, 786432, 5, 393260, 786432, 5, 458796, 786432, 5, 524332, 786432, 5, 589868, 786432, 5, 655404, 786432, 6, -262099, 983040, 6, -196563, 786432, 4, -131027, 786432, 5, -65491, 786432, 5, 45, 589824, 6, 65581, 655360, 6, 131117, 655360, 6, 196653, 786432, 5, 262189, 786432, 5, 327725, 786432, 5, 393261, 786432, 5, 458797, 786432, 5, 524333, 786432, 5, 589869, 655360, 6, 655405, 786432, 6, -196562, 786432, 4, -131026, 786432, 5, -65490, 786432, 5, 46, 786432, 5, 65582, 786432, 5, 131118, 786432, 5, 196654, 786432, 5, 262190, 786432, 5, 327726, 786432, 5, 393262, 786432, 5, 458798, 786432, 5, 524334, 786432, 5, 589870, 786432, 5, 655406, 786432, 6, -196561, 851968, 4, -131025, 851968, 5, -65489, 851968, 5, 47, 851968, 5, 65583, 851968, 5, 131119, 851968, 5, 196655, 851968, 5, 262191, 851968, 5, 327727, 851968, 5, 393263, 851968, 5, 458799, 851968, 5, 524335, 851968, 5, 589871, 851968, 5, 655407, 851968, 6, -131042, 720896, 4, -65506, 720896, 5, 30, 720896, 5, 65566, 720896, 5, 131102, 720896, 5, 196638, 720896, 5, 262174, 720896, 5, 327710, 720896, 5, 393246, 720896, 5, 458782, 720896, 5, 524318, 720896, 5, -196577, 917504, 6, -131041, 786432, 4, -65505, 786432, 5, 31, 655360, 6, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 393247, 786432, 5, 458783, 786432, 5, 524319, 786432, 5, -196576, 983040, 5, -131040, 786432, 4, -65504, 786432, 5, 32, 786432, 5, 65568, 589824, 6, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 393248, 786432, 5, 458784, 786432, 5, 524320, 786432, 5, -196575, 720896, 3, -131039, 786432, 4, -65503, 786432, 5, 33, 786432, 5, 65569, 786432, 5, 131105, 786432, 5, 196641, 786432, 5, 262177, 786432, 5, 327713, 655360, 6, 393249, 786432, 5, 458785, 786432, 5, 524321, 786432, 5, -196574, 1048576, 6, -131038, 786432, 4, -65502, 786432, 5, 34, 786432, 5, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 786432, 5, 327714, 786432, 5, 393250, 786432, 5, 458786, 655360, 6, 524322, 655360, 6, -196573, 720896, 3, -131037, 786432, 4, -65501, 786432, 5, 35, 786432, 5, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 393251, 786432, 5, 458787, 786432, 5, 524323, 786432, 5, -196572, 983040, 6, -131036, 786432, 4, -65500, 786432, 5, 36, 786432, 5, 65572, 589824, 6, 131108, 655360, 6, 196644, 655360, 6, 262180, 786432, 5, 327716, 786432, 5, 393252, 786432, 5, 458788, 786432, 5, 524324, 786432, 5, -131035, 786432, 4, -65499, 786432, 5, 37, 786432, 5, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 786432, 5, 327717, 786432, 5, 393253, 786432, 5, 458789, 786432, 5, 524325, 786432, 5, -131034, 851968, 4, -65498, 851968, 5, 38, 851968, 5, 65574, 851968, 5, 131110, 851968, 5, 196646, 851968, 5, 262182, 851968, 5, 327718, 851968, 5, 393254, 851968, 5, 458790, 851968, 5, 524326, 851968, 5, 589854, 720896, 5, 655390, 720896, 5, 720926, 720896, 6, 589855, 655360, 6, 655391, 786432, 5, 720927, 786432, 6, 589856, 786432, 5, 655392, 786432, 5, 720928, 786432, 6, 589857, 786432, 5, 655393, 786432, 5, 720929, 786432, 6, 589858, 786432, 5, 655394, 786432, 5, 720930, 786432, 6, 589859, 786432, 5, 655395, 786432, 5, 720931, 786432, 6, 589860, 786432, 5, 655396, 655360, 6, 720932, 786432, 6, 589861, 786432, 5, 655397, 786432, 5, 720933, 786432, 6, 589862, 851968, 5, 655398, 851968, 5, 720934, 851968, 6, -458704, 720896, 4, -393168, 720896, 5, -327632, 720896, 5, -262096, 720896, 5, -196560, 720896, 5, -131024, 720896, 5, -65488, 720896, 5, 48, 720896, 5, 65584, 720896, 5, 131120, 720896, 5, 196656, 720896, 5, 262192, 720896, 5, 327728, 720896, 5, 393264, 720896, 6, -524239, 917504, 6, -458703, 786432, 4, -393167, 786432, 5, -327631, 655360, 6, -262095, 786432, 5, -196559, 786432, 5, -131023, 786432, 5, -65487, 786432, 5, 49, 786432, 5, 65585, 786432, 5, 131121, 786432, 5, 196657, 786432, 5, 262193, 655360, 6, 327729, 786432, 5, 393265, 786432, 6, -524238, 983040, 5, -458702, 786432, 4, -393166, 786432, 5, -327630, 786432, 5, -262094, 589824, 6, -196558, 786432, 5, -131022, 786432, 5, -65486, 786432, 5, 50, 786432, 5, 65586, 786432, 5, 131122, 786432, 5, 196658, 786432, 5, 262194, 786432, 5, 327730, 786432, 5, 393266, 786432, 6, -524237, 720896, 3, -458701, 786432, 4, -393165, 786432, 5, -327629, 786432, 5, -262093, 786432, 5, -196557, 786432, 5, -131021, 786432, 5, -65485, 786432, 5, 51, 655360, 6, 65587, 786432, 5, 131123, 786432, 5, 196659, 786432, 5, 262195, 786432, 5, 327731, 786432, 5, 393267, 786432, 6, -524236, 1048576, 6, -458700, 786432, 4, -393164, 786432, 5, -327628, 786432, 5, -262092, 786432, 5, -196556, 786432, 5, -131020, 786432, 5, -65484, 786432, 5, 52, 786432, 5, 65588, 786432, 5, 131124, 655360, 6, 196660, 655360, 6, 262196, 786432, 5, 327732, 786432, 5, 393268, 786432, 6, -524235, 720896, 3, -458699, 786432, 4, -393163, 786432, 5, -327627, 786432, 5, -262091, 786432, 5, -196555, 786432, 5, -131019, 786432, 5, -65483, 786432, 5, 53, 786432, 5, 65589, 786432, 5, 131125, 786432, 5, 196661, 786432, 5, 262197, 786432, 5, 327733, 786432, 5, 393269, 786432, 6, -524234, 983040, 6, -458698, 786432, 4, -393162, 786432, 5, -327626, 786432, 5, -262090, 589824, 6, -196554, 655360, 6, -131018, 655360, 6, -65482, 786432, 5, 54, 786432, 5, 65590, 786432, 5, 131126, 786432, 5, 196662, 786432, 5, 262198, 786432, 5, 327734, 655360, 6, 393270, 786432, 6, -458697, 786432, 4, -393161, 786432, 5, -327625, 786432, 5, -262089, 786432, 5, -196553, 786432, 5, -131017, 786432, 5, -65481, 786432, 5, 55, 786432, 5, 65591, 786432, 5, 131127, 786432, 5, 196663, 786432, 5, 262199, 786432, 5, 327735, 786432, 5, 393271, 786432, 6, -458696, 851968, 4, -393160, 851968, 5, -327624, 851968, 5, -262088, 851968, 5, -196552, 851968, 5, -131016, 851968, 5, -65480, 851968, 5, 56, 851968, 5, 65592, 851968, 5, 131128, 851968, 5, 196664, 851968, 5, 262200, 851968, 5, 327736, 851968, 5, 393272, 851968, 6) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("2_whpvu")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("3_rbo5b")] +unique_name_in_owner = true +visible = false + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(374, -216) +zoom = Vector2(1.5, 1.5) + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("4_yddet") + +[node name="Label" type="Label" parent="."] +offset_left = 167.0 +offset_top = -133.0 +offset_right = 332.0 +offset_bottom = -69.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("8_6pcaf") +text = "[WASD] to move +[Space] to jump" + +[node name="Player" type="Node" parent="."] + +[node name="Label" type="Label" parent="Player"] +visible = false +offset_left = 167.0 +offset_top = -145.0 +offset_right = 332.0 +offset_bottom = -81.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("8_6pcaf") +text = "[WASD] to move +[Space] to jump" + +[node name="PlayerPhantomCamera2D" type="Node2D" parent="." node_paths=PackedStringArray("follow_target", "follow_path")] +unique_name_in_owner = true +position = Vector2(374, -216) +script = ExtResource("5_x25dj") +priority = 10 +follow_mode = 4 +follow_target = NodePath("../CharacterBody2D/PlayerVisuals") +follow_path = NodePath("../Path2D") +zoom = Vector2(1.5, 1.5) +tween_resource = ExtResource("6_4vtmp") +tween_on_load = false +draw_limits = true + +[node name="Path2D" type="Path2D" parent="."] +position = Vector2(152, -216) +curve = SubResource("Curve2D_usrhf") + +[node name="CharacterBody2D" parent="." instance=ExtResource("8_a2pel")] +position = Vector2(225, -28) + +[editable path="CharacterBody2D"] diff --git a/addons/phantom_camera/examples/example_scenes/2D/2d_limit_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D/2d_limit_example_scene.tscn new file mode 100644 index 0000000..fdfb571 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D/2d_limit_example_scene.tscn @@ -0,0 +1,718 @@ +[gd_scene load_steps=16 format=3 uid="uid://w20wokw3ohsq"] + +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/2d_room_limit_tween.gd" id="1_ijqyv"] +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_wmhqb"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="2_v5qg2"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="3_oqmwp"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="4_4b648"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="5_pr2x5"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="9_twplb"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="9_w5e16"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_wmhqb") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[sub_resource type="Resource" id="Resource_ct1eh"] +script = ExtResource("9_twplb") +duration = 0.9 +transition = 2 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_xmxri"] +size = Vector2(790, 410) + +[sub_resource type="Resource" id="Resource_exr3j"] +script = ExtResource("9_twplb") +duration = 0.9 +transition = 2 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_wtfjw"] +size = Vector2(1530, 700) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_daeuh"] +size = Vector2(1027.5, 610.5) + +[node name="ExampleScene2D" type="Node2D"] +script = ExtResource("1_ijqyv") + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -311.0 +offset_top = -173.0 +offset_right = 981.0 +offset_bottom = 548.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) +metadata/_edit_lock_ = true + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +position = Vector2(-97, 0) +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-458743, 851968, 6, -458744, 786432, 6, -458745, 786432, 6, -458746, 786432, 6, -458747, 786432, 6, -458748, 786432, 6, -458749, 786432, 6, -458750, 786432, 6, -458751, 786432, 6, -393218, 786432, 6, -393219, 786432, 6, -393220, 786432, 6, -393221, 720896, 6, -458752, 786432, 6, -393217, 786432, 6, -524279, 851968, 5, -589815, 851968, 5, -655351, 851968, 5, -720887, 851968, 4, -720888, 786432, 4, -720889, 786432, 4, -720890, 786432, 4, -720891, 786432, 4, -720892, 786432, 4, -720893, 786432, 4, -720894, 786432, 4, -720895, 786432, 4, -720896, 786432, 4, -655361, 786432, 4, -655362, 786432, 4, -655363, 786432, 4, -655364, 786432, 4, -655365, 720896, 4, -589829, 720896, 5, -524293, 720896, 5, -458757, 720896, 5, -589828, 786432, 5, -524292, 786432, 5, -458756, 786432, 5, -589827, 786432, 5, -524291, 786432, 5, -458755, 786432, 5, -589826, 786432, 5, -524290, 786432, 5, -458754, 786432, 5, -589825, 786432, 5, -524289, 786432, 5, -458753, 786432, 5, -655360, 786432, 5, -589824, 786432, 5, -524288, 786432, 5, -655359, 786432, 5, -589823, 786432, 5, -524287, 786432, 5, -655358, 786432, 5, -589822, 786432, 5, -524286, 786432, 5, -655357, 786432, 5, -589821, 786432, 5, -524285, 786432, 5, -655356, 786432, 5, -589820, 786432, 5, -524284, 786432, 5, -655355, 786432, 5, -589819, 786432, 5, -524283, 786432, 5, -655354, 786432, 5, -589818, 786432, 5, -524282, 786432, 5, -655353, 786432, 5, -589817, 786432, 5, -524281, 786432, 5, -655352, 786432, 5, -589816, 786432, 5, -524280, 786432, 5) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(65533, 720896, 0, 65534, 720896, 0, 65535, 720896, 0, 0, 720896, 0, 1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65532, 720896, 0, 65531, 655360, 0, 131067, 655360, 1, 196603, 655360, 1, 262139, 655360, 1, 327675, 655360, 1, 393211, 655360, 1, 131068, 720896, 1, 196604, 720896, 1, 262140, 720896, 1, 327676, 720896, 1, 393212, 720896, 1, 131069, 720896, 1, 196605, 720896, 1, 262141, 720896, 1, 327677, 720896, 1, 393213, 720896, 1, 131070, 720896, 1, 196606, 720896, 1, 262142, 720896, 1, 327678, 720896, 1, 393214, 720896, 1, 131071, 720896, 1, 196607, 720896, 1, 262143, 720896, 1, 327679, 720896, 1, 393215, 720896, 1, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 720896, 1, 327681, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 65540, 720896, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 720896, 1, 327685, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 720896, 1, 262152, 720896, 1, 327688, 720896, 1, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1) + +[node name="TileMap2" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(8, 786432, 4, 9, 786432, 4, 10, 786432, 4, 11, 786432, 4, 12, 786432, 4, 13, 786432, 4, 14, 786432, 4, 65528, 851968, 5, 65527, 786432, 5, 65526, 786432, 5, 65525, 786432, 5, 65524, 786432, 5, 65523, 786432, 5, 65544, 786432, 5, 131080, 786432, 5, 196616, 786432, 5, 262152, 786432, 5, 65545, 786432, 5, 131081, 786432, 5, 196617, 786432, 5, 262153, 786432, 5, 65546, 786432, 5, 131082, 786432, 5, 196618, 786432, 5, 262154, 786432, 5, 65547, 786432, 5, 131083, 786432, 5, 196619, 786432, 5, 262155, 786432, 5, 65548, 786432, 5, 131084, 786432, 5, 196620, 786432, 5, 262156, 786432, 5, 65549, 786432, 5, 131085, 786432, 5, 196621, 786432, 5, 262157, 786432, 5, 65550, 786432, 5, 131086, 786432, 5, 196622, 786432, 5, 262158, 786432, 5, 327694, 786432, 5, 327693, 786432, 5, 327692, 786432, 5, 327691, 786432, 5, 327690, 786432, 5, 327689, 786432, 5, 327688, 786432, 5, -131089, 720896, 5, -65553, 720896, 5, -17, 720896, 5, 65519, 720896, 6, -131088, 786432, 5, -65552, 786432, 5, -16, 786432, 5, 65520, 786432, 5, -131087, 786432, 5, -65551, 786432, 5, -15, 786432, 5, 65521, 786432, 5, -131086, 786432, 5, -65550, 786432, 5, -14, 786432, 5, 65522, 786432, 5, -131085, 786432, 5, -65549, 786432, 5, -13, 786432, 5, -131084, 786432, 5, -65548, 786432, 5, -12, 786432, 5, -131083, 786432, 5, -65547, 786432, 5, -11, 786432, 5, -131082, 786432, 5, -65546, 786432, 5, -10, 786432, 5, -131081, 786432, 5, -65545, 786432, 5, -9, 786432, 5, -131080, 851968, 5, -65544, 851968, 5, -8, 851968, 5, 131064, 851968, 5, 196600, 851968, 5, 262136, 851968, 5, 327672, 851968, 5, 393208, 851968, 5, 131056, 786432, 5, 196592, 786432, 5, 262128, 786432, 5, 327664, 786432, 5, 393200, 786432, 5, 131057, 786432, 5, 196593, 786432, 5, 262129, 786432, 5, 327665, 786432, 5, 393201, 786432, 5, 131058, 786432, 5, 196594, 786432, 5, 262130, 786432, 5, 327666, 786432, 5, 393202, 786432, 5, 131059, 786432, 5, 196595, 786432, 5, 262131, 786432, 5, 327667, 786432, 5, 393203, 786432, 5, 131060, 786432, 5, 196596, 786432, 5, 262132, 786432, 5, 327668, 786432, 5, 393204, 786432, 5, 131061, 786432, 5, 196597, 786432, 5, 262133, 786432, 5, 327669, 786432, 5, 393205, 786432, 5, 131062, 786432, 5, 196598, 786432, 5, 262134, 786432, 5, 327670, 786432, 5, 393206, 786432, 5, 131063, 786432, 5, 196599, 786432, 5, 262135, 786432, 5, 327671, 786432, 5, 393207, 786432, 5, 17, 786432, 4, 65553, 786432, 5, 131089, 786432, 5, 196625, 786432, 5, 262161, 786432, 5, 327697, 786432, 5, 18, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 327698, 786432, 5, 15, 786432, 4, 65551, 786432, 5, 131087, 786432, 5, 196623, 786432, 5, 262159, 786432, 5, 327695, 786432, 5, 16, 786432, 4, 65552, 786432, 5, 131088, 786432, 5, 196624, 786432, 5, 262160, 786432, 5, 327696, 786432, 5, 19, 786432, 4, 65555, 786432, 5, 131091, 786432, 5, 196627, 786432, 5, 262163, 786432, 5, 327699, 786432, 5, -458769, 720896, 5, -393233, 720896, 5, -458768, 786432, 5, -393232, 786432, 5, -458767, 786432, 5, -393231, 786432, 5, -458766, 786432, 5, -393230, 786432, 5, -458765, 786432, 5, -393229, 786432, 5, -458764, 786432, 5, -393228, 786432, 5, -458763, 786432, 5, -393227, 786432, 5, -458762, 786432, 5, -393226, 786432, 5, -458761, 786432, 5, -393225, 786432, 5, -458760, 851968, 5, -393224, 851968, 5, -655377, 720896, 4, -589841, 720896, 5, -524305, 720896, 5, -655376, 786432, 4, -589840, 786432, 5, -524304, 786432, 5, -655375, 786432, 4, -589839, 786432, 5, -524303, 786432, 5, -655374, 786432, 4, -589838, 786432, 5, -524302, 786432, 5, -655373, 786432, 4, -589837, 786432, 5, -524301, 786432, 5, -655372, 786432, 4, -589836, 786432, 5, -524300, 786432, 5, -655371, 786432, 4, -589835, 786432, 5, -524299, 786432, 5, -655370, 786432, 4, -589834, 786432, 5, -524298, 786432, 5, -655369, 786432, 4, -589833, 786432, 5, -524297, 786432, 5, -655368, 851968, 4, -589832, 851968, 5, -524296, 851968, 5, -327697, 720896, 5, -327696, 786432, 5, -327695, 786432, 5, -327694, 786432, 5, -327693, 786432, 5, -327692, 786432, 5, -327691, 786432, 5, -327690, 786432, 5, -327689, 786432, 5, -327688, 851968, 5, -262161, 720896, 5, -262160, 786432, 5, -262159, 786432, 5, -262158, 786432, 5, -262157, 786432, 5, -262156, 786432, 5, -262155, 786432, 5, -262154, 786432, 5, -262153, 786432, 5, -262152, 851968, 5, -196625, 720896, 5, -196624, 786432, 5, -196623, 786432, 5, -196622, 786432, 5, -196621, 786432, 5, -196620, 786432, 5, -196619, 786432, 5, -196618, 786432, 5, -196617, 786432, 5, -196616, 851968, 5, 20, 786432, 4, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 327700, 786432, 5, 21, 786432, 4, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 327701, 786432, 5, 22, 786432, 4, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 786432, 5, 327702, 786432, 5, 23, 786432, 4, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327703, 786432, 5, 24, 786432, 4, 65560, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 25, 786432, 4, 65561, 786432, 5, 131097, 786432, 5, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 26, 786432, 4, 65562, 786432, 5, 131098, 786432, 5, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 27, 786432, 4, 65563, 786432, 5, 131099, 786432, 5, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, -65498, 917504, 3, 38, 786432, 4, 65574, 786432, 5, 131110, 786432, 5, 196646, 786432, 5, 262182, 786432, 5, 327718, 786432, 5, 39, 786432, 4, 65575, 786432, 5, 131111, 786432, 5, 196647, 786432, 5, 262183, 786432, 5, 327719, 786432, 5, -65496, 983040, 3, 40, 786432, 4, 65576, 786432, 5, 131112, 786432, 5, 196648, 786432, 5, 262184, 786432, 5, 327720, 786432, 5, -65495, 983040, 3, 41, 786432, 4, 65577, 786432, 5, 131113, 786432, 5, 196649, 786432, 5, 262185, 786432, 5, 327721, 786432, 5, -65494, 983040, 3, 42, 786432, 4, 65578, 786432, 5, 131114, 786432, 5, 196650, 786432, 5, 262186, 786432, 5, 327722, 786432, 5, -65493, 983040, 3, 43, 786432, 4, 65579, 786432, 5, 131115, 786432, 5, 196651, 786432, 5, 262187, 786432, 5, 327723, 786432, 5, -65492, 983040, 3, 44, 786432, 4, 65580, 786432, 5, 131116, 786432, 5, 196652, 786432, 5, 262188, 786432, 5, 327724, 786432, 5, -65491, 983040, 3, 45, 786432, 4, 65581, 786432, 5, 131117, 786432, 5, 196653, 786432, 5, 262189, 786432, 5, 327725, 786432, 5, -65490, 983040, 3, 46, 786432, 4, 65582, 786432, 5, 131118, 786432, 5, 196654, 786432, 5, 262190, 786432, 5, 327726, 786432, 5, -65489, 983040, 3, 47, 786432, 4, 65583, 786432, 5, 131119, 786432, 5, 196655, 786432, 5, 262191, 786432, 5, 327727, 786432, 5, -65488, 1048576, 3, 48, 786432, 4, 65584, 786432, 5, 131120, 786432, 5, 196656, 786432, 5, 262192, 786432, 5, 327728, 786432, 5, 49, 851968, 4, 65585, 851968, 5, 131121, 851968, 5, 196657, 851968, 5, 262193, 851968, 5, 327729, 851968, 5, -65497, 983040, 3, -589774, 720896, 4, -524238, 720896, 5, -458702, 720896, 5, -393166, 720896, 5, -327630, 720896, 5, -262094, 720896, 5, -196558, 720896, 5, -131022, 720896, 5, -65486, 720896, 5, 50, 720896, 5, 65586, 720896, 5, 131122, 720896, 5, 196658, 720896, 5, 262194, 720896, 5, 327730, 720896, 5, -589773, 786432, 4, -524237, 786432, 5, -458701, 786432, 5, -393165, 786432, 5, -327629, 786432, 5, -262093, 786432, 5, -196557, 786432, 5, -131021, 786432, 5, -65485, 786432, 5, 51, 786432, 5, 65587, 786432, 5, 131123, 786432, 5, 196659, 786432, 5, 262195, 786432, 5, 327731, 786432, 5, -589772, 786432, 4, -524236, 786432, 5, -458700, 786432, 5, -393164, 786432, 5, -327628, 786432, 5, -262092, 786432, 5, -196556, 786432, 5, -131020, 786432, 5, -65484, 786432, 5, 52, 786432, 5, 65588, 786432, 5, 131124, 786432, 5, 196660, 786432, 5, 262196, 786432, 5, 327732, 786432, 5, -589771, 786432, 4, -524235, 786432, 5, -458699, 786432, 5, -393163, 786432, 5, -327627, 786432, 5, -262091, 786432, 5, -196555, 786432, 5, -131019, 786432, 5, -65483, 786432, 5, 53, 786432, 5, 65589, 786432, 5, 131125, 786432, 5, 196661, 786432, 5, 262197, 786432, 5, 327733, 786432, 5, -589770, 786432, 4, -524234, 786432, 5, -458698, 786432, 5, -393162, 786432, 5, -327626, 786432, 5, -262090, 786432, 5, -196554, 786432, 5, -131018, 786432, 5, -65482, 786432, 5, 54, 786432, 5, 65590, 786432, 5, 131126, 786432, 5, 196662, 786432, 5, 262198, 786432, 5, 327734, 786432, 5, -589769, 786432, 4, -524233, 786432, 5, -458697, 786432, 5, -393161, 786432, 5, -327625, 786432, 5, -262089, 786432, 5, -196553, 786432, 5, -131017, 786432, 5, -65481, 786432, 5, 55, 786432, 5, 65591, 786432, 5, 131127, 786432, 5, 196663, 786432, 5, 262199, 786432, 5, 327735, 786432, 5, -589768, 786432, 4, -524232, 786432, 5, -458696, 786432, 5, -393160, 786432, 5, -327624, 786432, 5, -262088, 786432, 5, -196552, 786432, 5, -131016, 786432, 5, -65480, 786432, 5, 56, 786432, 5, 65592, 786432, 5, 131128, 786432, 5, 196664, 786432, 5, 262200, 786432, 5, 327736, 786432, 5, -589767, 786432, 4, -524231, 786432, 5, -458695, 786432, 5, -393159, 786432, 5, -327623, 786432, 5, -262087, 786432, 5, -196551, 786432, 5, -131015, 786432, 5, -65479, 786432, 5, 57, 786432, 5, 65593, 786432, 5, 131129, 786432, 5, 196665, 786432, 5, 262201, 786432, 5, 327737, 786432, 5, -589766, 786432, 4, -524230, 786432, 5, -458694, 786432, 5, -393158, 786432, 5, -327622, 786432, 5, -262086, 786432, 5, -196550, 786432, 5, -131014, 786432, 5, -65478, 786432, 5, 58, 786432, 5, 65594, 786432, 5, 131130, 786432, 5, 196666, 786432, 5, 262202, 786432, 5, 327738, 786432, 5, -589765, 851968, 4, -524229, 851968, 5, -458693, 851968, 5, -393157, 851968, 5, -327621, 851968, 5, -262085, 851968, 5, -196549, 851968, 5, -131013, 851968, 5, -65477, 851968, 5, 59, 851968, 5, 65595, 851968, 5, 131131, 851968, 5, 196667, 851968, 5, 262203, 851968, 5, 327739, 851968, 5, 28, 786432, 4, 65564, 786432, 5, 131100, 786432, 5, 196636, 786432, 5, 262172, 786432, 5, 327708, 786432, 5, 29, 786432, 4, 65565, 786432, 5, 131101, 786432, 5, 196637, 786432, 5, 262173, 786432, 5, 327709, 786432, 5, 30, 786432, 4, 65566, 786432, 5, 131102, 786432, 5, 196638, 786432, 5, 262174, 786432, 5, 327710, 786432, 5, 31, 786432, 4, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 32, 786432, 4, 65568, 786432, 5, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 33, 786432, 4, 65569, 786432, 5, 131105, 786432, 5, 196641, 786432, 5, 262177, 786432, 5, 327713, 786432, 5, 34, 786432, 4, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 786432, 5, 327714, 786432, 5, 35, 786432, 4, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 36, 786432, 4, 65572, 786432, 5, 131108, 786432, 5, 196644, 786432, 5, 262180, 786432, 5, 327716, 786432, 5, 37, 786432, 4, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 786432, 5, 327717, 786432, 5, -65487, 458752, 6, -131023, 458752, 5, -196559, 458752, 5, -262095, 458752, 5, -327631, 458752, 5, -393167, 458752, 5, -458703, 458752, 5, -524239, 458752, 5, -589775, 458752, 4) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("2_v5qg2")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("3_oqmwp")] +unique_name_in_owner = true +visible = false + +[node name="CharacterBody2D" parent="." instance=ExtResource("5_pr2x5")] +unique_name_in_owner = true +position = Vector2(66, -50) + +[node name="RoomLeftPhantomCamera2D" type="Node2D" parent="." node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +position = Vector2(66, -113.205) +script = ExtResource("4_4b648") +priority = 5 +follow_mode = 2 +follow_target = NodePath("../CharacterBody2D/PlayerVisuals") +zoom = Vector2(2, 2) +tween_resource = SubResource("Resource_ct1eh") +follow_offset = Vector2(0, -63.205) +follow_damping = true +draw_limits = true +limit_target = NodePath("../TileMap") +limit_margin = Vector4i(-50, 0, -50, 0) + +[node name="RoomLeftArea2D" type="Area2D" parent="."] +unique_name_in_owner = true +position = Vector2(117, -174) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RoomLeftArea2D"] +position = Vector2(-79, 43) +shape = SubResource("RectangleShape2D_xmxri") +debug_color = Color(0, 0.6, 0.701961, 0.0313726) + +[node name="RoomCentrePhantomCamera2D" type="Node2D" parent="."] +unique_name_in_owner = true +position = Vector2(1474, -149) +script = ExtResource("4_4b648") +follow_mode = 2 +zoom = Vector2(1.5, 1.5) +tween_resource = SubResource("Resource_exr3j") +follow_damping = true +draw_limits = true +limit_target = NodePath("../RoomCentreArea2D/CollisionShape2D") + +[node name="RoomCentreArea2D" type="Area2D" parent="."] +unique_name_in_owner = true +position = Vector2(755, -179) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RoomCentreArea2D"] +position = Vector2(338, -28) +shape = SubResource("RectangleShape2D_wtfjw") +debug_color = Color(0, 0.6, 0.701961, 0) + +[node name="RoomRightArea2D" type="Area2D" parent="."] +unique_name_in_owner = true +position = Vector2(2065, -160) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="RoomRightArea2D"] +position = Vector2(255.75, -3.25) +shape = SubResource("RectangleShape2D_daeuh") +debug_color = Color(0, 0.6, 0.701961, 0) + +[node name="RoomRightPhantomCamera2D" type="Node2D" parent="."] +unique_name_in_owner = true +position = Vector2(2347, -156) +scale = Vector2(1.0024, 1) +script = ExtResource("4_4b648") +follow_mode = 2 +zoom = Vector2(2, 2) +tween_resource = SubResource("Resource_exr3j") +follow_damping = true +draw_limits = true + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(66, -113.205) +zoom = Vector2(2, 2) +limit_left = -387 +limit_top = -528 +limit_right = 433 +limit_bottom = 288 +position_smoothing_speed = 10.0 +editor_draw_limits = true + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("9_w5e16") + +[editable path="CharacterBody2D"] diff --git a/addons/phantom_camera/examples/example_scenes/2D/2d_tweening_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/2D/2d_tweening_example_scene.tscn new file mode 100644 index 0000000..24d9a1a --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D/2d_tweening_example_scene.tscn @@ -0,0 +1,793 @@ +[gd_scene load_steps=19 format=3 uid="uid://cpyb3ucwcqj8l"] + +[ext_resource type="Texture2D" uid="uid://c77npili4pel4" path="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" id="1_oo2bo"] +[ext_resource type="PackedScene" uid="uid://dg7rhrymsrrrm" path="res://addons/phantom_camera/examples/ui/ui_inventory.tscn" id="2_as4e6"] +[ext_resource type="PackedScene" uid="uid://iq5xd1ob1res" path="res://addons/phantom_camera/examples/ui/ui_sign.tscn" id="3_6yi7w"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="4_bb7en"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="5_kikl5"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="6_8u8cj"] +[ext_resource type="Resource" uid="uid://euybd2w0bax" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres" id="6_gu0o0"] +[ext_resource type="PackedScene" uid="uid://7kh0xydx0b1o" path="res://addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn" id="8_g1syc"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/2d_trigger_area.gd" id="9_184pu"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="11_myq47"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_easgx"] +texture = ExtResource("1_oo2bo") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_1/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_1/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_1/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_1/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_1/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_1/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_1/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_1/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_1/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_1/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_1/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_1/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_1/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_1/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_1/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_1/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_1/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_1/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_1/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_1/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_1/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +7:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_1/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_1/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_1/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_1/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_1/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_1/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_1/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_1/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_1/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_1/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_1/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_1/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_1/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_1/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_1/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_1/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_1/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_1/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_1/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_1/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_1/angular_velocity = 0.0 +14:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(8, -8, 8, 8, -8, 8) +14:0/0/custom_data_0 = &"Sign" +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_1/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_1/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_1/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_1/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_1/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_1/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_1/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_1/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_1/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_1/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_1/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_1/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_1/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_1/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_1/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_1/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_1/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_1/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_1/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_1/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +8:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_1/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +9:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_1/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +10:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_1/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_1/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_1/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_1/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_1/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_1/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_1/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_1/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_1/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_1/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-7, 2.5, -5, -2, -2.5, -5, 2, -7, 8, -8, 8, 8, -8, 8) +11:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_1/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_1/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -6, 4, -1.5, 6.5, 1.5, 8, 8, -8, 8) +13:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_1/angular_velocity = 0.0 +14:4/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, -8) +14:4/0/custom_data_0 = &"Inventory" +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_1/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_1/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_1/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_1/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_1/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +11:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_1/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_1/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +13:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_1/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_1/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_1/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_1/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_1/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_1/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_1/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, 1, 6.5, -3, 3, -6.5, -1.5) +11:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_1/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +12:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_1/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 6, -0.5, 3, 3.5, -1.5, 6.5, -8, 8) +13:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_1/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_1/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_1/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0/physics_layer_1/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_1/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_1/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_1/angular_velocity = 0.0 + +[sub_resource type="TileSet" id="TileSet_kf7eg"] +physics_layer_0/collision_layer = 1 +physics_layer_1/collision_layer = 2 +physics_layer_1/collision_mask = 2 +custom_data_layer_0/name = "Type" +custom_data_layer_0/type = 21 +sources/0 = SubResource("TileSetAtlasSource_easgx") + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_tgk1y"] +size = Vector2(140, 160) + +[sub_resource type="Resource" id="Resource_mtp70"] +script = ExtResource("6_8u8cj") +duration = 0.6 +transition = 1 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_clm0y"] +size = Vector2(104, 160) + +[sub_resource type="Resource" id="Resource_8jg5c"] +script = ExtResource("6_8u8cj") +duration = 0.3 +transition = 8 +ease = 2 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_uka0w"] +size = Vector2(560, 160) + +[sub_resource type="Resource" id="Resource_e4e41"] +script = ExtResource("6_8u8cj") +duration = 1.2 +transition = 10 +ease = 2 + +[node name="ExampleScene2D" type="Node2D"] + +[node name="Background" type="CanvasLayer" parent="."] +layer = -3 + +[node name="ColorRect" type="ColorRect" parent="Background"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -311.0 +offset_top = -173.0 +offset_right = 981.0 +offset_bottom = 548.0 +grow_horizontal = 2 +grow_vertical = 2 +auto_translate = false +localize_numeral_system = false +color = Color(0.137255, 0.14902, 0.196078, 1) + +[node name="TileMap" type="TileMap" parent="."] +z_index = -1 +scale = Vector2(3, 3) +tile_set = SubResource("TileSet_kf7eg") +format = 2 +layer_0/name = "Background" +layer_0/tile_data = PackedInt32Array(-393216, 655360, 2, -327680, 655360, 3, -262144, 655360, 3, -196608, 655360, 3, -131072, 655360, 3, -65536, 655360, 3, -393215, 720896, 2, -327679, 720896, 1, -262143, 720896, 1, -196607, 720896, 1, -131071, 720896, 1, -65535, 720896, 1, -393214, 786432, 2, -327678, 786432, 3, -262142, 786432, 3, -196606, 786432, 3, -131070, 786432, 3, -65534, 786432, 3) +layer_1/name = "Terrain" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(1, 720896, 0, 2, 720896, 0, 3, 720896, 0, 4, 720896, 0, 5, 720896, 0, 6, 720896, 0, 7, 720896, 0, 8, 720896, 0, 9, 786432, 0, 65545, 786432, 1, 131081, 786432, 1, 196617, 786432, 1, 262153, 786432, 1, 327689, 786432, 1, 393225, 786432, 1, 65537, 720896, 1, 131073, 720896, 1, 196609, 720896, 1, 262145, 458752, 1, 327681, 720896, 1, 393217, 720896, 1, 65538, 720896, 1, 131074, 720896, 1, 196610, 720896, 1, 262146, 720896, 1, 327682, 720896, 1, 393218, 720896, 1, 65539, 720896, 1, 131075, 720896, 1, 196611, 720896, 1, 262147, 720896, 1, 327683, 720896, 1, 393219, 720896, 1, 65540, 458752, 1, 131076, 720896, 1, 196612, 720896, 1, 262148, 720896, 1, 327684, 720896, 1, 393220, 720896, 1, 65541, 720896, 1, 131077, 720896, 1, 196613, 720896, 1, 262149, 458752, 1, 327685, 720896, 1, 393221, 720896, 1, 65542, 720896, 1, 131078, 720896, 1, 196614, 720896, 1, 262150, 720896, 1, 327686, 720896, 1, 393222, 720896, 1, 65543, 720896, 1, 131079, 720896, 1, 196615, 720896, 1, 262151, 720896, 1, 327687, 720896, 1, 393223, 458752, 1, 65544, 720896, 1, 131080, 720896, 1, 196616, 458752, 1, 262152, 720896, 1, 327688, 720896, 1, 393224, 720896, 1, 65546, 524288, 5, 65547, 524288, 5, 65548, 524288, 5, 65549, 524288, 5, 131082, 524288, 6, 131083, 524288, 6, 131084, 524288, 6, 131085, 524288, 6, 196618, 720896, 1, 262154, 720896, 1, 196619, 720896, 1, 262155, 720896, 1, 196620, 720896, 1, 262156, 720896, 1, 196621, 720896, 1, 262157, 720896, 1, 65550, 524288, 5, 65551, 524288, 5, 65552, 524288, 5, 131086, 524288, 6, 131087, 524288, 6, 131088, 524288, 6, 196622, 720896, 1, 196623, 720896, 1, 262159, 720896, 1, 262160, 720896, 1, 196624, 720896, 1, 262158, 720896, 1, 17, 720896, 4, 65553, 720896, 5, 131089, 720896, 5, 196625, 720896, 5, 262161, 720896, 5, 18, 786432, 4, 19, 786432, 4, 20, 786432, 4, 21, 786432, 4, 22, 786432, 4, 23, 786432, 4, 65554, 786432, 5, 131090, 786432, 5, 196626, 786432, 5, 262162, 786432, 5, 65555, 786432, 5, 131091, 589824, 6, 196627, 786432, 5, 262163, 786432, 5, 65556, 786432, 5, 131092, 786432, 5, 196628, 786432, 5, 262164, 786432, 5, 65557, 786432, 5, 131093, 786432, 5, 196629, 786432, 5, 262165, 786432, 5, 65558, 786432, 5, 131094, 786432, 5, 196630, 786432, 5, 262166, 655360, 6, 65559, 786432, 5, 131095, 786432, 5, 196631, 786432, 5, 262167, 786432, 5, 327697, 720896, 5, 393233, 720896, 5, 327698, 589824, 6, 393234, 786432, 5, 327699, 786432, 5, 393235, 786432, 5, 327700, 786432, 5, 393236, 786432, 5, 327701, 786432, 5, 393237, 786432, 5, 327702, 786432, 5, 393238, 786432, 5, 327703, 786432, 5, 393239, 786432, 5, -131062, 720896, 4, -131061, 786432, 4, -131060, 786432, 4, -65526, 720896, 6, -65525, 786432, 6, -65524, 786432, 6, -131056, 851968, 4, -65520, 851968, 6, -131059, 786432, 4, -131058, 786432, 4, -131057, 786432, 4, -65523, 786432, 6, -65522, 786432, 6, -65521, 786432, 6, -65536, 917504, 2, -65535, 983040, 2, -65534, 1048576, 2, -65533, 917504, 2, -65532, 983040, 2, -65531, 1048576, 2, -65530, 917504, 2, -65529, 983040, 2, -65528, 1048576, 2, 65535, 655360, 0, 131071, 655360, 1, 196607, 655360, 1, 262143, 655360, 1, 327679, 655360, 1, 393215, 655360, 1, 458751, 655360, 1, 524287, 655360, 1, 589823, 655360, 1, 0, 720896, 0, 65536, 720896, 1, 131072, 720896, 1, 196608, 720896, 1, 262144, 720896, 1, 327680, 720896, 1, 393216, 720896, 1, 458752, 720896, 1, 524288, 720896, 1, 524289, 720896, 1, 524290, 720896, 1, 524291, 720896, 1, 524292, 720896, 1, 524293, 720896, 1, 524294, 720896, 1, 524295, 720896, 1, 524296, 720896, 1, 524297, 786432, 1, 458761, 786432, 1, 458760, 720896, 1, 458759, 720896, 1, 458758, 458752, 1, 458757, 720896, 1, 458756, 720896, 1, 458755, 720896, 1, 458754, 720896, 1, 458753, 720896, 1, -262145, 851968, 4, -196609, 851968, 5, -131073, 851968, 5, -65537, 851968, 5, -1, 851968, 6, -262146, 786432, 4, -262147, 786432, 4, -196610, 589824, 6, -196611, 786432, 5, -6, 786432, 5, -5, 786432, 5, -4, 786432, 5, -3, 786432, 5, -2, 786432, 5, -65538, 786432, 5, -131074, 786432, 5, -131075, 786432, 5, -65539, 655360, 6, 65534, 851968, 5, 131070, 851968, 5, 196606, 851968, 5, 262142, 851968, 5, 327678, 851968, 5, 393214, 851968, 5, 458750, 851968, 5, 65533, 786432, 5, 65532, 786432, 5, 65531, 786432, 5, 65530, 786432, 5, 65529, 720896, 5, 131066, 786432, 5, 196602, 786432, 5, 262138, 786432, 5, 262139, 786432, 5, 327675, 786432, 5, 131068, 786432, 5, 131069, 786432, 5, 196605, 786432, 5, 262141, 786432, 5, 327677, 786432, 5, 393213, 786432, 5, 458749, 786432, 5, 393212, 786432, 5, 393211, 786432, 5, 458748, 786432, 5, 327676, 655360, 6, 262140, 786432, 5, 196604, 786432, 5, 131067, 786432, 5, 196603, 589824, 6, 458747, 786432, 5, 458746, 786432, 5, 393210, 786432, 5, 327674, 786432, 5, -7, 720896, 5, 131065, 720896, 5, 196601, 720896, 5, 262137, 720896, 5, 327673, 720896, 5, 393209, 720896, 5, 458745, 720896, 5, -327684, 720896, 3, -196594, 720896, 3, -196597, 720896, 3, -65518, 720896, 3, -65516, 720896, 3, -327686, 1048576, 5, -327685, 720896, 3, -196595, 917504, 6, -65514, 983040, 6, -327683, 983040, 5, -65513, 1048576, 5, -262151, 720896, 4, -196615, 720896, 5, -131079, 720896, 5, -65543, 720896, 5, -262150, 786432, 4, -196614, 655360, 6, -131078, 786432, 5, -65542, 786432, 5, -262149, 786432, 4, -196613, 786432, 5, -131077, 786432, 5, -65541, 786432, 5, -262148, 786432, 4, -196612, 786432, 5, -131076, 786432, 5, -65540, 786432, 5, 458769, 720896, 5, 458775, 786432, 5, 458774, 786432, 5, 458773, 786432, 5, 458772, 786432, 5, 458771, 786432, 5, 458770, 786432, 5, 327690, 720896, 1, 393226, 720896, 1, 458762, 720896, 1, 524298, 720896, 1, 327691, 720896, 1, 393227, 720896, 1, 458763, 720896, 1, 524299, 720896, 1, 327692, 720896, 1, 393228, 720896, 1, 458764, 720896, 1, 524300, 720896, 1, 327693, 720896, 1, 393229, 720896, 1, 458765, 720896, 1, 524301, 720896, 1, 327694, 720896, 1, 393230, 720896, 1, 458766, 720896, 1, 524302, 720896, 1, 327695, 720896, 1, 393231, 720896, 1, 458767, 720896, 1, 524303, 720896, 1, 327696, 720896, 1, 393232, 720896, 1, 458768, 720896, 1, 524304, 720896, 1, 29, 851968, 4, 65565, 851968, 5, 131101, 851968, 5, 196637, 851968, 5, 262173, 851968, 5, 327709, 851968, 5, 393245, 851968, 5, 458781, 851968, 5, 24, 786432, 4, 25, 786432, 4, 26, 786432, 4, 27, 786432, 4, 28, 786432, 4, 65560, 786432, 5, 65561, 786432, 5, 65562, 786432, 5, 65563, 786432, 5, 65564, 786432, 5, 131100, 786432, 5, 196636, 589824, 6, 131099, 786432, 5, 131098, 786432, 5, 131097, 786432, 5, 131096, 786432, 5, 196632, 786432, 5, 262168, 786432, 5, 327704, 786432, 5, 393240, 786432, 5, 458776, 786432, 5, 196633, 786432, 5, 262169, 786432, 5, 327705, 786432, 5, 393241, 786432, 5, 458777, 786432, 5, 196634, 786432, 5, 262170, 786432, 5, 327706, 786432, 5, 393242, 655360, 6, 458778, 786432, 5, 196635, 786432, 5, 262171, 786432, 5, 327707, 786432, 5, 393243, 786432, 5, 458779, 786432, 5, 262172, 786432, 5, 327708, 786432, 5, 393244, 786432, 5, 458780, 786432, 5, -196593, 1048576, 6, -393182, 1048576, 6, -393185, 917504, 6, -393180, 983040, 6, -393184, 983040, 5, -65509, 720896, 3, -65510, 720896, 3, -393181, 720896, 3, -393183, 720896, 3, -65517, 720896, 3, -65515, 720896, 3, -327650, 720896, 4, -262114, 720896, 5, -196578, 720896, 5, -131042, 720896, 5, -65506, 720896, 5, -327649, 786432, 4, -327648, 786432, 4, -327647, 786432, 4, -327646, 786432, 4, -327645, 786432, 4, -327644, 786432, 4, -327643, 786432, 4, -65499, 786432, 5, -131035, 786432, 5, -196571, 786432, 5, -262107, 655360, 6, -262108, 786432, 5, -262109, 786432, 5, -262110, 786432, 5, -262111, 786432, 5, -262112, 786432, 5, -262113, 786432, 5, -196577, 655360, 6, -131041, 786432, 5, -65505, 786432, 5, -65500, 655360, 6, -131036, 589824, 6, -196572, 786432, 5, -196573, 786432, 5, -196574, 786432, 5, -196575, 786432, 5, -196576, 786432, 5, -131040, 589824, 6, -65504, 786432, 5, -65501, 786432, 5, -131037, 786432, 5, -131038, 786432, 5, -131039, 786432, 5, -65503, 786432, 5, -65502, 786432, 5, 524318, 720896, 6, 458782, 720896, 5, 393246, 720896, 5, 327710, 720896, 5, 262174, 720896, 5, 196638, 720896, 5, 131102, 720896, 5, 65566, 720896, 5, 30, 720896, 5, 524319, 786432, 6, 524320, 786432, 6, 524321, 786432, 6, 524322, 786432, 6, 524323, 786432, 6, 524324, 786432, 6, 524325, 786432, 6, 31, 786432, 5, 65567, 786432, 5, 131103, 786432, 5, 196639, 786432, 5, 262175, 786432, 5, 327711, 786432, 5, 393247, 655360, 6, 458783, 786432, 5, 32, 786432, 5, 65568, 786432, 5, 131104, 786432, 5, 196640, 786432, 5, 262176, 786432, 5, 327712, 786432, 5, 393248, 786432, 5, 458784, 786432, 5, 33, 786432, 5, 65569, 786432, 5, 131105, 655360, 6, 196641, 786432, 5, 262177, 786432, 5, 327713, 786432, 5, 393249, 786432, 5, 458785, 786432, 5, 34, 786432, 5, 65570, 786432, 5, 131106, 786432, 5, 196642, 786432, 5, 262178, 655360, 6, 327714, 655360, 6, 393250, 786432, 5, 458786, 786432, 5, 35, 786432, 5, 65571, 786432, 5, 131107, 786432, 5, 196643, 786432, 5, 262179, 786432, 5, 327715, 786432, 5, 393251, 786432, 5, 458787, 786432, 5, 36, 655360, 6, 65572, 786432, 5, 131108, 786432, 5, 196644, 786432, 5, 262180, 786432, 5, 327716, 786432, 5, 393252, 786432, 5, 458788, 655360, 6, 37, 786432, 5, 65573, 786432, 5, 131109, 786432, 5, 196645, 786432, 5, 262181, 655360, 6, 327717, 786432, 5, 393253, 786432, 5, 458789, 786432, 5, 524281, 720896, 5, 524285, 786432, 5, 524284, 786432, 5, 524283, 786432, 5, 524282, 786432, 5, 589818, 786432, 5, 589819, 786432, 5, 589820, 786432, 5, 655356, 786432, 5, 655357, 786432, 5, 589821, 786432, 5, 655355, 786432, 5, 655354, 786432, 5, 720890, 786432, 5, 720891, 786432, 5, 720892, 786432, 5, 720893, 786432, 5, 720894, 851968, 5, 786429, 786432, 5, 786428, 786432, 5, 786427, 786432, 5, 786426, 786432, 5, 851962, 786432, 5, 917498, 786432, 5, 917499, 786432, 5, 851964, 786432, 5, 851965, 786432, 5, 917501, 786432, 5, 917500, 786432, 5, 851963, 786432, 5, 589817, 720896, 5, 655353, 720896, 5, 720889, 720896, 5, 786425, 720896, 5, 851961, 720896, 5, 917497, 720896, 5, 524286, 851968, 5, 589822, 851968, 5, 655358, 851968, 5, 786430, 851968, 5, 851966, 851968, 5, 917502, 851968, 5, 589824, 720896, 1, 655360, 720896, 1, 720896, 720896, 1, 786432, 720896, 1, 851968, 720896, 1, 589825, 720896, 1, 655361, 720896, 1, 720897, 720896, 1, 786433, 720896, 1, 851969, 720896, 1, 589826, 720896, 1, 655362, 720896, 1, 720898, 720896, 1, 786434, 720896, 1, 851970, 720896, 1, 589827, 720896, 1, 655363, 720896, 1, 720899, 720896, 1, 786435, 720896, 1, 851971, 720896, 1, 589828, 720896, 1, 655364, 720896, 1, 720900, 720896, 1, 786436, 720896, 1, 851972, 720896, 1, 589829, 720896, 1, 655365, 720896, 1, 720901, 720896, 1, 786437, 720896, 1, 851973, 720896, 1, 589830, 720896, 1, 655366, 720896, 1, 720902, 720896, 1, 786438, 720896, 1, 851974, 720896, 1, 589831, 720896, 1, 655367, 720896, 1, 720903, 720896, 1, 786439, 720896, 1, 851975, 720896, 1, 589832, 720896, 1, 655368, 720896, 1, 720904, 720896, 1, 786440, 720896, 1, 851976, 720896, 1, 589833, 786432, 1, 655369, 786432, 1, 720905, 786432, 1, 786441, 786432, 1, 851977, 786432, 1, 655359, 655360, 1, 720895, 655360, 1, 786431, 655360, 1, 851967, 655360, 1, 917503, 655360, 1, 589834, 720896, 1, 655370, 720896, 1, 720906, 720896, 1, 786442, 720896, 1, 851978, 720896, 1, 589835, 720896, 1, 655371, 720896, 1, 720907, 720896, 1, 786443, 720896, 1, 851979, 720896, 1, 589836, 720896, 1, 655372, 720896, 1, 720908, 720896, 1, 786444, 720896, 1, 851980, 720896, 1, 589837, 720896, 1, 655373, 720896, 1, 720909, 720896, 1, 786445, 720896, 1, 851981, 720896, 1, 589838, 720896, 1, 655374, 720896, 1, 720910, 720896, 1, 786446, 720896, 1, 851982, 720896, 1, 589839, 720896, 1, 655375, 720896, 1, 720911, 720896, 1, 786447, 720896, 1, 851983, 720896, 1, 589840, 720896, 1, 655376, 720896, 1, 720912, 720896, 1, 786448, 720896, 1, 851984, 720896, 1, 851985, 720896, 6, 851986, 786432, 6, 851987, 786432, 6, 851988, 786432, 6, 851989, 786432, 6, 851990, 786432, 6, 851991, 786432, 6, 851992, 786432, 6, 851993, 786432, 6, 851994, 786432, 6, 851995, 786432, 6, 851996, 786432, 6, 851997, 851968, 6, 524306, 786432, 5, 589842, 786432, 5, 655378, 786432, 5, 720914, 786432, 5, 786450, 786432, 5, 524307, 786432, 5, 589843, 786432, 5, 655379, 786432, 5, 720915, 786432, 5, 786451, 786432, 5, 524308, 786432, 5, 589844, 786432, 5, 655380, 786432, 5, 720916, 786432, 5, 786452, 786432, 5, 524309, 786432, 5, 589845, 786432, 5, 655381, 786432, 5, 720917, 786432, 5, 786453, 786432, 5, 524310, 786432, 5, 589846, 786432, 5, 655382, 786432, 5, 720918, 786432, 5, 786454, 786432, 5, 524311, 786432, 5, 589847, 786432, 5, 655383, 786432, 5, 720919, 786432, 5, 786455, 786432, 5, 524312, 786432, 5, 589848, 786432, 5, 655384, 786432, 5, 720920, 786432, 5, 786456, 786432, 5, 524313, 786432, 5, 589849, 786432, 5, 655385, 786432, 5, 720921, 786432, 5, 786457, 786432, 5, 524314, 786432, 5, 589850, 786432, 5, 655386, 786432, 5, 720922, 786432, 5, 786458, 786432, 5, 524315, 786432, 5, 589851, 786432, 5, 655387, 786432, 5, 720923, 786432, 5, 786459, 786432, 5, 524316, 786432, 5, 589852, 786432, 5, 655388, 786432, 5, 720924, 786432, 5, 786460, 786432, 5, 524305, 720896, 5, 589841, 720896, 5, 655377, 720896, 5, 720913, 720896, 5, 786449, 720896, 5, 524317, 851968, 5, 589853, 851968, 5, 655389, 851968, 5, 720925, 851968, 5, 786461, 851968, 5, -262106, 786432, 5, -196570, 786432, 5, -131034, 786432, 5, -65498, 786432, 5, 38, 786432, 5, 65574, 786432, 5, 131110, 655360, 6, 196646, 786432, 5, 262182, 786432, 5, 327718, 786432, 5, 393254, 786432, 5, 458790, 786432, 5, -262105, 786432, 5, -196569, 786432, 5, -131033, 786432, 5, -65497, 786432, 5, 39, 786432, 5, 65575, 786432, 5, 131111, 786432, 5, 196647, 786432, 5, 262183, 786432, 5, 327719, 786432, 5, 393255, 655360, 6, 458791, 786432, 5, -262104, 786432, 5, -196568, 786432, 5, -131032, 786432, 5, -65496, 786432, 5, 40, 655360, 6, 65576, 786432, 5, 131112, 786432, 5, 196648, 786432, 5, 262184, 655360, 6, 327720, 786432, 5, 393256, 786432, 5, 458792, 786432, 5, -262103, 786432, 5, -196567, 655360, 6, -131031, 786432, 5, -65495, 786432, 5, 41, 786432, 5, 65577, 786432, 5, 131113, 786432, 5, 196649, 786432, 5, 262185, 786432, 5, 327721, 786432, 5, 393257, 786432, 5, 458793, 786432, 5, -262102, 786432, 5, -196566, 786432, 5, -131030, 786432, 5, -65494, 786432, 5, 42, 786432, 5, 65578, 786432, 5, 131114, 655360, 6, 196650, 786432, 5, 262186, 786432, 5, 327722, 786432, 5, 393258, 786432, 5, 458794, 655360, 6, 524326, 786432, 6, 524327, 786432, 6, 524328, 786432, 6, 524329, 786432, 6, 524330, 786432, 6, -327642, 786432, 4, -327641, 786432, 4, -327640, 786432, 4, -327639, 786432, 4, -327638, 786432, 4, -327632, 851968, 4, -262096, 851968, 5, -196560, 851968, 5, -131024, 851968, 5, -65488, 851968, 5, 48, 851968, 5, 65584, 851968, 5, 131120, 851968, 5, 196656, 851968, 5, 262192, 851968, 5, 327728, 851968, 5, 393264, 851968, 5, 458800, 851968, 5, 524336, 851968, 6, -327637, 786432, 4, -327636, 786432, 4, -327635, 786432, 4, -327634, 786432, 4, -327633, 786432, 4, -262101, 786432, 5, -196565, 786432, 5, -131029, 655360, 6, -65493, 786432, 5, 43, 786432, 5, 65579, 786432, 5, 131115, 786432, 5, 196651, 786432, 5, 262187, 786432, 5, 327723, 655360, 6, 393259, 786432, 5, 458795, 786432, 5, -262100, 786432, 5, -196564, 786432, 5, -131028, 786432, 5, -65492, 786432, 5, 44, 655360, 6, 65580, 786432, 5, 131116, 786432, 5, 196652, 786432, 5, 262188, 786432, 5, 327724, 786432, 5, 393260, 786432, 5, 458796, 786432, 5, -262099, 786432, 5, -196563, 786432, 5, -131027, 786432, 5, -65491, 786432, 5, 45, 786432, 5, 65581, 655360, 6, 131117, 786432, 5, 196653, 786432, 5, 262189, 786432, 5, 327725, 786432, 5, 393261, 786432, 5, 458797, 786432, 5, -262098, 655360, 6, -196562, 786432, 5, -131026, 786432, 5, -65490, 786432, 5, 46, 786432, 5, 65582, 786432, 5, 131118, 786432, 5, 196654, 655360, 6, 262190, 786432, 5, 327726, 786432, 5, 393262, 786432, 5, 458798, 655360, 6, -262097, 786432, 5, -196561, 786432, 5, -131025, 786432, 5, -65489, 786432, 5, 47, 786432, 5, 65583, 786432, 5, 131119, 786432, 5, 196655, 786432, 5, 262191, 786432, 5, 327727, 786432, 5, 393263, 786432, 5, 458799, 786432, 5, 524331, 786432, 6, 524332, 786432, 6, 524333, 786432, 6, 524334, 786432, 6, 524335, 786432, 6) + +[node name="UI" type="CanvasLayer" parent="."] + +[node name="UIInventory" parent="UI" instance=ExtResource("2_as4e6")] +unique_name_in_owner = true +visible = false + +[node name="UISign" parent="UI" instance=ExtResource("3_6yi7w")] +unique_name_in_owner = true +visible = false + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(227, -28) +position_smoothing_speed = 10.0 + +[node name="PhantomCameraHost" type="Node" parent="Camera2D"] +script = ExtResource("4_bb7en") + +[node name="Player" type="Node" parent="."] + +[node name="PlayerPhantomCamera2D" type="Node2D" parent="Player" node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +position = Vector2(227, -28) +script = ExtResource("5_kikl5") +priority = 5 +follow_mode = 2 +follow_target = NodePath("../CharacterBody2D/PlayerVisuals") +tween_resource = ExtResource("6_gu0o0") +tween_on_load = false +follow_damping = true +draw_limits = true + +[node name="Label" type="Label" parent="Player"] +offset_left = 167.0 +offset_top = -132.0 +offset_right = 332.0 +offset_bottom = -68.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("11_myq47") +text = "[WASD] to move +[Space] to jump" + +[node name="CharacterBody2D" parent="Player" instance=ExtResource("8_g1syc")] +position = Vector2(227, -28) + +[node name="WideArea" type="Area2D" parent="." node_paths=PackedStringArray("area_pcam")] +position = Vector2(393, -40) +collision_layer = 2 +collision_mask = 2 +script = ExtResource("9_184pu") +area_pcam = NodePath("PhantomCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="WideArea"] +position = Vector2(0, -40) +shape = SubResource("RectangleShape2D_tgk1y") + +[node name="ColorRect" type="ColorRect" parent="WideArea"] +offset_left = -70.0 +offset_top = -120.0 +offset_right = 70.0 +offset_bottom = 40.0 +size_flags_horizontal = 0 +size_flags_vertical = 0 +color = Color(0.556863, 0.447059, 0.545098, 0.698039) + +[node name="Label" type="Label" parent="WideArea"] +offset_left = -77.0 +offset_top = -250.0 +offset_right = 76.0 +offset_bottom = -120.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("11_myq47") +text = "Transition Type: +Sine + +Duration: +0.6s" +horizontal_alignment = 1 + +[node name="PhantomCamera2D" type="Node2D" parent="WideArea"] +position = Vector2(4, -100) +script = ExtResource("5_kikl5") +zoom = Vector2(0.8, 0.8) +tween_resource = SubResource("Resource_mtp70") +draw_limits = true + +[node name="UpperZoomArea" type="Area2D" parent="." node_paths=PackedStringArray("area_pcam")] +position = Vector2(649, -135) +collision_layer = 2 +collision_mask = 2 +script = ExtResource("9_184pu") +area_pcam = NodePath("PhantomCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="UpperZoomArea"] +position = Vector2(0, -40) +shape = SubResource("RectangleShape2D_clm0y") + +[node name="CollisionShape2D2" type="CollisionShape2D" parent="UpperZoomArea"] +position = Vector2(0, -40) +shape = SubResource("RectangleShape2D_clm0y") + +[node name="ColorRect" type="ColorRect" parent="UpperZoomArea"] +offset_left = -52.0 +offset_top = -120.0 +offset_right = 52.0 +offset_bottom = 40.0 +size_flags_horizontal = 0 +size_flags_vertical = 0 +color = Color(0.556863, 0.447059, 0.545098, 0.698039) + +[node name="Label" type="Label" parent="UpperZoomArea"] +offset_left = -74.0 +offset_top = -251.0 +offset_right = 79.0 +offset_bottom = -121.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("11_myq47") +text = "Transition Type: +Circ + +Duration: +0.3s" +horizontal_alignment = 1 + +[node name="PhantomCamera2D" type="Node2D" parent="UpperZoomArea"] +position = Vector2(2, -83) +script = ExtResource("5_kikl5") +zoom = Vector2(2, 2) +tween_resource = SubResource("Resource_8jg5c") +draw_limits = true + +[node name="ForwardArea" type="Area2D" parent="." node_paths=PackedStringArray("area_pcam")] +position = Vector2(1136, -38) +collision_layer = 2 +collision_mask = 2 +script = ExtResource("9_184pu") +area_pcam = NodePath("PhantomCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="ForwardArea"] +position = Vector2(0, -42) +shape = SubResource("RectangleShape2D_uka0w") + +[node name="ColorRect" type="ColorRect" parent="ForwardArea"] +offset_left = -280.0 +offset_top = -122.0 +offset_right = 280.0 +offset_bottom = 38.0 +size_flags_horizontal = 0 +size_flags_vertical = 0 +color = Color(0.556863, 0.447059, 0.545098, 0.698039) + +[node name="Label" type="Label" parent="ForwardArea"] +offset_left = -76.0 +offset_top = -252.0 +offset_right = 77.0 +offset_bottom = -122.0 +theme_override_colors/font_color = Color(0.294118, 1, 0.631373, 1) +theme_override_fonts/font = ExtResource("11_myq47") +text = "Transition Type: +Back + +Duration: +1.2s" +horizontal_alignment = 1 + +[node name="PhantomCamera2D" type="Node2D" parent="ForwardArea"] +position = Vector2(344, -46) +script = ExtResource("5_kikl5") +zoom = Vector2(0.9, 0.9) +tween_resource = SubResource("Resource_e4e41") +draw_limits = true + +[editable path="Player/CharacterBody2D"] diff --git a/addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn b/addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn new file mode 100644 index 0000000..7d2ec5c --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/2D/sub_scenes/playable_character_2d.tscn @@ -0,0 +1,120 @@ +[gd_scene load_steps=10 format=3 uid="uid://7kh0xydx0b1o"] + +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/2D/player_character_body_2d.gd" id="1_jnc14"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="2_62b2n"] +[ext_resource type="Texture2D" uid="uid://ci76plsequlrq" path="res://addons/phantom_camera/examples/textures/2D/player_sprite.svg" id="2_yr8cm"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="4_rloon"] +[ext_resource type="Resource" uid="uid://cecrnq0wnkexh" path="res://addons/phantom_camera/examples/resources/tween/item_focus_phantom_camera_2d_tween.tres" id="5_4iyk1"] +[ext_resource type="Resource" uid="uid://cllveybboaqk5" path="res://addons/phantom_camera/examples/resources/tween/inventory_phantom_camera_2d_tween.tres" id="6_2h6fv"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5hryl"] +bg_color = Color(0.85098, 0.894118, 0.937255, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color(0.113725, 0.113725, 0.113725, 1) +corner_radius_top_left = 7 +corner_radius_top_right = 7 +corner_radius_bottom_right = 7 +corner_radius_bottom_left = 7 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_xj4ar"] +size = Vector2(64, 57) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_18i13"] +size = Vector2(64, 57) + +[node name="CharacterBody2D" type="CharacterBody2D"] +script = ExtResource("1_jnc14") + +[node name="DarkOverlay" type="ColorRect" parent="."] +unique_name_in_owner = true +visible = false +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -1000.0 +offset_top = -1000.0 +offset_right = 1000.0 +offset_bottom = 1000.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0, 0, 0, 0.615686) + +[node name="PlayerVisuals" type="Node2D" parent="."] +unique_name_in_owner = true + +[node name="PlayerSprite" type="Sprite2D" parent="PlayerVisuals"] +unique_name_in_owner = true +scale = Vector2(0.5, 0.5) +texture = ExtResource("2_yr8cm") + +[node name="InteractionPrompt" type="Panel" parent="PlayerVisuals"] +unique_name_in_owner = true +visible = false +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -16.0 +offset_top = -66.0 +offset_right = 16.0 +offset_bottom = -34.0 +grow_horizontal = 2 +grow_vertical = 0 +size_flags_vertical = 0 +theme_override_styles/panel = SubResource("StyleBoxFlat_5hryl") + +[node name="Label" type="Label" parent="PlayerVisuals/InteractionPrompt"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -3.0 +offset_bottom = 5.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("2_62b2n") +theme_override_font_sizes/font_size = 26 +text = "F" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -0.5) +shape = SubResource("RectangleShape2D_xj4ar") + +[node name="PlayerArea2D" type="Area2D" parent="."] +unique_name_in_owner = true +collision_layer = 2 +collision_mask = 2 +priority = 20 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerArea2D"] +position = Vector2(0, -0.5) +shape = SubResource("RectangleShape2D_18i13") + +[node name="ItemFocusPhantomCamera2D" type="Node2D" parent="."] +unique_name_in_owner = true +position = Vector2(0, -122) +script = ExtResource("4_rloon") +zoom = Vector2(2, 2) +frame_preview = false +tween_resource = ExtResource("5_4iyk1") +follow_damping_value = Vector2(0, 0) +draw_limits = true + +[node name="InventoryPhantomCamera2D" type="Node2D" parent="."] +unique_name_in_owner = true +position = Vector2(-183, -5) +script = ExtResource("4_rloon") +zoom = Vector2(2.5, 2.5) +frame_preview = false +tween_resource = ExtResource("6_2h6fv") +follow_damping_value = Vector2(0, 0) +draw_limits = true diff --git a/addons/phantom_camera/examples/example_scenes/3D/3d_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/3D/3d_example_scene.tscn new file mode 100644 index 0000000..553ddeb --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/3d_example_scene.tscn @@ -0,0 +1,379 @@ +[gd_scene load_steps=40 format=3 uid="uid://ci12ytew5vwty"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_wn7ww"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/3D/npc.gd" id="2_2n1da"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="2_e7gxt"] +[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="2_tvx5n"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_y3dy8"] +[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="3_f5qrw"] +[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="4_a27nb"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_m2vbn"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd" id="4_moad5"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="7_jitt8"] + +[sub_resource type="Resource" id="Resource_jtk1d"] +script = ExtResource("4_m2vbn") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="Resource" id="Resource_o161n"] +script = ExtResource("4_m2vbn") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="BoxMesh" id="BoxMesh_7tjw4"] +size = Vector3(2, 0.5, 4) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hpllm"] +transparency = 1 +albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961) + +[sub_resource type="BoxShape3D" id="BoxShape3D_65o6h"] +size = Vector3(2, 0.5, 4) + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_tpc7d"] + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_g0eml"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_v5iy7"] +albedo_color = Color(0.988235, 0.478431, 0.905882, 1) + +[sub_resource type="Resource" id="Resource_tpvee"] +script = ExtResource("7_jitt8") +duration = 0.0 +transition = 0 +ease = 2 + +[sub_resource type="Resource" id="Resource_bxbnv"] +script = ExtResource("4_m2vbn") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="BoxShape3D" id="BoxShape3D_wcrbb"] +size = Vector3(6.8, 0.1, 5.4) + +[sub_resource type="Resource" id="Resource_7ih0k"] +script = ExtResource("7_jitt8") +duration = 0.0 +transition = 0 +ease = 2 + +[sub_resource type="Resource" id="Resource_4iyps"] +script = ExtResource("4_m2vbn") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="BoxShape3D" id="BoxShape3D_ctyr8"] +size = Vector3(7.4, 0.1, 3.6) + +[sub_resource type="Resource" id="Resource_x5y0u"] +script = ExtResource("7_jitt8") +duration = 0.0 +transition = 0 +ease = 2 + +[sub_resource type="Resource" id="Resource_pgiyx"] +script = ExtResource("4_m2vbn") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="BoxShape3D" id="BoxShape3D_ua072"] +size = Vector3(6.8, 0.1, 3.6) + +[sub_resource type="BoxMesh" id="BoxMesh_ugc3s"] +size = Vector3(1, 1, 2) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_68thd"] +albedo_color = Color(0.34902, 0.862745, 0.854902, 1) + +[sub_resource type="BoxMesh" id="BoxMesh_wphly"] +size = Vector3(1, 0.5, 1) + +[sub_resource type="BoxMesh" id="BoxMesh_gyp5s"] +size = Vector3(20, 40, 30) + +[sub_resource type="BoxShape3D" id="BoxShape3D_lfaqs"] +size = Vector3(20, 40, 30) + +[sub_resource type="BoxMesh" id="BoxMesh_n70lt"] +size = Vector3(14, 40, 6) + +[sub_resource type="BoxShape3D" id="BoxShape3D_jxmqm"] +size = Vector3(14, 40, 6) + +[sub_resource type="BoxMesh" id="BoxMesh_x0tgm"] +size = Vector3(8, 40, 1) + +[sub_resource type="BoxShape3D" id="BoxShape3D_t67ef"] +size = Vector3(50, 40, 1) + +[sub_resource type="BoxMesh" id="BoxMesh_rmslh"] +size = Vector3(0.5, 6, 13.5) + +[sub_resource type="BoxMesh" id="BoxMesh_242ij"] +size = Vector3(2, 3, 3) + +[sub_resource type="BoxMesh" id="BoxMesh_niuda"] +size = Vector3(8, 6, 0.5) + +[node name="Root" type="Node3D"] + +[node name="MainCamera3D" type="Camera3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(0.999858, 0, 0, 0, 0.94884, 0.315632, 0, -0.315637, 0.948825, -2.53871, 2, 9.76232) + +[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] +script = ExtResource("1_wn7ww") + +[node name="PlayerGroup" type="Node" parent="."] + +[node name="PlayerCharacterBody3D" parent="PlayerGroup" instance=ExtResource("2_tvx5n")] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.53871, 0.5, 7.26232) + +[node name="MovementInstructionsLabel" type="Label3D" parent="PlayerGroup"] +transform = Transform3D(1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, -2.47682, -0.0708016, 7.93048) +modulate = Color(0.294118, 1, 0.631373, 1) +text = "[WASD] to move" +font = ExtResource("2_e7gxt") +font_size = 48 + +[node name="PlayerPhantomCamera3D" type="Node3D" parent="PlayerGroup" node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +transform = Transform3D(0.999858, 0, 0, 0, 0.94884, 0.315632, 0, -0.315637, 0.948825, -2.53871, 2, 9.76232) +script = ExtResource("2_y3dy8") +priority = 10 +follow_mode = 2 +follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") +tween_resource = ExtResource("4_a27nb") +tween_on_load = false +camera_3d_resource = SubResource("Resource_jtk1d") +follow_offset = Vector3(0, 1.5, 2.5) +follow_damping = true + +[node name="NPCGroup" type="Node" parent="."] + +[node name="NPCPhantomCamera3D" type="Node3D" parent="NPCGroup"] +unique_name_in_owner = true +transform = Transform3D(0.616596, -0.109786, 0.779587, -2.23517e-08, 0.990229, 0.13945, -0.78728, -0.0859841, 0.610571, -2.98802, 1.50739, 1.19719) +script = ExtResource("2_y3dy8") +tween_resource = ExtResource("4_a27nb") +camera_3d_resource = SubResource("Resource_o161n") + +[node name="NPCDescriptionLabel" type="Label3D" parent="NPCGroup"] +transform = Transform3D(1, 0, 0, 0, 0.866026, 0.5, 0, -0.5, 0.866025, -3.04693, 0.367287, 0.953757) +text = "Input Example" +font = ExtResource("2_e7gxt") + +[node name="NPCDialogueExampleLabel" type="Label3D" parent="NPCGroup"] +unique_name_in_owner = true +transform = Transform3D(1, 4.54671e-10, 1.65487e-10, 4.25644e-10, 0.939693, 0.34202, 0, -0.34202, 0.939693, -4.46738, 1.58641, -0.253679) +modulate = Color(1, 0.603922, 0.254902, 1) +text = "Press [ F ] to change camera" +font = ExtResource("2_e7gxt") + +[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="NPCGroup"] +transform = Transform3D(0.819152, 4.83851e-10, -0.573576, -3.92481e-09, 1, -6.3473e-09, 0.573576, 7.45058e-09, 0.819152, -3.46138, -0.4, 0.875321) +mesh = SubResource("BoxMesh_7tjw4") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_hpllm") +metadata/_edit_group_ = true + +[node name="NPCInteractionArea3D" type="Area3D" parent="NPCGroup/NPCInteractionZoneMesh"] +unique_name_in_owner = true +transform = Transform3D(1, -2.68591e-26, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +monitorable = false + +[node name="NPCInterationCollisionShape3D" type="CollisionShape3D" parent="NPCGroup/NPCInteractionZoneMesh/NPCInteractionArea3D"] +shape = SubResource("BoxShape3D_65o6h") + +[node name="NPC" type="StaticBody3D" parent="NPCGroup"] +transform = Transform3D(1, 4.83851e-10, 0, 4.25644e-10, 1, -7.45058e-09, 0, 7.45058e-09, 1, -4.56338, 0.5, -0.272679) +script = ExtResource("2_2n1da") + +[node name="PlayerCollisionShape3D2" type="CollisionShape3D" parent="NPCGroup/NPC"] +transform = Transform3D(1, -2.68591e-26, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +shape = SubResource("CapsuleShape3D_tpc7d") + +[node name="NPCMesh" type="MeshInstance3D" parent="NPCGroup/NPC"] +transform = Transform3D(1, -2.68591e-26, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +mesh = SubResource("CapsuleMesh_g0eml") +skeleton = NodePath("../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_v5iy7") + +[node name="MoveToLocation" type="Node3D" parent="NPCGroup"] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.70084, 0.5, 0.962891) + +[node name="FixedCameraTriggerZone" type="Node" parent="."] + +[node name="FixedCameraLabel" type="Label3D" parent="FixedCameraTriggerZone"] +unique_name_in_owner = true +transform = Transform3D(0.939693, 0.280167, -0.196175, 1.49012e-08, 0.573577, 0.819152, 0.34202, -0.769751, 0.538986, -0.538716, -0.247626, 3.13456) +text = "Fixed Camera +Example" +font = ExtResource("2_e7gxt") + +[node name="NorthRoomPhantomCamera3D" type="Node3D" parent="FixedCameraTriggerZone"] +transform = Transform3D(0.38357, -0.555836, 0.737507, -0.105898, 0.766851, 0.633027, -0.917417, -0.320912, 0.235279, 6.89638, 4.73986, 0.115512) +script = ExtResource("2_y3dy8") +tween_resource = SubResource("Resource_tpvee") +camera_3d_resource = SubResource("Resource_bxbnv") + +[node name="NorthRoomTrigger" type="Area3D" parent="FixedCameraTriggerZone" node_paths=PackedStringArray("area_pcam")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -0.45, -0.9) +priority = 5 +script = ExtResource("4_moad5") +area_pcam = NodePath("../NorthRoomPhantomCamera3D") +metadata/_edit_group_ = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="FixedCameraTriggerZone/NorthRoomTrigger"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0, -0.4) +shape = SubResource("BoxShape3D_wcrbb") + +[node name="EntryRoomPhantomCamera3D" type="Node3D" parent="FixedCameraTriggerZone"] +transform = Transform3D(0.258818, -0.482963, 0.836515, 1.3027e-15, 0.866025, 0.499999, -0.965924, -0.129409, 0.224143, 6.69741, 4.73364, 4.02374) +script = ExtResource("2_y3dy8") +tween_resource = SubResource("Resource_7ih0k") +camera_3d_resource = SubResource("Resource_4iyps") + +[node name="EntryRoomTrigger" type="Area3D" parent="FixedCameraTriggerZone" node_paths=PackedStringArray("area_pcam")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.00003, -0.454982, 3.00572) +priority = 5 +script = ExtResource("4_moad5") +area_pcam = NodePath("../EntryRoomPhantomCamera3D") +metadata/_edit_group_ = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="FixedCameraTriggerZone/EntryRoomTrigger"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 0, 0.2) +shape = SubResource("BoxShape3D_ctyr8") + +[node name="SouthRoomPhantomCamera3D" type="Node3D" parent="FixedCameraTriggerZone"] +transform = Transform3D(-0.766043, -0.492403, 0.413175, 0, 0.642787, 0.766043, -0.642786, 0.586825, -0.492403, 6.89741, 4.73364, 5.62374) +script = ExtResource("2_y3dy8") +tween_resource = SubResource("Resource_x5y0u") +camera_3d_resource = SubResource("Resource_pgiyx") + +[node name="SouthRoomTrigger" type="Area3D" parent="FixedCameraTriggerZone" node_paths=PackedStringArray("area_pcam")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -0.45, 6.7) +priority = 5 +script = ExtResource("4_moad5") +area_pcam = NodePath("../SouthRoomPhantomCamera3D") +metadata/_edit_group_ = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="FixedCameraTriggerZone/SouthRoomTrigger"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0, 0.1) +shape = SubResource("BoxShape3D_ua072") + +[node name="CSGMesh3D" type="CSGMesh3D" parent="FixedCameraTriggerZone"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.14238, 1.82571, 2.88655) +mesh = SubResource("BoxMesh_ugc3s") +material = SubResource("StandardMaterial3D_68thd") + +[node name="CSGMesh3D2" type="CSGMesh3D" parent="FixedCameraTriggerZone/CSGMesh3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00192642, -0.0120339, 0.00494432) +operation = 2 +mesh = SubResource("BoxMesh_wphly") +material = SubResource("StandardMaterial3D_68thd") + +[node name="Environment" type="Node" parent="."] + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) +metadata/_edit_lock_ = true + +[node name="Environment" type="Node3D" parent="Environment"] + +[node name="Floor" parent="Environment/Environment" instance=ExtResource("3_f5qrw")] +transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0) +metadata/_edit_lock_ = true + +[node name="West Wall" type="StaticBody3D" parent="Environment/Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16, 0.5, 0) +metadata/_edit_group_ = true +metadata/_edit_lock_ = true + +[node name="MeshInstance3D2" type="MeshInstance3D" parent="Environment/Environment/West Wall"] +mesh = SubResource("BoxMesh_gyp5s") +skeleton = NodePath("") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Environment/West Wall"] +shape = SubResource("BoxShape3D_lfaqs") + +[node name="East Wall" type="StaticBody3D" parent="Environment/Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.999, 0.502, 0) +metadata/_edit_group_ = true +metadata/_edit_lock_ = true + +[node name="MeshInstance3D2" type="MeshInstance3D" parent="Environment/Environment/East Wall"] +mesh = SubResource("BoxMesh_gyp5s") +skeleton = NodePath("") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Environment/East Wall"] +shape = SubResource("BoxShape3D_lfaqs") + +[node name="North Wall" type="StaticBody3D" parent="Environment/Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -6.90828) +metadata/_edit_group_ = true +metadata/_edit_lock_ = true + +[node name="MeshInstance3D2" type="MeshInstance3D" parent="Environment/Environment/North Wall"] +mesh = SubResource("BoxMesh_n70lt") +skeleton = NodePath("") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Environment/North Wall"] +shape = SubResource("BoxShape3D_jxmqm") + +[node name="South Wall" type="StaticBody3D" parent="Environment/Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.25, 0.5, 9.087) +metadata/_edit_group_ = true + +[node name="MeshInstance3D3" type="MeshInstance3D" parent="Environment/Environment/South Wall"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 0) +mesh = SubResource("BoxMesh_x0tgm") +skeleton = NodePath("") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Environment/South Wall"] +shape = SubResource("BoxShape3D_t67ef") + +[node name="FixedCamOuterWall" type="CSGMesh3D" parent="Environment/Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5, 2) +use_collision = true +mesh = SubResource("BoxMesh_rmslh") + +[node name="FixedCamOuterDoorway" type="CSGMesh3D" parent="Environment/Environment/FixedCamOuterWall"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.5, 1) +operation = 2 +mesh = SubResource("BoxMesh_242ij") + +[node name="FixedCamNorthWall" type="CSGMesh3D" parent="Environment/Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 2.5, 1) +use_collision = true +mesh = SubResource("BoxMesh_niuda") + +[node name="FixedCamNorthDoorway" type="CSGMesh3D" parent="Environment/Environment/FixedCamNorthWall"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.5, 0) +operation = 2 +mesh = SubResource("BoxMesh_242ij") + +[node name="FixedCamSouthWall" type="CSGMesh3D" parent="Environment/Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 2.5, 5.1) +use_collision = true +mesh = SubResource("BoxMesh_niuda") + +[node name="FixedCamSouthDoorway" type="CSGMesh3D" parent="Environment/Environment/FixedCamSouthWall"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.50541, 1.19209e-07) +operation = 2 +mesh = SubResource("BoxMesh_242ij") + +[editable path="PlayerGroup/PlayerCharacterBody3D"] diff --git a/addons/phantom_camera/examples/example_scenes/3D/3d_follow_framed_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_framed_example_scene.tscn new file mode 100644 index 0000000..b17abcf --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_framed_example_scene.tscn @@ -0,0 +1,147 @@ +[gd_scene load_steps=10 format=3 uid="uid://c4llb3gsbfv1a"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_7824u"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_g1bv4"] +[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="3_420vh"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_oqbub"] +[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_t4fso"] +[ext_resource type="Texture2D" uid="uid://c7ja4woxol8yc" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="5_c0upu"] +[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_f2w3x"] + +[sub_resource type="Resource" id="Resource_wg1pr"] +script = ExtResource("4_oqbub") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"] +albedo_texture = ExtResource("5_c0upu") +uv1_triplanar = true +uv1_world_triplanar = true + +[node name="Root" type="Node3D"] + +[node name="MainCamera3D" type="Camera3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(0.99995, 0, 0, 0, 0.79324, 0.608671, 0, -0.608675, 0.793235, 0.083587, 2.94168, 5.22787) + +[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] +script = ExtResource("1_7824u") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) +metadata/_edit_lock_ = true + +[node name="Player" type="Node" parent="."] + +[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +transform = Transform3D(0.99995, 0, 0, 0, 0.79324, 0.608671, 0, -0.608675, 0.793235, 0.083587, 2.94168, 5.22787) +script = ExtResource("2_g1bv4") +follow_mode = 5 +follow_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual") +tween_resource = ExtResource("3_420vh") +tween_on_load = false +camera_3d_resource = SubResource("Resource_wg1pr") +follow_damping = true +follow_distance = 4.0 +dead_zone_width = 0.384 +dead_zone_height = 0.669 +show_viewfinder_in_play = true +spring_length = 4.0 + +[node name="PlayerCharacterBody3D2" parent="Player" instance=ExtResource("5_f2w3x")] + +[node name="Environment" type="Node" parent="."] + +[node name="Floor" parent="Environment" instance=ExtResource("4_t4fso")] +transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0) +metadata/_edit_lock_ = true + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.636134, 0.805455, -6.37532) +use_collision = true +radius = 1.71971 +height = 2.61091 +sides = 32 + +[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.54597, -0.540694, -3.39517) +use_collision = true +radius = 1.53269 +height = 2.5036 +sides = 32 + +[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.64877, -1.50101, 1.22863) +use_collision = true +radius = 1.57419 +height = 3.47475 +sides = 32 + +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.4732, 0.805455, -8.78984) +use_collision = true +radius = 0.956285 +height = 2.61091 +sides = 32 + +[node name="CSGSphere3D" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.40027, -1.69814, 3.36997) +use_collision = true +radius = 3.34732 +rings = 32 + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.13768, -0.599204, -1.04651) +use_collision = true +radius = 2.65844 +rings = 32 + +[node name="CSGSphere3D3" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.7976, -0.599204, -2.42244) +use_collision = true +radius = 2.14606 +rings = 32 + +[node name="CSGTorus3D2" type="CSGTorus3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.84078, -0.497663, 4.44352) +use_collision = true +inner_radius = 0.971543 +outer_radius = 2.15226 +sides = 32 +ring_sides = 18 + +[node name="CSGBox3D" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.52545, 6.53866, -12.6331) +use_collision = true +size = Vector3(178.429, 14.0773, 1) +material = SubResource("StandardMaterial3D_auy8m") + +[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.88916, 0.760708, -6.1376) +use_collision = true +size = Vector3(2.64182, 2.52142, 2.30997) + +[node name="CSGBox3D5" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.83837, -0.241718, 7.14677) +use_collision = true +size = Vector3(3.80964, 1.67049, 0.932048) + +[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.34377, 0.138478, -4.36159) +use_collision = true +size = Vector3(1.53893, 1.27695, 1.80814) + +[node name="CSGBox3D6" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.9834, 0.138478, -1.89037) +use_collision = true +size = Vector3(4.03502, 1.27695, 5.2198) + +[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.38147, 0.0440434, 8.36617) +use_collision = true +size = Vector3(4.57784, 1.08809, 3.11285) + +[editable path="Player/PlayerCharacterBody3D2"] diff --git a/addons/phantom_camera/examples/example_scenes/3D/3d_follow_glued_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_glued_example_scene.tscn new file mode 100644 index 0000000..0d7b543 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_glued_example_scene.tscn @@ -0,0 +1,199 @@ +[gd_scene load_steps=14 format=3 uid="uid://dw2yflu7up2rr"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_pmeux"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_q1ygp"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_hpix1"] +[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_8qqha"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_evdoo"] +[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_vqgn5"] +[ext_resource type="Texture2D" uid="uid://c7ja4woxol8yc" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="5_wr3bq"] + +[sub_resource type="Resource" id="Resource_ucp3e"] +script = ExtResource("3_hpix1") +duration = 1.0 +transition = 0 +ease = 2 + +[sub_resource type="Resource" id="Resource_ab013"] +script = ExtResource("4_evdoo") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_2h36r"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_w3olp"] +albedo_color = Color(0.227451, 0.337255, 0.576471, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cw102"] +albedo_color = Color(0.227451, 0.337255, 0.576471, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"] +albedo_texture = ExtResource("5_wr3bq") +uv1_triplanar = true +uv1_world_triplanar = true + +[node name="Node3D" type="Node3D"] + +[node name="MainCamera3D" type="Camera3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(0.999954, 0, 0, 0, 0.638683, 0.769345, 0, -0.769298, 0.638723, -5.60519e-45, 6.39, 7) + +[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] +script = ExtResource("1_pmeux") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) +metadata/_edit_lock_ = true + +[node name="Player" type="Node" parent="."] + +[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +transform = Transform3D(0.999954, 0, 0, 0, 0.638683, 0.769345, 0, -0.769298, 0.638723, -5.60519e-45, 6.39, 7) +script = ExtResource("2_q1ygp") +priority = 5 +follow_mode = 1 +follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") +tween_resource = SubResource("Resource_ucp3e") +tween_on_load = false +camera_3d_resource = SubResource("Resource_ab013") +follow_damping = true +follow_damping_value = Vector3(0.3, 0.3, 0.3) + +[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("5_vqgn5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.39, 7) +enable_gravity = false + +[node name="PlayerVisual" parent="Player/PlayerCharacterBody3D" index="2"] +visible = false + +[node name="NPCs" type="Node" parent="."] + +[node name="PlayerMeshInstance3D" type="MeshInstance3D" parent="NPCs"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.04486, 0.519002, -1.52506) +mesh = SubResource("CapsuleMesh_2h36r") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_w3olp") + +[node name="PlayerMeshInstance3D2" type="MeshInstance3D" parent="NPCs"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.51494, 0.519, 4.06618) +mesh = SubResource("CapsuleMesh_2h36r") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_cw102") + +[node name="Environment" type="Node" parent="."] + +[node name="Floor" parent="Environment" instance=ExtResource("4_8qqha")] +transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0) +metadata/_edit_lock_ = true + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.62737, 0.805455, -6.37532) +use_collision = true +radius = 1.71971 +height = 2.61091 +sides = 32 + +[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24.9378, 0.31181, -5.46661) +use_collision = true +radius = 2.77591 +height = 1.62362 +sides = 32 + +[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.58617, 0.31181, 6.6322) +use_collision = true +radius = 1.57419 +height = 3.47475 +sides = 32 + +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.774, 0.201103, 2.71259) +use_collision = true +radius = 1.41311 +height = 1.40221 +sides = 32 + +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.40488, 0.201101, 11.6804) +use_collision = true +radius = 2.21673 +height = 7.88261 +sides = 32 + +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.20971, 0.805455, -8.78984) +use_collision = true +radius = 0.956285 +height = 2.61091 +sides = 32 + +[node name="CSGSphere3D" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.9771, -1.69814, -6.51262) +use_collision = true +radius = 3.34732 +rings = 32 + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.555532, -0.599204, 8.81048) +use_collision = true +radius = 2.65844 +rings = 32 + +[node name="CSGSphere3D3" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.0611, -0.599204, -2.42244) +use_collision = true +radius = 2.14606 +rings = 32 + +[node name="CSGTorus3D" type="CSGTorus3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.21187, -1.90735e-06, 0.346393) +use_collision = true +inner_radius = 1.3 +outer_radius = 2.0 +sides = 32 +ring_sides = 18 + +[node name="CSGTorus3D2" type="CSGTorus3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.9283, -1.90735e-06, 7.89765) +use_collision = true +inner_radius = 0.971543 +outer_radius = 2.15226 +sides = 32 +ring_sides = 18 + +[node name="CSGBox3D" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.49828, 6.53866, -12.6331) +use_collision = true +size = Vector3(178.429, 14.0773, 1) +material = SubResource("StandardMaterial3D_auy8m") + +[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.15267, 0.760708, -6.1376) +use_collision = true +size = Vector3(2.64182, 2.52142, 2.30997) + +[node name="CSGBox3D5" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.3427, 0.335247, 8.22829) +use_collision = true +size = Vector3(3.80964, 1.67049, 0.932048) + +[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.08027, 0.138478, -4.36159) +use_collision = true +size = Vector3(1.53893, 1.27695, 1.80814) + +[node name="CSGBox3D6" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.7748, 0.138478, 5.20734) +use_collision = true +size = Vector3(4.03502, 1.27695, 5.2198) + +[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.1473, 1.78638, -1.60318) +use_collision = true +size = Vector3(4.57784, 4.57276, 3.11285) + +[editable path="Player/PlayerCharacterBody3D"] diff --git a/addons/phantom_camera/examples/example_scenes/3D/3d_follow_group_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_group_example_scene.tscn new file mode 100644 index 0000000..9ef95a5 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_group_example_scene.tscn @@ -0,0 +1,171 @@ +[gd_scene load_steps=13 format=3 uid="uid://dbfiy6svpcqap"] + +[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="1_r00ve"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_pi7mp"] +[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="2_wnlkq"] +[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="3_1eb12"] +[ext_resource type="Texture2D" uid="uid://c7ja4woxol8yc" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="3_a5igg"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="3_wr1tj"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_70gws"] + +[sub_resource type="Resource" id="Resource_1iman"] +script = ExtResource("5_70gws") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_2h36r"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_w3olp"] +albedo_color = Color(0.227451, 0.337255, 0.576471, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cw102"] +albedo_color = Color(0.227451, 0.337255, 0.576471, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"] +albedo_texture = ExtResource("3_a5igg") +uv1_triplanar = true +uv1_world_triplanar = true + +[node name="Node3D" type="Node3D"] + +[node name="MainCamera3D" type="Camera3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(0.999954, 0, 0, 0, 0.906188, 0.422588, 0, -0.422562, 0.906243, -7.26116, 5.72974, 12.279) + +[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] +script = ExtResource("3_wr1tj") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) +metadata/_edit_lock_ = true + +[node name="Player" type="Node" parent="."] + +[node name="PlayerCharacterBody3D2" parent="Player" instance=ExtResource("2_wnlkq")] + +[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_targets")] +unique_name_in_owner = true +transform = Transform3D(0.999954, 0, 0, 0, 0.906188, 0.422588, 0, -0.422562, 0.906243, -7.26116, 5.72974, 12.279) +script = ExtResource("2_pi7mp") +priority = 5 +follow_mode = 3 +follow_targets = [NodePath("../PlayerCharacterBody3D2"), NodePath("../../NPCs/PlayerMeshInstance3D"), NodePath("../../NPCs/PlayerMeshInstance3D2")] +tween_resource = ExtResource("3_1eb12") +tween_on_load = false +camera_3d_resource = SubResource("Resource_1iman") +follow_damping = true +follow_distance = 5.0 +auto_follow_distance = true +auto_follow_distance_min = 5.0 +auto_follow_distance_max = 15.0 +auto_follow_distance_divisor = 20.0 +spring_length = 5.0 + +[node name="NPCs" type="Node" parent="."] + +[node name="PlayerMeshInstance3D" type="MeshInstance3D" parent="NPCs"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.6059, 0.519002, 0.128472) +mesh = SubResource("CapsuleMesh_2h36r") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_w3olp") + +[node name="PlayerMeshInstance3D2" type="MeshInstance3D" parent="NPCs"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.0461, 0.519, 0.249913) +mesh = SubResource("CapsuleMesh_2h36r") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_cw102") + +[node name="Environment" type="Node" parent="."] + +[node name="Floor" parent="Environment" instance=ExtResource("1_r00ve")] +transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0) +metadata/_edit_lock_ = true + +[node name="Wall" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.52545, 6.53866, -12.6331) +use_collision = true +size = Vector3(178.429, 14.0773, 1) +material = SubResource("StandardMaterial3D_auy8m") + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.6511, 0.805455, -6.37532) +use_collision = true +radius = 1.71971 +height = 2.61091 +sides = 32 + +[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.9141, 0.31181, -5.46661) +use_collision = true +radius = 2.77591 +height = 1.62362 +sides = 32 + +[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.6099, 0.31181, 6.6322) +use_collision = true +radius = 1.57419 +height = 3.47475 +sides = 32 + +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.81402, 0.805455, -8.78984) +use_collision = true +radius = 0.956285 +height = 2.61091 +sides = 32 + +[node name="CSGSphere3D" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.95333, -1.69814, -6.51262) +use_collision = true +radius = 3.34732 +rings = 32 + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.4682, -0.599204, 8.81048) +use_collision = true +radius = 2.65844 +rings = 32 + +[node name="CSGSphere3D3" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.0848, -0.599204, -2.42244) +use_collision = true +radius = 2.14606 +rings = 32 + +[node name="CSGTorus3D2" type="CSGTorus3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.90455, -1.90735e-06, 7.89765) +use_collision = true +inner_radius = 0.971543 +outer_radius = 2.15226 +sides = 32 +ring_sides = 18 + +[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.1764, 0.760708, -6.1376) +use_collision = true +size = Vector3(2.64182, 2.52142, 2.30997) + +[node name="CSGBox3D5" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.31901, 0.335247, 8.22829) +use_collision = true +size = Vector3(3.80964, 1.67049, 0.932048) + +[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.94346, 0.138478, -4.36159) +use_collision = true +size = Vector3(1.53893, 1.27695, 1.80814) + +[node name="CSGBox3D6" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.7985, 0.138478, 5.20734) +use_collision = true +size = Vector3(4.03502, 1.27695, 5.2198) + +[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.1236, 1.78638, -1.60318) +use_collision = true +size = Vector3(4.57784, 4.57276, 3.11285) + +[editable path="Player/PlayerCharacterBody3D2"] diff --git a/addons/phantom_camera/examples/example_scenes/3D/3d_follow_path_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_path_example_scene.tscn new file mode 100644 index 0000000..4228afd --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_path_example_scene.tscn @@ -0,0 +1,221 @@ +[gd_scene load_steps=24 format=3 uid="uid://dxx7ngi0emt8h"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_lm5n8"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="3_bd7x3"] +[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="3_od2r4"] +[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_dfdlo"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_hni7n"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="4_lfwkm"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/3D/path_follow.gd" id="5_vdqkm"] +[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_vms5c"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="6_obo83"] + +[sub_resource type="Resource" id="Resource_ofv2c"] +script = ExtResource("4_hni7n") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="Resource" id="Resource_01tho"] +script = ExtResource("4_lfwkm") +duration = 1.2 +transition = 3 +ease = 2 + +[sub_resource type="Resource" id="Resource_syh5m"] +script = ExtResource("4_hni7n") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="Curve3D" id="Curve3D_b33df"] +_data = { +"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10), +"tilts": PackedFloat32Array(0, 0) +} +point_count = 2 + +[sub_resource type="BoxShape3D" id="BoxShape3D_aovgi"] +size = Vector3(6, 0.1, 10) + +[sub_resource type="BoxMesh" id="BoxMesh_0hdeh"] +size = Vector3(6, 0.1, 10) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fsm1b"] +transparency = 1 +albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961) + +[sub_resource type="Resource" id="Resource_xci4c"] +script = ExtResource("4_hni7n") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="Curve3D" id="Curve3D_8uw2x"] +_data = { +"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0), +"tilts": PackedFloat32Array(0, 0) +} +point_count = 2 + +[sub_resource type="BoxShape3D" id="BoxShape3D_ctnqu"] +size = Vector3(12, 0.1, 4) + +[sub_resource type="BoxMesh" id="BoxMesh_f6dp8"] +size = Vector3(12, 0.1, 4) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gwnkj"] +transparency = 1 +albedo_color = Color(0.568403, 0.988235, 0.762724, 0.0901961) + +[sub_resource type="BoxMesh" id="BoxMesh_7l3dh"] + +[sub_resource type="BoxMesh" id="BoxMesh_as6ok"] + +[node name="Root" type="Node3D"] + +[node name="MainCamera3D" type="Camera3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(0.999807, -0.00216249, 0.00184445, 0, 0.648836, 0.760728, -0.00284214, -0.760718, 0.648839, 0, 2.507, 1.5) + +[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] +script = ExtResource("1_lm5n8") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) +metadata/_edit_lock_ = true + +[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +transform = Transform3D(0.999807, -0.00216249, 0.00184445, 0, 0.648836, 0.760728, -0.00284214, -0.760718, 0.648839, 0, 2.507, 1.5) +script = ExtResource("3_bd7x3") +priority = 10 +follow_mode = 2 +follow_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual") +tween_resource = ExtResource("3_od2r4") +tween_on_load = false +camera_3d_resource = SubResource("Resource_ofv2c") +follow_offset = Vector3(0, 2, 1.5) +follow_damping = true + +[node name="PlayerCharacterBody3D2" parent="." instance=ExtResource("5_vms5c")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.507, 0) + +[node name="Paths" type="Node" parent="."] + +[node name="PathPhantomCamera3D" type="Node3D" parent="Paths" node_paths=PackedStringArray("follow_target", "follow_path")] +transform = Transform3D(-4.37114e-08, -1, -4.37114e-08, 0, -4.37114e-08, 1, -1, 4.37114e-08, 1.91069e-15, -0.31028, 7.9199, -1.60976) +script = ExtResource("3_bd7x3") +priority = 2 +follow_mode = 4 +follow_target = NodePath("../../PlayerCharacterBody3D2/PlayerVisual") +follow_path = NodePath("../FollowPath") +tween_resource = SubResource("Resource_01tho") +camera_3d_resource = SubResource("Resource_syh5m") +follow_damping = true + +[node name="FollowPath" type="Path3D" parent="Paths"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.31028, 7.9199, -1.60976) +curve = SubResource("Curve3D_b33df") + +[node name="StraightPathFollowTrigger" type="Area3D" parent="Paths" node_paths=PackedStringArray("path_pcam")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0420399, -0.45, -6.73666) +priority = 5 +script = ExtResource("5_vdqkm") +path_pcam = NodePath("../PathPhantomCamera3D") +metadata/_edit_group_ = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Paths/StraightPathFollowTrigger"] +shape = SubResource("BoxShape3D_aovgi") + +[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Paths/StraightPathFollowTrigger/CollisionShape3D"] +mesh = SubResource("BoxMesh_0hdeh") +skeleton = NodePath("../../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_fsm1b") +metadata/_edit_group_ = true + +[node name="PathPhantomCamera3D2" type="Node3D" parent="Paths" node_paths=PackedStringArray("follow_target", "follow_path")] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 7.9199, -13.4572) +visible = false +script = ExtResource("3_bd7x3") +priority = 2 +follow_mode = 4 +follow_target = NodePath("../../PlayerCharacterBody3D2/PlayerVisual") +follow_path = NodePath("../FollowPath2") +tween_resource = SubResource("Resource_01tho") +camera_3d_resource = SubResource("Resource_xci4c") +follow_damping = true +follow_damping_value = Vector3(0.6, 0.1, 0.1) + +[node name="FollowPath2" type="Path3D" parent="Paths"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.97141, 7.9199, -13.4572) +curve = SubResource("Curve3D_8uw2x") + +[node name="StraightPathFollowTrigger2" type="Area3D" parent="Paths" node_paths=PackedStringArray("path_pcam")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0420399, 0, -13.7367) +priority = 5 +script = ExtResource("5_vdqkm") +path_pcam = NodePath("../PathPhantomCamera3D2") +metadata/_edit_group_ = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Paths/StraightPathFollowTrigger2"] +shape = SubResource("BoxShape3D_ctnqu") + +[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Paths/StraightPathFollowTrigger2/CollisionShape3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.45, 0) +mesh = SubResource("BoxMesh_f6dp8") +skeleton = NodePath("../../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_gwnkj") +metadata/_edit_group_ = true + +[node name="Environment" type="Node" parent="."] + +[node name="Floor" parent="Environment" instance=ExtResource("4_dfdlo")] +transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0) +metadata/_edit_lock_ = true + +[node name="Floor3" parent="Environment" instance=ExtResource("4_dfdlo")] +transform = Transform3D(6, 0, 0, 0, 1, 0, 0, 0, 1, -0.44204, 0, 1.76334) + +[node name="Floor2" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")] +transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 14, -0.516667, 1, -6.5) + +[node name="Floor5" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")] +transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 14, 0.65, 1, -6.5) + +[node name="Floor4" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")] +transform = Transform3D(2, 0, 0, 0, 3, 0, 0, 0, 1, 0.0666667, 1, -18) + +[node name="Floor6" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")] +transform = Transform3D(0.333333, 0, 0, 0, 3, 0, 0, 0, 1, -0.766667, 1, -13) +mesh = SubResource("BoxMesh_7l3dh") + +[node name="Floor8" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")] +transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 6, -1.01667, 1, -15.5) +mesh = SubResource("BoxMesh_as6ok") + +[node name="Floor9" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")] +transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 6, 1.15, 1, -15.5) +mesh = SubResource("BoxMesh_as6ok") + +[node name="Floor7" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")] +transform = Transform3D(0.333333, 0, 0, 0, 3, 0, 0, 0, 1, 0.9, 1, -13) +mesh = SubResource("BoxMesh_7l3dh") + +[node name="NPCDescriptionLabel" type="Label3D" parent="Environment"] +transform = Transform3D(5.21541e-08, -1, -7.7486e-07, -1.10675e-15, 2.23517e-07, 0.999999, -0.999999, -7.45058e-08, -5.68829e-14, -3.47306, 2.59595, -5.51755) +text = "Camera follows player while confined to a Path3D" +font = ExtResource("6_obo83") +font_size = 64 + +[node name="MovementInstructionsLabel" type="Label3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.02174, -0.455369, 0.570585) +modulate = Color(0.294118, 1, 0.631373, 1) +text = "[WASD] to move" +font = ExtResource("6_obo83") +font_size = 48 + +[editable path="PlayerCharacterBody3D2"] diff --git a/addons/phantom_camera/examples/example_scenes/3D/3d_follow_simple_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_simple_example_scene.tscn new file mode 100644 index 0000000..f81396f --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_simple_example_scene.tscn @@ -0,0 +1,174 @@ +[gd_scene load_steps=14 format=3 uid="uid://buglvjwpn85ny"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_3tok8"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_grjck"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_j3f4l"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/3D/player_controller.gd" id="3_uymu2"] +[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_4u2y6"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_sielv"] +[ext_resource type="Texture2D" uid="uid://c7ja4woxol8yc" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="5_1tybo"] + +[sub_resource type="Resource" id="Resource_28vpp"] +script = ExtResource("3_j3f4l") +duration = 1.0 +transition = 0 +ease = 2 + +[sub_resource type="Resource" id="Resource_axopo"] +script = ExtResource("4_sielv") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_pda7a"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_u74j7"] +albedo_color = Color(0.988235, 0.498039, 0.498039, 1) + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_3xplc"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"] +albedo_texture = ExtResource("5_1tybo") +uv1_triplanar = true +uv1_world_triplanar = true + +[node name="Node3D2" type="Node3D"] + +[node name="MainCamera3D" type="Camera3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(0.999954, 0, 0, 0, 0.906188, 0.422588, 0, -0.422562, 0.906243, -13.1946, 2.34415, 10.4086) + +[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] +script = ExtResource("1_3tok8") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) +metadata/_edit_lock_ = true + +[node name="Player" type="Node" parent="."] + +[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +transform = Transform3D(0.999954, 0, 0, 0, 0.906188, 0.422588, 0, -0.422562, 0.906243, -13.1946, 2.34415, 10.4086) +script = ExtResource("2_grjck") +priority = 10 +follow_mode = 2 +follow_target = NodePath("../PlayerCharacterBody3D2") +tween_resource = SubResource("Resource_28vpp") +tween_on_load = false +camera_3d_resource = SubResource("Resource_axopo") +follow_offset = Vector3(0, 2, 2) +follow_damping = true + +[node name="PlayerCharacterBody3D2" type="CharacterBody3D" parent="Player"] +unique_name_in_owner = true +transform = Transform3D(0.999897, 0.0143636, 0, -0.0143636, 0.999897, 0, 0, 0, 1, -13.1946, 0.344147, 8.40857) +script = ExtResource("3_uymu2") +metadata/_edit_group_ = true + +[node name="PlayerModel" type="MeshInstance3D" parent="Player/PlayerCharacterBody3D2"] +unique_name_in_owner = true +mesh = SubResource("CapsuleMesh_pda7a") +surface_material_override/0 = SubResource("StandardMaterial3D_u74j7") + +[node name="PlayerArea3D" type="Area3D" parent="Player/PlayerCharacterBody3D2"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Player/PlayerCharacterBody3D2/PlayerArea3D"] +shape = SubResource("CapsuleShape3D_3xplc") + +[node name="PlayerCollisionShape3D" type="CollisionShape3D" parent="Player/PlayerCharacterBody3D2"] +shape = SubResource("CapsuleShape3D_3xplc") + +[node name="NPCs" type="Node" parent="."] + +[node name="Environment" type="Node" parent="."] + +[node name="Floor" parent="Environment" instance=ExtResource("4_4u2y6")] +transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0) +metadata/_edit_lock_ = true + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.6511, 0.805455, -6.37532) +use_collision = true +radius = 1.71971 +height = 2.61091 +sides = 32 + +[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.8332, -0.540694, -3.39517) +use_collision = true +radius = 1.53269 +height = 2.5036 +sides = 32 + +[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.936, -1.50101, 1.22863) +use_collision = true +radius = 1.57419 +height = 3.47475 +sides = 32 + +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.81402, 0.805455, -8.78984) +use_collision = true +radius = 0.956285 +height = 2.61091 +sides = 32 + +[node name="CSGSphere3D" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -23.6875, -1.69814, 3.36997) +use_collision = true +radius = 3.34732 +rings = 32 + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.14955, -0.599204, -1.04651) +use_collision = true +radius = 2.65844 +rings = 32 + +[node name="CSGSphere3D3" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.0848, -0.599204, -2.42244) +use_collision = true +radius = 2.14606 +rings = 32 + +[node name="CSGTorus3D2" type="CSGTorus3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.44645, -0.497663, 4.44352) +use_collision = true +inner_radius = 0.971543 +outer_radius = 2.15226 +sides = 32 +ring_sides = 18 + +[node name="CSGBox3D" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.52545, 6.53866, -12.6331) +use_collision = true +size = Vector3(178.429, 14.0773, 1) +material = SubResource("StandardMaterial3D_auy8m") + +[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.1764, 0.760708, -6.1376) +use_collision = true +size = Vector3(2.64182, 2.52142, 2.30997) + +[node name="CSGBox3D5" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.1256, 0.335247, 7.14677) +use_collision = true +size = Vector3(3.80964, 1.67049, 0.932048) + +[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.94346, 0.138478, -4.36159) +use_collision = true +size = Vector3(1.53893, 1.27695, 1.80814) + +[node name="CSGBox3D6" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.30382, 0.138478, -1.89037) +use_collision = true +size = Vector3(4.03502, 1.27695, 5.2198) + +[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.04727, 0.0440434, 8.36617) +use_collision = true +size = Vector3(4.57784, 1.08809, 3.11285) diff --git a/addons/phantom_camera/examples/example_scenes/3D/3d_follow_third_person_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_third_person_example_scene.tscn new file mode 100644 index 0000000..5c1f34c --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/3d_follow_third_person_example_scene.tscn @@ -0,0 +1,171 @@ +[gd_scene load_steps=16 format=3 uid="uid://4i5csj0s34nb"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="2_47xf2"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_whx47"] +[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_lii5s"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_jt2lp"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="5_oc4q1"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="7_kg7u1"] +[ext_resource type="PackedScene" uid="uid://mskcwn1a1v6d" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_third_person_3d.tscn" id="7_kut0u"] + +[sub_resource type="Resource" id="Resource_8fhct"] +script = ExtResource("2_47xf2") +duration = 0.3 +transition = 3 +ease = 1 + +[sub_resource type="Resource" id="Resource_7m0fv"] +script = ExtResource("5_jt2lp") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="Resource" id="Resource_e7t18"] +script = ExtResource("2_47xf2") +duration = 0.4 +transition = 2 +ease = 1 + +[sub_resource type="Resource" id="Resource_jogxh"] +script = ExtResource("5_jt2lp") +cull_mask = 1048575 +h_offset = 1.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="BoxMesh" id="BoxMesh_wsigl"] +size = Vector3(1, 10, 20) + +[sub_resource type="BoxMesh" id="BoxMesh_bj3re"] +size = Vector3(1, 7, 7) + +[sub_resource type="Resource" id="Resource_afrr1"] +script = ExtResource("2_47xf2") +duration = 0.6 +transition = 3 +ease = 1 + +[sub_resource type="Resource" id="Resource_y5dqe"] +script = ExtResource("5_jt2lp") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[node name="Root" type="Node3D"] + +[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, 0.866025, 0.499999, 0, -0.5, 0.866023, -0.0194088, 2.25688, 3.01476) +script = ExtResource("2_whx47") +priority = 10 +follow_mode = 6 +follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") +tween_resource = SubResource("Resource_8fhct") +tween_on_load = null +camera_3d_resource = SubResource("Resource_7m0fv") +follow_damping = true +follow_distance = 3.5 +spring_length = 3.5 + +[node name="PlayerAimPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +transform = Transform3D(0.953716, -0.0104945, 0.300522, 0, 0.99939, 0.0348995, -0.300706, -0.0332842, 0.953135, 0.431374, 1.35923, 1.41338) +script = ExtResource("2_whx47") +follow_mode = 6 +follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") +tween_resource = SubResource("Resource_e7t18") +tween_on_load = null +camera_3d_resource = SubResource("Resource_jogxh") +follow_offset = Vector3(0, 0.8, 0) +follow_damping = true +follow_distance = 1.5 +spring_length = 1.5 + +[node name="PlayerCharacterBody3D" parent="." instance=ExtResource("7_kut0u")] +unique_name_in_owner = true + +[node name="MainCamera3D" type="Camera3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, 0.866025, 0.499999, 0, -0.5, 0.866023, -0.0194088, 2.25688, 3.01476) +current = true + +[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] +script = ExtResource("5_oc4q1") + +[node name="Environment" type="Node" parent="."] + +[node name="Floor" parent="Environment" instance=ExtResource("4_lii5s")] +transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0) +metadata/_edit_lock_ = true + +[node name="Wall" parent="Environment" instance=ExtResource("4_lii5s")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.5, 4.5, 0) +mesh = SubResource("BoxMesh_wsigl") +metadata/_edit_lock_ = true + +[node name="Wall5" parent="Environment" instance=ExtResource("4_lii5s")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.133, 3, -6.5) +mesh = SubResource("BoxMesh_bj3re") +metadata/_edit_lock_ = true + +[node name="Wall6" parent="Environment" instance=ExtResource("4_lii5s")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 3, 0) +mesh = SubResource("BoxMesh_bj3re") +metadata/_edit_lock_ = true + +[node name="Wall7" parent="Environment" instance=ExtResource("4_lii5s")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 3, 0) +mesh = SubResource("BoxMesh_bj3re") +metadata/_edit_lock_ = true + +[node name="Wall2" parent="Environment" instance=ExtResource("4_lii5s")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.5, 4.5, 0) +mesh = SubResource("BoxMesh_wsigl") +metadata/_edit_lock_ = true + +[node name="Wall3" parent="Environment" instance=ExtResource("4_lii5s")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 4.5, 10.5) +mesh = SubResource("BoxMesh_wsigl") +metadata/_edit_lock_ = true + +[node name="Wall4" parent="Environment" instance=ExtResource("4_lii5s")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 4.5, -9.5) +mesh = SubResource("BoxMesh_wsigl") +metadata/_edit_lock_ = true + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) +metadata/_edit_lock_ = true + +[node name="CeilingPhantomCamera3D" type="Node3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(-4.37114e-08, -1, 2.98023e-08, 0, 2.98023e-08, 1, -1, 4.37114e-08, -1.3027e-15, -0.200665, 13.366, -0.162648) +script = ExtResource("2_whx47") +tween_resource = SubResource("Resource_afrr1") +tween_on_load = null +camera_3d_resource = SubResource("Resource_y5dqe") + +[node name="MovementInstructionsLabel" type="Label3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.0505604, -0.484909, 1.44357) +modulate = Color(0.294118, 1, 0.631373, 1) +text = "[WASD] to move" +font = ExtResource("7_kg7u1") +font_size = 48 + +[node name="MovementInstructionsLabel3" type="Label3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.0505604, -0.484909, 0.817134) +modulate = Color(0.294118, 1, 0.631373, 1) +text = "[Right Mouse Click] to \"aim\"" +font = ExtResource("7_kg7u1") +font_size = 48 + +[node name="MovementInstructionsLabel2" type="Label3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.0440154, -0.490478, -6.30248) +modulate = Color(0.294118, 1, 0.631373, 1) +text = "[Space] to toggle PCam" +font = ExtResource("7_kg7u1") +font_size = 48 + +[editable path="PlayerCharacterBody3D"] diff --git a/addons/phantom_camera/examples/example_scenes/3D/3d_look_at_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/3D/3d_look_at_example_scene.tscn new file mode 100644 index 0000000..d6fa268 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/3d_look_at_example_scene.tscn @@ -0,0 +1,193 @@ +[gd_scene load_steps=14 format=3 uid="uid://bdhrdhbux7sjg"] + +[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="1_i2pjc"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_lldvu"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_8md3q"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_dqss1"] +[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_2i811"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_m3qpq"] +[ext_resource type="Texture2D" uid="uid://c7ja4woxol8yc" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="5_u5qhp"] + +[sub_resource type="Resource" id="Resource_pwcgo"] +script = ExtResource("3_dqss1") +duration = 1.0 +transition = 0 +ease = 2 + +[sub_resource type="Resource" id="Resource_ft2w3"] +script = ExtResource("4_m3qpq") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_2h36r"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_w3olp"] +albedo_color = Color(0.227451, 0.337255, 0.576471, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cw102"] +albedo_color = Color(0.227451, 0.337255, 0.576471, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"] +albedo_texture = ExtResource("5_u5qhp") +uv1_triplanar = true +uv1_world_triplanar = true + +[node name="Node3D" type="Node3D"] + +[node name="MainCamera3D" type="Camera3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(0.998682, 0.0324725, -0.0397495, 0, 0.774433, 0.632656, 0.0513272, -0.631822, 0.773413, -0.137901, 4.03222, 6.36446) + +[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] +process_priority = 100 +script = ExtResource("1_lldvu") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) +metadata/_edit_lock_ = true + +[node name="PhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("look_at_target", "look_at_targets")] +transform = Transform3D(0.998682, 0.0324725, -0.0397495, 0, 0.774433, 0.632656, 0.0513272, -0.631822, 0.773413, -0.137901, 4.03222, 6.36446) +script = ExtResource("2_8md3q") +priority = 10 +look_at_mode = 2 +look_at_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual") +look_at_targets = [null, NodePath("../NPCs/PlayerMeshInstance3D")] +tween_resource = SubResource("Resource_pwcgo") +tween_on_load = false +camera_3d_resource = SubResource("Resource_ft2w3") +look_at_damping = true +look_at_damping_value = 0.1 + +[node name="PlayerCharacterBody3D2" parent="." instance=ExtResource("1_i2pjc")] + +[node name="NPCs" type="Node" parent="."] + +[node name="PlayerMeshInstance3D" type="MeshInstance3D" parent="NPCs"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.96028, 0.519002, -1.52506) +mesh = SubResource("CapsuleMesh_2h36r") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_w3olp") + +[node name="PlayerMeshInstance3D2" type="MeshInstance3D" parent="NPCs"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.59952, 0.519, 4.06618) +mesh = SubResource("CapsuleMesh_2h36r") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_cw102") + +[node name="Environment" type="Node" parent="."] + +[node name="Floor" parent="Environment" instance=ExtResource("4_2i811")] +transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0) +metadata/_edit_lock_ = true + +[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.00548, 0.805455, -6.37532) +use_collision = true +radius = 1.71971 +height = 2.61091 +sides = 32 + +[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25.5597, 0.31181, -5.46661) +use_collision = true +radius = 2.77591 +height = 1.62362 +sides = 32 + +[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.96428, 0.31181, 6.6322) +use_collision = true +radius = 1.57419 +height = 3.47475 +sides = 32 + +[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.3959, 0.201103, 2.71259) +use_collision = true +radius = 1.41311 +height = 1.40221 +sides = 32 + +[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.02677, 0.201101, 11.6804) +use_collision = true +radius = 2.21673 +height = 7.88261 +sides = 32 + +[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.8316, 0.805455, -8.78984) +use_collision = true +radius = 0.956285 +height = 2.61091 +sides = 32 + +[node name="CSGSphere3D" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.5989, -1.69814, -6.51262) +use_collision = true +radius = 3.34732 +rings = 32 + +[node name="CSGSphere3D2" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.17742, -0.599204, 8.81048) +use_collision = true +radius = 2.65844 +rings = 32 + +[node name="CSGSphere3D3" type="CSGSphere3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.4392, -0.599204, -2.42244) +use_collision = true +radius = 2.14606 +rings = 32 + +[node name="CSGTorus3D" type="CSGTorus3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.58998, -1.90735e-06, 0.346393) +use_collision = true +inner_radius = 1.3 +outer_radius = 2.0 +sides = 32 +ring_sides = 18 + +[node name="CSGTorus3D2" type="CSGTorus3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22.5502, -1.90735e-06, 7.89765) +use_collision = true +inner_radius = 0.971543 +outer_radius = 2.15226 +sides = 32 +ring_sides = 18 + +[node name="CSGBox3D" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.1202, 6.53866, -12.6331) +use_collision = true +size = Vector3(178.429, 14.0773, 1) +material = SubResource("StandardMaterial3D_auy8m") + +[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.53078, 0.760708, -6.1376) +use_collision = true +size = Vector3(2.64182, 2.52142, 2.30997) + +[node name="CSGBox3D5" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.9646, 0.335247, 8.22829) +use_collision = true +size = Vector3(3.80964, 1.67049, 0.932048) + +[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.70216, 0.138478, -4.36159) +use_collision = true +size = Vector3(1.53893, 1.27695, 1.80814) + +[node name="CSGBox3D6" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.1529, 0.138478, 5.20734) +use_collision = true +size = Vector3(4.03502, 1.27695, 5.2198) + +[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.7692, 1.78638, -1.60318) +use_collision = true +size = Vector3(4.57784, 4.57276, 3.11285) + +[editable path="PlayerCharacterBody3D2"] diff --git a/addons/phantom_camera/examples/example_scenes/3D/3d_tweening_example_scene.tscn b/addons/phantom_camera/examples/example_scenes/3D/3d_tweening_example_scene.tscn new file mode 100644 index 0000000..eeba110 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/3d_tweening_example_scene.tscn @@ -0,0 +1,258 @@ +[gd_scene load_steps=22 format=3 uid="uid://5xtssqdfilal"] + +[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="1_ydeog"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="2_b2yrt"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="3_m2w30"] +[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="4_425ma"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_cn3g7"] +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd" id="5_h0ouh"] +[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="6_gcjyn"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="6_wup4d"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="8_60rny"] + +[sub_resource type="Resource" id="Resource_0dtvs"] +script = ExtResource("5_cn3g7") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="BoxShape3D" id="BoxShape3D_j6fha"] +size = Vector3(5, 0.1, 4) + +[sub_resource type="BoxMesh" id="BoxMesh_xg4en"] +size = Vector3(5, 0.1, 4) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2dct5"] +transparency = 1 +albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961) + +[sub_resource type="Resource" id="Resource_v8ndi"] +script = ExtResource("6_wup4d") +duration = 0.6 +transition = 0 +ease = 2 + +[sub_resource type="Resource" id="Resource_kmep1"] +script = ExtResource("5_cn3g7") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="Resource" id="Resource_uxg44"] +script = ExtResource("6_wup4d") +duration = 0.3 +transition = 1 +ease = 2 + +[sub_resource type="Resource" id="Resource_eu3bc"] +script = ExtResource("5_cn3g7") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="Resource" id="Resource_0nci0"] +script = ExtResource("6_wup4d") +duration = 0.3 +transition = 8 +ease = 2 + +[sub_resource type="Resource" id="Resource_u0lff"] +script = ExtResource("5_cn3g7") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[sub_resource type="Resource" id="Resource_50m5g"] +script = ExtResource("6_wup4d") +duration = 1.2 +transition = 10 +ease = 2 + +[sub_resource type="Resource" id="Resource_rexf8"] +script = ExtResource("5_cn3g7") +cull_mask = 1048575 +h_offset = 0.0 +v_offset = 0.0 +fov = 75.0 + +[node name="Root" type="Node3D"] + +[node name="Environment" type="Node" parent="."] + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="Environment"] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) +metadata/_edit_lock_ = true + +[node name="Floor" parent="Environment" instance=ExtResource("1_ydeog")] +transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0) +metadata/_edit_lock_ = true + +[node name="MainCamera3D" type="Camera3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(0.999889, 0, 0, 0, 0.707092, 0.707088, 0, -0.707092, 0.707088, 0.083587, 2.507, 4.05493) + +[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] +script = ExtResource("2_b2yrt") + +[node name="------------------" type="Node" parent="."] + +[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")] +unique_name_in_owner = true +transform = Transform3D(0.999889, 0, 0, 0, 0.707092, 0.707088, 0, -0.707092, 0.707088, 0.083587, 2.507, 4.05493) +script = ExtResource("3_m2w30") +priority = 3 +follow_mode = 2 +follow_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual") +tween_resource = ExtResource("4_425ma") +tween_on_load = false +camera_3d_resource = SubResource("Resource_0dtvs") +follow_offset = Vector3(0, 2, 2) +follow_damping = true + +[node name="PlayerCharacterBody3D2" parent="." instance=ExtResource("6_gcjyn")] + +[node name="-------------------" type="Node" parent="."] + +[node name="Tweening Example" type="Node3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.97) + +[node name="Linear" type="Node3D" parent="Tweening Example"] + +[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Linear" node_paths=PackedStringArray("area_pcam")] +priority = 5 +script = ExtResource("5_h0ouh") +area_pcam = NodePath("../PhantomCamera3D") +metadata/_edit_group_ = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Tweening Example/Linear/EntryRoomTrigger"] +shape = SubResource("BoxShape3D_j6fha") + +[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Tweening Example/Linear/EntryRoomTrigger"] +mesh = SubResource("BoxMesh_xg4en") +skeleton = NodePath("../../../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_2dct5") +metadata/_edit_group_ = true + +[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Linear"] +transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 4.8, 3.3) +script = ExtResource("3_m2w30") +tween_resource = SubResource("Resource_v8ndi") +camera_3d_resource = SubResource("Resource_kmep1") + +[node name="TweenNameLabel" type="Label3D" parent="Tweening Example/Linear"] +transform = Transform3D(1, 0, 0, 0, 0.695913, 0.718126, 0, -0.718126, 0.695913, -1.8, 0.5, 0) +text = "Transition Type: +Linear + +Duration: +0.6s" +font = ExtResource("8_60rny") +font_size = 48 + +[node name="Sine" type="Node3D" parent="Tweening Example"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -7.4) + +[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Sine" node_paths=PackedStringArray("area_pcam")] +priority = 5 +script = ExtResource("5_h0ouh") +area_pcam = NodePath("../PhantomCamera3D") +metadata/_edit_group_ = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Tweening Example/Sine/EntryRoomTrigger"] +shape = SubResource("BoxShape3D_j6fha") + +[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Tweening Example/Sine/EntryRoomTrigger"] +mesh = SubResource("BoxMesh_xg4en") +skeleton = NodePath("../../../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_2dct5") +metadata/_edit_group_ = true + +[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Sine"] +transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 4.8, 3.3) +script = ExtResource("3_m2w30") +tween_resource = SubResource("Resource_uxg44") +camera_3d_resource = SubResource("Resource_eu3bc") + +[node name="TweenNameLabel" type="Label3D" parent="Tweening Example/Sine"] +transform = Transform3D(1, 0, 0, 0, 0.695913, 0.718126, 0, -0.718126, 0.695913, 1.7, 0.5, 0) +text = "Transition Type: +Sine + +Duration: +0.3s" +font = ExtResource("8_60rny") +font_size = 72 + +[node name="Circ" type="Node3D" parent="Tweening Example"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -14.1) + +[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Circ" node_paths=PackedStringArray("area_pcam")] +priority = 5 +script = ExtResource("5_h0ouh") +area_pcam = NodePath("../PhantomCamera3D") +metadata/_edit_group_ = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Tweening Example/Circ/EntryRoomTrigger"] +shape = SubResource("BoxShape3D_j6fha") + +[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Tweening Example/Circ/EntryRoomTrigger"] +mesh = SubResource("BoxMesh_xg4en") +skeleton = NodePath("../../../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_2dct5") +metadata/_edit_group_ = true + +[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Circ"] +transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 4.8, 3.3) +script = ExtResource("3_m2w30") +tween_resource = SubResource("Resource_0nci0") +camera_3d_resource = SubResource("Resource_u0lff") + +[node name="TweenNameLabel" type="Label3D" parent="Tweening Example/Circ"] +transform = Transform3D(1, 0, 0, 0, 0.695913, 0.718126, 0, -0.718126, 0.695913, -1.8, 0.5, 0) +text = "Transition Type: +Circ + +Duration: +0.3s" +font = ExtResource("8_60rny") +font_size = 72 + +[node name="Back" type="Node3D" parent="Tweening Example"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -21) + +[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Back" node_paths=PackedStringArray("area_pcam")] +priority = 5 +script = ExtResource("5_h0ouh") +area_pcam = NodePath("../PhantomCamera3D") +metadata/_edit_group_ = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Tweening Example/Back/EntryRoomTrigger"] +shape = SubResource("BoxShape3D_j6fha") + +[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Tweening Example/Back/EntryRoomTrigger"] +mesh = SubResource("BoxMesh_xg4en") +skeleton = NodePath("../../../../..") +surface_material_override/0 = SubResource("StandardMaterial3D_2dct5") +metadata/_edit_group_ = true + +[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Back"] +transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, -0.8, 4.8, 3.3) +script = ExtResource("3_m2w30") +tween_resource = SubResource("Resource_50m5g") +camera_3d_resource = SubResource("Resource_rexf8") + +[node name="TweenNameLabel" type="Label3D" parent="Tweening Example/Back"] +transform = Transform3D(1, 0, 0, 0, 0.695913, 0.718126, 0, -0.718126, 0.695913, 1.7, 0.5, 0) +text = "Transition Type: +Back + +Duration: +1.2s" +font = ExtResource("8_60rny") +font_size = 48 + +[editable path="PlayerCharacterBody3D2"] diff --git a/addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn b/addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn new file mode 100644 index 0000000..2198ced --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn @@ -0,0 +1,31 @@ +[gd_scene load_steps=5 format=3 uid="uid://bulsh7s0ibmao"] + +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/3D/player_controller.gd" id="1_6hh6c"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_8efyg"] + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_2cfaw"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_r3ldp"] +albedo_color = Color(0.988235, 0.498039, 0.498039, 1) + +[node name="PlayerCharacterBody3D2" type="CharacterBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.083587, 0.507, 2.05493) +script = ExtResource("1_6hh6c") +metadata/_edit_group_ = true + +[node name="PlayerArea3D" type="Area3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerArea3D"] +shape = SubResource("CapsuleShape3D_8efyg") + +[node name="PlayerCollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("CapsuleShape3D_8efyg") + +[node name="PlayerVisual" type="Node3D" parent="."] +unique_name_in_owner = true + +[node name="PlayerModel" type="MeshInstance3D" parent="PlayerVisual"] +mesh = SubResource("CapsuleMesh_2cfaw") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_r3ldp") diff --git a/addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_third_person_3d.tscn b/addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_third_person_3d.tscn new file mode 100644 index 0000000..ecfd6f9 --- /dev/null +++ b/addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_third_person_3d.tscn @@ -0,0 +1,43 @@ +[gd_scene load_steps=6 format=3 uid="uid://mskcwn1a1v6d"] + +[ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_third_person.gd" id="1_0dnfe"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_s61dn"] + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_47f0o"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mv4do"] +albedo_color = Color(0.988235, 0.498039, 0.498039, 1) + +[sub_resource type="PrismMesh" id="PrismMesh_wg1x3"] +size = Vector3(0.5, 0.5, 0.3) + +[node name="PlayerCharacterBody3D" type="CharacterBody3D"] +transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 0.506884, -0.0163251) +collision_layer = 2 +script = ExtResource("1_0dnfe") +metadata/_edit_group_ = true + +[node name="PlayerArea3D" type="Area3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerArea3D"] +shape = SubResource("CapsuleShape3D_s61dn") + +[node name="PlayerCollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("CapsuleShape3D_s61dn") + +[node name="PlayerVisual" type="Node3D" parent="."] +unique_name_in_owner = true + +[node name="PlayerMeshInstance3D" type="MeshInstance3D" parent="PlayerVisual"] +transform = Transform3D(1, 0, 0, 0, 1, 4.65661e-10, 0, 0, 1, 0, 0, 0) +mesh = SubResource("CapsuleMesh_47f0o") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_mv4do") + +[node name="PlayerDirection" type="MeshInstance3D" parent="PlayerVisual"] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, -9.31323e-10, 1, 4.65661e-10, 2.98023e-08, 0, 1, -0.0156226, 1.08631, 0) +mesh = SubResource("PrismMesh_wg1x3") +skeleton = NodePath("../..") +surface_material_override/0 = SubResource("StandardMaterial3D_mv4do") diff --git a/addons/phantom_camera/examples/models/3d_cube_dark.tscn b/addons/phantom_camera/examples/models/3d_cube_dark.tscn new file mode 100644 index 0000000..627dc6f --- /dev/null +++ b/addons/phantom_camera/examples/models/3d_cube_dark.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=4 format=3 uid="uid://cixlwqycoox8h"] + +[ext_resource type="Texture2D" uid="uid://c7ja4woxol8yc" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="1_836jx"] + +[sub_resource type="BoxMesh" id="BoxMesh_d24c3"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_aox6v"] +albedo_texture = ExtResource("1_836jx") +uv1_triplanar = true +uv1_world_triplanar = true + +[node name="3DPrototypeCube" type="CSGMesh3D"] +use_collision = true +mesh = SubResource("BoxMesh_d24c3") +material = SubResource("StandardMaterial3D_aox6v") diff --git a/addons/phantom_camera/examples/resources/tween/fixed_camera_tween.tres b/addons/phantom_camera/examples/resources/tween/fixed_camera_tween.tres new file mode 100644 index 0000000..640b6ae --- /dev/null +++ b/addons/phantom_camera/examples/resources/tween/fixed_camera_tween.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" script_class="PhantomCameraTween" load_steps=2 format=3 uid="uid://c1v786g5agaw5"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="1_ptlie"] + +[resource] +script = ExtResource("1_ptlie") +duration = 0.0 +transition = 0 +ease = 2 diff --git a/addons/phantom_camera/examples/resources/tween/inventory_phantom_camera_2d_tween.tres b/addons/phantom_camera/examples/resources/tween/inventory_phantom_camera_2d_tween.tres new file mode 100644 index 0000000..38d9879 --- /dev/null +++ b/addons/phantom_camera/examples/resources/tween/inventory_phantom_camera_2d_tween.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" script_class="PhantomCameraTweenResource" load_steps=2 format=3 uid="uid://cllveybboaqk5"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="1_7yoy0"] + +[resource] +script = ExtResource("1_7yoy0") +duration = 0.6 +transition = 5 +ease = 1 diff --git a/addons/phantom_camera/examples/resources/tween/item_focus_phantom_camera_2d_tween.tres b/addons/phantom_camera/examples/resources/tween/item_focus_phantom_camera_2d_tween.tres new file mode 100644 index 0000000..3a09b1e --- /dev/null +++ b/addons/phantom_camera/examples/resources/tween/item_focus_phantom_camera_2d_tween.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" script_class="PhantomCameraTweenResource" load_steps=2 format=3 uid="uid://cecrnq0wnkexh"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="1_sq5ls"] + +[resource] +script = ExtResource("1_sq5ls") +duration = 0.6 +transition = 8 +ease = 1 diff --git a/addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres b/addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres new file mode 100644 index 0000000..e23bdbe --- /dev/null +++ b/addons/phantom_camera/examples/resources/tween/player_phantom_camera_2d_tween.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" script_class="PhantomCameraTween" load_steps=2 format=3 uid="uid://euybd2w0bax"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="1_by4ei"] + +[resource] +script = ExtResource("1_by4ei") +duration = 0.6 +transition = 3 +ease = 1 diff --git a/addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres b/addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres new file mode 100644 index 0000000..7edea42 --- /dev/null +++ b/addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" script_class="PhantomCameraTween" load_steps=2 format=3 uid="uid://cptfoggk2ok67"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="1_q5tix"] + +[resource] +script = ExtResource("1_q5tix") +duration = 0.6 +transition = 3 +ease = 2 diff --git a/addons/phantom_camera/examples/scripts/2D/2d_room_limit_tween.gd b/addons/phantom_camera/examples/scripts/2D/2d_room_limit_tween.gd new file mode 100644 index 0000000..06e9180 --- /dev/null +++ b/addons/phantom_camera/examples/scripts/2D/2d_room_limit_tween.gd @@ -0,0 +1,36 @@ +extends Node2D + +@onready var pcam_room_left: PhantomCamera2D = %RoomLeftPhantomCamera2D +@onready var pcam_room_centre: PhantomCamera2D = %RoomCentrePhantomCamera2D +@onready var pcam_room_right: PhantomCamera2D = %RoomRightPhantomCamera2D + +@onready var player: Node2D = %CharacterBody2D/%PlayerVisuals + +@onready var area_2d_room_left: Area2D = %RoomLeftArea2D +@onready var area_2d_room_centre: Area2D = %RoomCentreArea2D +@onready var area_2d_room_right: Area2D = %RoomRightArea2D + + +func _ready(): + pcam_room_left.set_follow_offset(Vector2(0, -80)) + pcam_room_right.set_follow_offset(Vector2(0, -80)) + + area_2d_room_left.body_entered.connect(_on_body_entered.bind(pcam_room_left)) + area_2d_room_centre.body_entered.connect(_on_body_entered.bind(pcam_room_centre)) + area_2d_room_right.body_entered.connect(_on_body_entered.bind(pcam_room_right)) + + area_2d_room_left.body_exited.connect(_on_body_exited.bind(pcam_room_left)) + area_2d_room_centre.body_exited.connect(_on_body_exited.bind(pcam_room_centre)) + area_2d_room_right.body_exited.connect(_on_body_exited.bind(pcam_room_right)) + + +func _on_body_entered(body: Node2D, pcam: PhantomCamera2D) -> void: + if body == player.get_parent(): + pcam.set_follow_target(player) + pcam.set_priority(20) + + +func _on_body_exited(body: Node2D, pcam: PhantomCamera2D) -> void: + if body == player.get_parent(): + pcam.set_priority(0) + pcam.set_follow_target(null) diff --git a/addons/phantom_camera/examples/scripts/2D/2d_room_limit_tween_4.3.gd b/addons/phantom_camera/examples/scripts/2D/2d_room_limit_tween_4.3.gd new file mode 100644 index 0000000..970c52e --- /dev/null +++ b/addons/phantom_camera/examples/scripts/2D/2d_room_limit_tween_4.3.gd @@ -0,0 +1,36 @@ +extends Node2D + +@onready var pcam_room_left: PhantomCamera2D = %RoomLeftPhantomCamera2D +@onready var pcam_room_centre: PhantomCamera2D = %RoomCentrePhantomCamera2D +@onready var pcam_room_right: PhantomCamera2D = %RoomRightPhantomCamera2D + +@onready var player: Node2D = %CharacterBody2D + +@onready var area_2d_room_left: Area2D = %RoomLeftArea2D +@onready var area_2d_room_centre: Area2D = %RoomCentreArea2D +@onready var area_2d_room_right: Area2D = %RoomRightArea2D + + +func _ready(): + pcam_room_left.set_follow_offset(Vector2(0, -80)) + pcam_room_right.set_follow_offset(Vector2(0, -80)) + + area_2d_room_left.body_entered.connect(_on_body_entered.bind(pcam_room_left)) + area_2d_room_centre.body_entered.connect(_on_body_entered.bind(pcam_room_centre)) + area_2d_room_right.body_entered.connect(_on_body_entered.bind(pcam_room_right)) + + area_2d_room_left.body_exited.connect(_on_body_exited.bind(pcam_room_left)) + area_2d_room_centre.body_exited.connect(_on_body_exited.bind(pcam_room_centre)) + area_2d_room_right.body_exited.connect(_on_body_exited.bind(pcam_room_right)) + + +func _on_body_entered(body: Node2D, pcam: PhantomCamera2D) -> void: + if body == player: + pcam.set_follow_target(player) + pcam.set_priority(20) + + +func _on_body_exited(body: Node2D, pcam: PhantomCamera2D) -> void: + if body == player: + pcam.set_priority(0) + pcam.set_follow_target(null) diff --git a/addons/phantom_camera/examples/scripts/2D/2d_trigger_area.gd b/addons/phantom_camera/examples/scripts/2D/2d_trigger_area.gd new file mode 100644 index 0000000..db0209c --- /dev/null +++ b/addons/phantom_camera/examples/scripts/2D/2d_trigger_area.gd @@ -0,0 +1,16 @@ +extends Area2D + +@export var area_pcam: PhantomCamera2D + +func _ready() -> void: + connect("area_entered", _entered_area) + connect("area_exited", _exited_area) + +func _entered_area(area_2d: Area2D) -> void: + if area_2d.get_parent() is CharacterBody2D: + area_pcam.set_priority(20) + +func _exited_area(area_2d: Area2D) -> void: + if area_2d.get_parent() is CharacterBody2D: + area_pcam.set_priority(0) + diff --git a/addons/phantom_camera/examples/scripts/2D/player_character_body_2d.gd b/addons/phantom_camera/examples/scripts/2D/player_character_body_2d.gd new file mode 100644 index 0000000..da7a74e --- /dev/null +++ b/addons/phantom_camera/examples/scripts/2D/player_character_body_2d.gd @@ -0,0 +1,190 @@ +extends CharacterBody2D + +@onready var _player_area2d = %PlayerArea2D +@onready var _player_visuals: Node2D = %PlayerVisuals +@onready var _player_sprite: Sprite2D = %PlayerSprite +@onready var _interaction_prompt: Panel = %InteractionPrompt +@onready var _ui_sign: Control +@onready var _dark_overlay: ColorRect = %DarkOverlay + +const KEY_STRINGNAME: StringName = "Key" +const ACTION_STRINGNAME: StringName = "Action" +const INPUT_MOVE_LEFT_STRINGNAME: StringName = "move_left" +const INPUT_MOVE_RIGHT_STRINGNAME: StringName = "move_right" + +const SPEED = 350.0 +const JUMP_VELOCITY = -750.0 + +# Get the gravity from the project settings to be synced with RigidBody nodes. +var gravity: int = 2400 +var _is_interactive: bool +var _can_open_inventory: bool +var _movement_disabled: bool +var tween: Tween +var _interactive_UI: Control +var _active_pcam: PhantomCamera2D + +var _physics_body_trans_last: Transform2D +var _physics_body_trans_current: Transform2D + +enum InteractiveType { + NONE = 0, + ITEM = 1, + INVENTORY = 2, +} +var _interactive_object: InteractiveType = InteractiveType.NONE + +var InputMovementDic: Dictionary = { + INPUT_MOVE_LEFT_STRINGNAME: { + KEY_STRINGNAME: KEY_A, + ACTION_STRINGNAME: INPUT_MOVE_LEFT_STRINGNAME + }, + INPUT_MOVE_RIGHT_STRINGNAME: { + KEY_STRINGNAME: KEY_D, + ACTION_STRINGNAME: INPUT_MOVE_RIGHT_STRINGNAME + }, +} + + +func _ready() -> void: + _player_area2d.connect("body_shape_entered", _show_prompt) + _player_area2d.connect("body_shape_exited", _hide_prompt) + + _ui_sign = owner.get_node("%UISign") + + for input in InputMovementDic: + var key_val = InputMovementDic[input].get(KEY_STRINGNAME) + var action_val = InputMovementDic[input].get(ACTION_STRINGNAME) + + var movement_input = InputEventKey.new() + movement_input.physical_keycode = key_val + InputMap.add_action(action_val) + InputMap.action_add_event(action_val, movement_input) + + _player_visuals.top_level = true + + if Engine.get_version_info().major == 4 and \ + Engine.get_version_info().minor >= 3: + printerr("Please run the other 2D example scenes, in the 2D-4.3 directory, for more up-to-date example setups.") + + +func _unhandled_input(event: InputEvent) -> void: + if _is_interactive: + if Input.is_physical_key_pressed(KEY_F): + if tween: + tween.kill() + + if not _movement_disabled: + tween = get_tree().create_tween() + + _movement_disabled = true + _active_pcam.set_priority(10) + + _show_interactive_node(_interactive_UI) + _interactive_node_logic() + + else: + _hide_interactive_node(_interactive_UI) + _interactive_node_logic() + + + if Input.is_physical_key_pressed(KEY_ESCAPE) and _movement_disabled: + _hide_interactive_node(_interactive_UI) + _interactive_node_logic() + + +func _show_interactive_node(UI: Control) -> void: + UI.modulate.a = 0 + UI.visible = true + tween.tween_property(UI, "modulate", Color.WHITE, 1).set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_CIRC) + + +func _hide_interactive_node(UI: Control) -> void: + _movement_disabled = false + _active_pcam.set_priority(0) + UI.visible = false + + +func _interactive_node_logic() -> void: + match _interactive_object: + 2: + if _movement_disabled: + _dark_overlay.set_visible(true) + else: + _dark_overlay.set_visible(false) + + +func _physics_process(delta: float) -> void: + _physics_body_trans_last = _physics_body_trans_current + _physics_body_trans_current = global_transform + + if not is_on_floor(): + velocity.y += gravity * delta + + if Input.is_action_just_pressed("ui_accept") and is_on_floor(): + velocity.y = JUMP_VELOCITY + + if _movement_disabled: return + + var input_dir: = Input.get_axis( + INPUT_MOVE_LEFT_STRINGNAME, + INPUT_MOVE_RIGHT_STRINGNAME + ) + + if input_dir: + velocity.x = input_dir * SPEED + if input_dir > 0: + _player_sprite.set_flip_h(false) + elif input_dir < 0: + _player_sprite.set_flip_h(true) + else: + velocity.x = move_toward(velocity.x, 0, SPEED) + + move_and_slide() + + +func _process(delta) -> void: + _player_visuals.global_position = _physics_body_trans_last.interpolate_with( + _physics_body_trans_current, + Engine.get_physics_interpolation_fraction() + ).origin + + +func _show_prompt(body_rid: RID, body: Node2D, body_shape_index: int, local_shape: int) -> void: + if body is TileMap: + var tile_map: TileMap = body + + var tile_coords: Vector2i = tile_map.get_coords_for_body_rid(body_rid) + var cell_data: TileData = tile_map.get_cell_tile_data(1, tile_coords) + + if cell_data: + var cell_data_type: StringName = cell_data.get_custom_data("Type") +# var cell_global_pos: Vector2 = tile_map.to_global(tile_map.map_to_local(tile_coords)) + _is_interactive = true + _interaction_prompt.set_visible(true) + + match cell_data_type: + "Sign": + _interactive_UI = owner.get_node("%UISign") + _active_pcam = %ItemFocusPhantomCamera2D + _interactive_object = InteractiveType.ITEM + "Inventory": + _interactive_UI = owner.get_node("%UIInventory") + _interactive_object = InteractiveType.INVENTORY + _active_pcam = %InventoryPhantomCamera2D + + +func _hide_prompt(body_rid: RID, body: Node2D, body_shape_index: int, local_shape: int) -> void: + if body is TileMap: + var tile_map: TileMap = body + + var tile_coords: Vector2i = tile_map.get_coords_for_body_rid(body_rid) + var cell_data: TileData = tile_map.get_cell_tile_data(1, tile_coords) + + if cell_data: + _interaction_prompt.set_visible(false) + _is_interactive = false + _interactive_UI = null + _interactive_object = InteractiveType.NONE + _active_pcam = null + diff --git a/addons/phantom_camera/examples/scripts/2D/player_character_body_2d_4.3.gd b/addons/phantom_camera/examples/scripts/2D/player_character_body_2d_4.3.gd new file mode 100644 index 0000000..2fe592f --- /dev/null +++ b/addons/phantom_camera/examples/scripts/2D/player_character_body_2d_4.3.gd @@ -0,0 +1,176 @@ +extends CharacterBody2D + +@onready var _player_area2d = %PlayerArea2D +@onready var _player_visuals: Node2D = %PlayerVisuals +@onready var _player_sprite: Sprite2D = %PlayerSprite +@onready var _interaction_prompt: Panel = %InteractionPrompt +@onready var _ui_sign: Control +@onready var _dark_overlay: ColorRect = %DarkOverlay + +const KEY_STRINGNAME: StringName = "Key" +const ACTION_STRINGNAME: StringName = "Action" +const INPUT_MOVE_LEFT_STRINGNAME: StringName = "move_left" +const INPUT_MOVE_RIGHT_STRINGNAME: StringName = "move_right" + +const SPEED = 350.0 +const JUMP_VELOCITY = -750.0 + +# Get the gravity from the project settings to be synced with RigidBody nodes. +var gravity: int = 2400 +var _is_interactive: bool +var _can_open_inventory: bool +var _movement_disabled: bool +var tween: Tween +var _interactive_UI: Control +var _active_pcam: PhantomCamera2D + +enum InteractiveType { + NONE = 0, + ITEM = 1, + INVENTORY = 2, +} +var _interactive_object: InteractiveType = InteractiveType.NONE + +var InputMovementDic: Dictionary = { + INPUT_MOVE_LEFT_STRINGNAME: { + KEY_STRINGNAME: KEY_A, + ACTION_STRINGNAME: INPUT_MOVE_LEFT_STRINGNAME + }, + INPUT_MOVE_RIGHT_STRINGNAME: { + KEY_STRINGNAME: KEY_D, + ACTION_STRINGNAME: INPUT_MOVE_RIGHT_STRINGNAME + }, +} + + +func _ready() -> void: + _player_area2d.connect("body_shape_entered", _show_prompt) + _player_area2d.connect("body_shape_exited", _hide_prompt) + + _ui_sign = owner.get_node("%UISign") + + for input in InputMovementDic: + var key_val = InputMovementDic[input].get(KEY_STRINGNAME) + var action_val = InputMovementDic[input].get(ACTION_STRINGNAME) + + var movement_input = InputEventKey.new() + movement_input.physical_keycode = key_val + InputMap.add_action(action_val) + InputMap.action_add_event(action_val, movement_input) + + if Engine.get_version_info().major == 4 and \ + Engine.get_version_info().minor < 3: + printerr("This scene is designed to only work properly in Godot 4.3 or later that supports 2D Physics Interpolation.") + printerr("Please run the other 2D example scenes in the other directory.") + + +func _unhandled_input(event: InputEvent) -> void: + if _is_interactive: + if Input.is_physical_key_pressed(KEY_F): + if tween: + tween.kill() + + if not _movement_disabled: + tween = get_tree().create_tween() + + _movement_disabled = true + _active_pcam.set_priority(10) + + _show_interactive_node(_interactive_UI) + _interactive_node_logic() + + else: + _hide_interactive_node(_interactive_UI) + _interactive_node_logic() + + + if Input.is_physical_key_pressed(KEY_ESCAPE) and _movement_disabled: + _hide_interactive_node(_interactive_UI) + _interactive_node_logic() + + +func _show_interactive_node(UI: Control) -> void: + UI.modulate.a = 0 + UI.visible = true + tween.tween_property(UI, "modulate", Color.WHITE, 1).set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_CIRC) + + +func _hide_interactive_node(UI: Control) -> void: + _movement_disabled = false + _active_pcam.set_priority(0) + UI.visible = false + + +func _interactive_node_logic() -> void: + match _interactive_object: + 2: + if _movement_disabled: + _dark_overlay.set_visible(true) + else: + _dark_overlay.set_visible(false) + + +func _physics_process(delta: float) -> void: + if not is_on_floor(): + velocity.y += gravity * delta + + if Input.is_action_just_pressed("ui_accept") and is_on_floor(): + velocity.y = JUMP_VELOCITY + + if _movement_disabled: return + + var input_dir: = Input.get_axis( + INPUT_MOVE_LEFT_STRINGNAME, + INPUT_MOVE_RIGHT_STRINGNAME + ) + + if input_dir: + velocity.x = input_dir * SPEED + if input_dir > 0: + _player_sprite.set_flip_h(false) + elif input_dir < 0: + _player_sprite.set_flip_h(true) + else: + velocity.x = move_toward(velocity.x, 0, SPEED) + + move_and_slide() + + +func _show_prompt(body_rid: RID, body: Node2D, body_shape_index: int, local_shape: int) -> void: + if body is TileMap: + var tile_map: TileMap = body + + var tile_coords: Vector2i = tile_map.get_coords_for_body_rid(body_rid) + var cell_data: TileData = tile_map.get_cell_tile_data(1, tile_coords) + + if cell_data: + var cell_data_type: StringName = cell_data.get_custom_data("Type") +# var cell_global_pos: Vector2 = tile_map.to_global(tile_map.map_to_local(tile_coords)) + _is_interactive = true + _interaction_prompt.set_visible(true) + + match cell_data_type: + "Sign": + _interactive_UI = owner.get_node("%UISign") + _active_pcam = %ItemFocusPhantomCamera2D + _interactive_object = InteractiveType.ITEM + "Inventory": + _interactive_UI = owner.get_node("%UIInventory") + _interactive_object = InteractiveType.INVENTORY + _active_pcam = %InventoryPhantomCamera2D + + +func _hide_prompt(body_rid: RID, body: Node2D, body_shape_index: int, local_shape: int) -> void: + if body is TileMap: + var tile_map: TileMap = body + + var tile_coords: Vector2i = tile_map.get_coords_for_body_rid(body_rid) + var cell_data: TileData = tile_map.get_cell_tile_data(1, tile_coords) + + if cell_data: + _interaction_prompt.set_visible(false) + _is_interactive = false + _interactive_UI = null + _interactive_object = InteractiveType.NONE + _active_pcam = null + diff --git a/addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd b/addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd new file mode 100644 index 0000000..4fc9764 --- /dev/null +++ b/addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd @@ -0,0 +1,26 @@ +extends Area3D + +@export var area_pcam: PhantomCamera3D + +var initial_camera_position: Vector3 +var initial_camera_rotation: Vector3 + +var tween: Tween +var tween_duration: float = 0.9 + + +func _ready() -> void: + connect("area_entered", _entered_area) + connect("area_exited", _exited_area) + + +func _entered_area(area_3D: Area3D) -> void: + if area_3D.get_parent() is CharacterBody3D: + area_pcam.set_priority(20) + + +func _exited_area(area_3D: Area3D) -> void: + if area_3D.get_parent() is CharacterBody3D: + area_pcam.set_priority(0) + + diff --git a/addons/phantom_camera/examples/scripts/3D/npc.gd b/addons/phantom_camera/examples/scripts/3D/npc.gd new file mode 100644 index 0000000..3d9a523 --- /dev/null +++ b/addons/phantom_camera/examples/scripts/3D/npc.gd @@ -0,0 +1,71 @@ +extends Node3D + +@onready var npc_pcam: PhantomCamera3D = %NPCPhantomCamera3D +@onready var dialogueArea: Area3D = %NPCInteractionArea3D +@onready var dialogueLabel3D: Label3D = %NPCDialogueExampleLabel + +@onready var player: CharacterBody3D = %PlayerCharacterBody3D + +@onready var move_to_location: Vector3 = %MoveToLocation.get_global_position() + +var dialogue_label_initial_position: Vector3 +var dialogue_label_initial_rotation: Vector3 + +var tween: Tween +var tween_duration: float = 0.9 +var tween_transition: Tween.TransitionType = Tween.TRANS_QUAD + +var interactable: bool +var is_interacting: bool + +func _ready() -> void: + dialogueArea.connect("area_entered", _interactable) + dialogueArea.connect("area_exited", _not_interactable) + + dialogueLabel3D.set_visible(false) + + dialogue_label_initial_position = dialogueLabel3D.get_global_position() + dialogue_label_initial_rotation = dialogueLabel3D.get_global_rotation() + + npc_pcam.tween_completed.connect(_on_tween_started) + + + +func _on_tween_started() -> void: + player.movement_enabled = false + + +func _interactable(area_3D: Area3D) -> void: + if area_3D.get_parent() is CharacterBody3D: + dialogueLabel3D.set_visible(true) + interactable = true + + var tween: Tween = get_tree().create_tween().set_trans(tween_transition).set_ease(Tween.EASE_IN_OUT).set_loops() + tween.tween_property(dialogueLabel3D, "global_position", dialogue_label_initial_position - Vector3(0, -0.2, 0), tween_duration) + tween.tween_property(dialogueLabel3D, "position", dialogue_label_initial_position, tween_duration) + + +func _not_interactable(area_3D: Area3D) -> void: + if area_3D.get_parent() is CharacterBody3D: + dialogueLabel3D.set_visible(false) + interactable = false + + +func _input(event) -> void: + if not interactable: return + + if event is InputEventKey and event.pressed: + if event.keycode == KEY_F: + var tween: Tween = get_tree().create_tween() \ + .set_parallel(true) \ + .set_trans(Tween.TRANS_QUART) \ + .set_ease(Tween.EASE_IN_OUT) + if not is_interacting: + npc_pcam.priority = 20 + tween.tween_property(player, "global_position", move_to_location, 0.6).set_trans(tween_transition) + tween.tween_property(dialogueLabel3D, "rotation", Vector3(deg_to_rad(-20), deg_to_rad(53), 0), 0.6).set_trans(tween_transition) + else: + npc_pcam.priority = 0 + tween.tween_property(dialogueLabel3D, "rotation", dialogue_label_initial_rotation, 0.9) + player.movement_enabled = true + is_interacting = !is_interacting diff --git a/addons/phantom_camera/examples/scripts/3D/path_follow.gd b/addons/phantom_camera/examples/scripts/3D/path_follow.gd new file mode 100644 index 0000000..22973ec --- /dev/null +++ b/addons/phantom_camera/examples/scripts/3D/path_follow.gd @@ -0,0 +1,18 @@ +extends Node + +@export var path_pcam: PhantomCamera3D + +func _ready() -> void: + connect("area_entered", _entered_area) + connect("area_exited", _exited_area) + + +func _entered_area(area_3D: Area3D) -> void: + if area_3D.get_parent() is CharacterBody3D: + path_pcam.set_priority(20) + + +func _exited_area(area_3D: Area3D) -> void: + if area_3D.get_parent() is CharacterBody3D: + path_pcam.set_priority(0) + diff --git a/addons/phantom_camera/examples/scripts/3D/player_controller.gd b/addons/phantom_camera/examples/scripts/3D/player_controller.gd new file mode 100644 index 0000000..b136103 --- /dev/null +++ b/addons/phantom_camera/examples/scripts/3D/player_controller.gd @@ -0,0 +1,103 @@ +extends CharacterBody3D + +@export var SPEED: float = 5.0 +@export var JUMP_VELOCITY: float = 4.5 +@export var enable_gravity = true + +@onready var _camera: Camera3D + +@onready var _player_visual: Node3D = %PlayerVisual + +# Get the gravity from the project settings to be synced with RigidBody nodes. +var gravity: float = 9.8 + +var movement_enabled: bool = true + +var _physics_body_trans_last: Transform3D +var _physics_body_trans_current: Transform3D + +const KEY_STRINGNAME: StringName = "Key" +const ACTION_STRINGNAME: StringName = "Action" + +const INPUT_MOVE_UP_STRINGNAME: StringName = "move_up" +const INPUT_MOVE_DOWM_STRINGNAME: StringName = "move_down" +const INPUT_MOVE_LEFT_STRINGNAME: StringName = "move_left" +const INPUT_MOVE_RIGHT_STRINGNAME: StringName = "move_right" + +var InputMovementDic: Dictionary = { + INPUT_MOVE_UP_STRINGNAME: { + KEY_STRINGNAME: KEY_W, + ACTION_STRINGNAME: INPUT_MOVE_UP_STRINGNAME + }, + INPUT_MOVE_DOWM_STRINGNAME: { + KEY_STRINGNAME: KEY_S, + ACTION_STRINGNAME: INPUT_MOVE_DOWM_STRINGNAME + }, + INPUT_MOVE_LEFT_STRINGNAME: { + KEY_STRINGNAME: KEY_A, + ACTION_STRINGNAME: INPUT_MOVE_LEFT_STRINGNAME + }, + INPUT_MOVE_RIGHT_STRINGNAME: { + KEY_STRINGNAME: KEY_D, + ACTION_STRINGNAME: INPUT_MOVE_RIGHT_STRINGNAME + }, +} + + +func _ready() -> void: + for input in InputMovementDic: + var key_val = InputMovementDic[input].get(KEY_STRINGNAME) + var action_val = InputMovementDic[input].get(ACTION_STRINGNAME) + + _camera = owner.get_node("%MainCamera3D") + + var movement_input = InputEventKey.new() + movement_input.physical_keycode = key_val + InputMap.add_action(action_val) + InputMap.action_add_event(action_val, movement_input) + + _player_visual.top_level = true + + +func _physics_process(delta: float) -> void: + _physics_body_trans_last = _physics_body_trans_current + _physics_body_trans_current = global_transform + + # Add the gravity. + if enable_gravity and not is_on_floor(): + velocity.y -= gravity * delta + + if not movement_enabled: return + + # Get the input direction and handle the movement/deceleration. + # As good practice, you should replace UI actions with custom gameplay actions. + var input_dir: Vector2 = Input.get_vector( + INPUT_MOVE_LEFT_STRINGNAME, + INPUT_MOVE_RIGHT_STRINGNAME, + INPUT_MOVE_UP_STRINGNAME, + INPUT_MOVE_DOWM_STRINGNAME + ) + + var cam_dir: Vector3 = -_camera.global_transform.basis.z + + var direction: Vector3 = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() + if direction: + var move_dir: Vector3 = Vector3.ZERO + move_dir.x = direction.x + move_dir.z = direction.z + + move_dir = move_dir.rotated(Vector3.UP, _camera.rotation.y).normalized() + velocity.x = move_dir.x * SPEED + velocity.z = move_dir.z * SPEED + else: + velocity.x = move_toward(velocity.x, 0, SPEED) + velocity.z = move_toward(velocity.z, 0, SPEED) + + move_and_slide() + + +func _process(_delta: float) -> void: + _player_visual.global_transform = _physics_body_trans_last.interpolate_with( + _physics_body_trans_current, + Engine.get_physics_interpolation_fraction() + ) diff --git a/addons/phantom_camera/examples/scripts/3D/player_controller_third_person.gd b/addons/phantom_camera/examples/scripts/3D/player_controller_third_person.gd new file mode 100644 index 0000000..9bd3a76 --- /dev/null +++ b/addons/phantom_camera/examples/scripts/3D/player_controller_third_person.gd @@ -0,0 +1,88 @@ +extends "player_controller.gd" + +@onready var _player_pcam: PhantomCamera3D +@onready var _aim_pcam: PhantomCamera3D +@onready var _player_direction: Node3D = %PlayerDirection +@onready var _ceiling_pcam: PhantomCamera3D + +@export var mouse_sensitivity: float = 0.05 + +@export var min_pitch: float = -89.9 +@export var max_pitch: float = 50 + +@export var min_yaw: float = 0 +@export var max_yaw: float = 360 + + + +func _ready() -> void: + super() + + _player_pcam = owner.get_node("%PlayerPhantomCamera3D") + _aim_pcam = owner.get_node("%PlayerAimPhantomCamera3D") + _ceiling_pcam = owner.get_node("%CeilingPhantomCamera3D") + + if _player_pcam.get_follow_mode() == _player_pcam.FollowMode.THIRD_PERSON: + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + + +func _physics_process(delta: float) -> void: + super(delta) + + if velocity.length() > 0.2: + var look_direction: Vector2 = Vector2(velocity.z, velocity.x) + _player_direction.rotation.y = look_direction.angle() + + +func _unhandled_input(event: InputEvent) -> void: + if _player_pcam.get_follow_mode() == _player_pcam.FollowMode.THIRD_PERSON: + var active_pcam: PhantomCamera3D + + if is_instance_valid(_aim_pcam): + _set_pcam_rotation(_player_pcam, event) + _set_pcam_rotation(_aim_pcam, event) + if _player_pcam.get_priority() > _aim_pcam.get_priority(): + _toggle_aim_pcam(event) + else: + _toggle_aim_pcam(event) + + if event is InputEventKey and event.pressed: + if event.keycode == KEY_SPACE: + if _ceiling_pcam.get_priority() < 30 and _player_pcam.is_active(): + _ceiling_pcam.set_priority(30) + else: + _ceiling_pcam.set_priority(1) + + +func _set_pcam_rotation(pcam: PhantomCamera3D, event: InputEvent) -> void: + if event is InputEventMouseMotion: + var pcam_rotation_degrees: Vector3 + + # Assigns the current 3D rotation of the SpringArm3D node - so it starts off where it is in the editor + pcam_rotation_degrees = pcam.get_third_person_rotation_degrees() + + # Change the X rotation + pcam_rotation_degrees.x -= event.relative.y * mouse_sensitivity + + # Clamp the rotation in the X axis so it go over or under the target + pcam_rotation_degrees.x = clampf(pcam_rotation_degrees.x, min_pitch, max_pitch) + + # Change the Y rotation value + pcam_rotation_degrees.y -= event.relative.x * mouse_sensitivity + + # Sets the rotation to fully loop around its target, but witout going below or exceeding 0 and 360 degrees respectively + pcam_rotation_degrees.y = wrapf(pcam_rotation_degrees.y, min_yaw, max_yaw) + + # Change the SpringArm3D node's rotation and rotate around its target + pcam.set_third_person_rotation_degrees(pcam_rotation_degrees) + + +func _toggle_aim_pcam(event: InputEvent) -> void: + if event is InputEventMouseButton \ + and event.is_pressed() \ + and event.button_index == 2 \ + and (_player_pcam.is_active() or _aim_pcam.is_active()): + if _player_pcam.get_priority() > _aim_pcam.get_priority(): + _aim_pcam.set_priority(30) + else: + _aim_pcam.set_priority(0) diff --git a/addons/phantom_camera/examples/textures/2D/inventory_container.png b/addons/phantom_camera/examples/textures/2D/inventory_container.png new file mode 100644 index 0000000..7dd5178 Binary files /dev/null and b/addons/phantom_camera/examples/textures/2D/inventory_container.png differ diff --git a/addons/phantom_camera/examples/textures/2D/inventory_container.png.import b/addons/phantom_camera/examples/textures/2D/inventory_container.png.import new file mode 100644 index 0000000..72be1e5 --- /dev/null +++ b/addons/phantom_camera/examples/textures/2D/inventory_container.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7cs6me43ufh3" +path="res://.godot/imported/inventory_container.png-12241277f279bfc4bf7d5dad6b3e8ff2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/examples/textures/2D/inventory_container.png" +dest_files=["res://.godot/imported/inventory_container.png-12241277f279bfc4bf7d5dad6b3e8ff2.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/addons/phantom_camera/examples/textures/2D/level_spritesheet.png b/addons/phantom_camera/examples/textures/2D/level_spritesheet.png new file mode 100644 index 0000000..939cb28 Binary files /dev/null and b/addons/phantom_camera/examples/textures/2D/level_spritesheet.png differ diff --git a/addons/phantom_camera/examples/textures/2D/level_spritesheet.png.import b/addons/phantom_camera/examples/textures/2D/level_spritesheet.png.import new file mode 100644 index 0000000..520372a --- /dev/null +++ b/addons/phantom_camera/examples/textures/2D/level_spritesheet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c77npili4pel4" +path="res://.godot/imported/level_spritesheet.png-26a44dd21a040a5480d5ccba54377d99.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/examples/textures/2D/level_spritesheet.png" +dest_files=["res://.godot/imported/level_spritesheet.png-26a44dd21a040a5480d5ccba54377d99.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/addons/phantom_camera/examples/textures/2D/phantom_camera_2d_sprite.png b/addons/phantom_camera/examples/textures/2D/phantom_camera_2d_sprite.png new file mode 100644 index 0000000..2012b3a Binary files /dev/null and b/addons/phantom_camera/examples/textures/2D/phantom_camera_2d_sprite.png differ diff --git a/addons/phantom_camera/examples/textures/2D/phantom_camera_2d_sprite.png.import b/addons/phantom_camera/examples/textures/2D/phantom_camera_2d_sprite.png.import new file mode 100644 index 0000000..425002e --- /dev/null +++ b/addons/phantom_camera/examples/textures/2D/phantom_camera_2d_sprite.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwep0on2tthn7" +path="res://.godot/imported/phantom_camera_2d_sprite.png-deab230b83ae03aeb308a08ff66b8dbc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/examples/textures/2D/phantom_camera_2d_sprite.png" +dest_files=["res://.godot/imported/phantom_camera_2d_sprite.png-deab230b83ae03aeb308a08ff66b8dbc.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/addons/phantom_camera/examples/textures/2D/player_sprite.svg b/addons/phantom_camera/examples/textures/2D/player_sprite.svg new file mode 100644 index 0000000..ce261b1 --- /dev/null +++ b/addons/phantom_camera/examples/textures/2D/player_sprite.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/phantom_camera/examples/textures/2D/player_sprite.svg.import b/addons/phantom_camera/examples/textures/2D/player_sprite.svg.import new file mode 100644 index 0000000..41dc9dc --- /dev/null +++ b/addons/phantom_camera/examples/textures/2D/player_sprite.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ci76plsequlrq" +path="res://.godot/imported/player_sprite.svg-8862ecb19e12152eb892607676f3831f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/examples/textures/2D/player_sprite.svg" +dest_files=["res://.godot/imported/player_sprite.svg-8862ecb19e12152eb892607676f3831f.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 +svg/scale=8.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/phantom_camera/examples/textures/2D/sign_prompt.png b/addons/phantom_camera/examples/textures/2D/sign_prompt.png new file mode 100644 index 0000000..a730837 Binary files /dev/null and b/addons/phantom_camera/examples/textures/2D/sign_prompt.png differ diff --git a/addons/phantom_camera/examples/textures/2D/sign_prompt.png.import b/addons/phantom_camera/examples/textures/2D/sign_prompt.png.import new file mode 100644 index 0000000..a5799d3 --- /dev/null +++ b/addons/phantom_camera/examples/textures/2D/sign_prompt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bloouh2jtndx1" +path="res://.godot/imported/sign_prompt.png-18d451127e1cd1a16367acd23cec47e5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/examples/textures/2D/sign_prompt.png" +dest_files=["res://.godot/imported/sign_prompt.png-18d451127e1cd1a16367acd23cec47e5.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/addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png b/addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png new file mode 100644 index 0000000..4aeae6c Binary files /dev/null and b/addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png differ diff --git a/addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png.import b/addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png.import new file mode 100644 index 0000000..cfcc34e --- /dev/null +++ b/addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7ja4woxol8yc" +path.bptc="res://.godot/imported/checker_pattern_dark.png-70cedad2d3abf4ad6166d6614eefa7fb.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" +dest_files=["res://.godot/imported/checker_pattern_dark.png-70cedad2d3abf4ad6166d6614eefa7fb.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=true +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/addons/phantom_camera/examples/ui/ui_inventory.tscn b/addons/phantom_camera/examples/ui/ui_inventory.tscn new file mode 100644 index 0000000..cddd377 --- /dev/null +++ b/addons/phantom_camera/examples/ui/ui_inventory.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=3 format=3 uid="uid://dg7rhrymsrrrm"] + +[ext_resource type="Texture2D" uid="uid://b7cs6me43ufh3" path="res://addons/phantom_camera/examples/textures/2D/inventory_container.png" id="1_pi2dp"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="2_0rdcn"] + +[node name="Control" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="TextureRect" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_left = 28.0 +offset_top = -255.0 +offset_right = 908.0 +offset_bottom = 183.0 +grow_vertical = 2 +texture = ExtResource("1_pi2dp") + +[node name="Label" type="Label" parent="TextureRect"] +layout_mode = 0 +offset_left = 345.0 +offset_top = 12.0 +offset_right = 535.0 +offset_bottom = 60.0 +theme_override_colors/font_color = Color(0.356863, 0.105882, 0.133333, 1) +theme_override_fonts/font = ExtResource("2_0rdcn") +theme_override_font_sizes/font_size = 32 +text = "Inventory" +horizontal_alignment = 1 +uppercase = true diff --git a/addons/phantom_camera/examples/ui/ui_sign.tscn b/addons/phantom_camera/examples/ui/ui_sign.tscn new file mode 100644 index 0000000..1b891ef --- /dev/null +++ b/addons/phantom_camera/examples/ui/ui_sign.tscn @@ -0,0 +1,83 @@ +[gd_scene load_steps=4 format=3 uid="uid://iq5xd1ob1res"] + +[ext_resource type="Texture2D" uid="uid://bloouh2jtndx1" path="res://addons/phantom_camera/examples/textures/2D/sign_prompt.png" id="1_tftrk"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="2_y5454"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_r4h3u"] +bg_color = Color(0.470588, 0.6, 0.45098, 1) +corner_radius_top_right = 47 +corner_radius_bottom_left = 40 + +[node name="Control" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="TextureRect" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -273.568 +offset_top = 47.0 +offset_right = 273.568 +offset_bottom = 413.0 +grow_horizontal = 2 +texture = ExtResource("1_tftrk") +metadata/_edit_group_ = true + +[node name="Label" type="Label" parent="TextureRect"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 25.0 +offset_top = 64.0 +offset_right = -25.0 +offset_bottom = -88.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.207843, 0.0470588, 0.0666667, 1) +theme_override_fonts/font = ExtResource("2_y5454") +theme_override_font_sizes/font_size = 62 +text = "Stay Awhile +and read" +horizontal_alignment = 1 +vertical_alignment = 1 +uppercase = true + +[node name="Panel" type="Panel" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -240.0 +offset_right = 240.0 +offset_bottom = 200.0 +grow_horizontal = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxFlat_r4h3u") +metadata/_edit_use_anchors_ = true + +[node name="VBoxContainer" type="VBoxContainer" parent="Panel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +alignment = 1 + +[node name="Label2" type="Label" parent="Panel/VBoxContainer"] +layout_mode = 2 +text = "Example Textsdadassa +" +horizontal_alignment = 1 +vertical_alignment = 1 diff --git a/addons/phantom_camera/fonts/Nunito-Black.ttf b/addons/phantom_camera/fonts/Nunito-Black.ttf new file mode 100644 index 0000000..1081731 Binary files /dev/null and b/addons/phantom_camera/fonts/Nunito-Black.ttf differ diff --git a/addons/phantom_camera/fonts/Nunito-Black.ttf.import b/addons/phantom_camera/fonts/Nunito-Black.ttf.import new file mode 100644 index 0000000..310d096 --- /dev/null +++ b/addons/phantom_camera/fonts/Nunito-Black.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://c4mm3of2mc8o5" +path="res://.godot/imported/Nunito-Black.ttf-2a374efbc207a97a99b8c70bdc4b7cbb.fontdata" + +[deps] + +source_file="res://addons/phantom_camera/fonts/Nunito-Black.ttf" +dest_files=["res://.godot/imported/Nunito-Black.ttf-2a374efbc207a97a99b8c70bdc4b7cbb.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/addons/phantom_camera/fonts/Nunito-Regular.ttf b/addons/phantom_camera/fonts/Nunito-Regular.ttf new file mode 100644 index 0000000..dfd0fcb Binary files /dev/null and b/addons/phantom_camera/fonts/Nunito-Regular.ttf differ diff --git a/addons/phantom_camera/fonts/Nunito-Regular.ttf.import b/addons/phantom_camera/fonts/Nunito-Regular.ttf.import new file mode 100644 index 0000000..29ea6f5 --- /dev/null +++ b/addons/phantom_camera/fonts/Nunito-Regular.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://dve7mgsjik4dg" +path="res://.godot/imported/Nunito-Regular.ttf-b6054d499efa1a10921004862b1e217a.fontdata" + +[deps] + +source_file="res://addons/phantom_camera/fonts/Nunito-Regular.ttf" +dest_files=["res://.godot/imported/Nunito-Regular.ttf-b6054d499efa1a10921004862b1e217a.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/addons/phantom_camera/gizmos/custom_gizmo.gd b/addons/phantom_camera/gizmos/custom_gizmo.gd new file mode 100644 index 0000000..f094f7b --- /dev/null +++ b/addons/phantom_camera/gizmos/custom_gizmo.gd @@ -0,0 +1,93 @@ +extends EditorNode3DGizmoPlugin +class_name CustomPluginGizmo + +var _gizmo_name +var gizmo_name: String: set = set_gizmo_name + +var _gizmo_icon: Texture2D +var gizmo_icon: Texture2D: set = set_gizmo_icon + +var _gizmo_spatial_script: Script +var gizmo_spatial_script: Script: set = set_gizmo_spatial_script + +var _gizmo_scale: float = 0.035 + + +func set_gizmo_name(name: String) -> void: + _gizmo_name = name + + +func set_gizmo_icon(icon: Texture2D) -> void: + _gizmo_icon = icon + + +func set_gizmo_spatial_script(script: Script) -> void: + _gizmo_spatial_script = script + + +func _get_gizmo_name() -> String: + return _gizmo_name + +func _has_gizmo(spatial: Node3D): + return spatial.get_script() == _gizmo_spatial_script + + +func _init() -> void: + create_icon_material(_gizmo_name, _gizmo_icon, false, Color.WHITE) + create_material("main", Color8(252, 127, 127, 255)) + + +func _draw_frustum() -> PackedVector3Array: + var lines = PackedVector3Array() + + var dis: float = 0.25 + var width: float = dis * 1.25 + var len: float = dis * 1.5 + + # Straight line +# lines.push_back(Vector3(0, 0, 0)) +# lines.push_back(Vector3(0, 0, -len)) + + + # Trapezoid + lines.push_back(Vector3(0, 0, 0)) + lines.push_back(Vector3(-width, dis, -len)) + + lines.push_back(Vector3(0, 0, 0)) + lines.push_back(Vector3(width, dis, -len)) + + lines.push_back(Vector3(0, 0, 0)) + lines.push_back(Vector3(-width, -dis, -len)) + + lines.push_back(Vector3(0, 0, 0)) + lines.push_back(Vector3(width, -dis, -len)) + + + # Square + ## Left + lines.push_back(Vector3(-width, dis, -len)) + lines.push_back(Vector3(-width, -dis, -len)) + + ## Bottom + lines.push_back(Vector3(-width, -dis, -len)) + lines.push_back(Vector3(width, -dis, -len)) + + ## Right + lines.push_back(Vector3(width, -dis, -len)) + lines.push_back(Vector3(width, dis, -len)) + + ## Top + lines.push_back(Vector3(width, dis, -len)) + lines.push_back(Vector3(-width, dis, -len)) + + return lines + + +func _redraw(gizmo: EditorNode3DGizmo): + gizmo.clear() + + var icon: Material = get_material(_gizmo_name, gizmo) + gizmo.add_unscaled_billboard(icon, _gizmo_scale) + + var material = get_material("main", gizmo) + gizmo.add_lines(_draw_frustum(), material) diff --git a/addons/phantom_camera/gizmos/phantom_camera_gizmo_plugin_3d.gd b/addons/phantom_camera/gizmos/phantom_camera_gizmo_plugin_3d.gd new file mode 100644 index 0000000..bef8180 --- /dev/null +++ b/addons/phantom_camera/gizmos/phantom_camera_gizmo_plugin_3d.gd @@ -0,0 +1,11 @@ +extends CustomPluginGizmo + +var _spatial_script: Script = preload("res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd") +var _icon: Texture2D = preload("res://addons/phantom_camera/icons/phantom_camera_gizmo.svg") + + +func _init() -> void: + set_gizmo_name("PhantomCamera") + set_gizmo_spatial_script(_spatial_script) + set_gizmo_icon(_icon) + super() diff --git a/addons/phantom_camera/icons/misc/PriorityOverride.svg b/addons/phantom_camera/icons/misc/PriorityOverride.svg new file mode 100644 index 0000000..de7fd01 --- /dev/null +++ b/addons/phantom_camera/icons/misc/PriorityOverride.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/addons/phantom_camera/icons/misc/PriorityOverride.svg.import b/addons/phantom_camera/icons/misc/PriorityOverride.svg.import new file mode 100644 index 0000000..d78acf5 --- /dev/null +++ b/addons/phantom_camera/icons/misc/PriorityOverride.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dy8eifa6aw2en" +path="res://.godot/imported/PriorityOverride.svg-e76e07f4bbd98169f119e17fe5f2f03f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/misc/PriorityOverride.svg" +dest_files=["res://.godot/imported/PriorityOverride.svg-e76e07f4bbd98169f119e17fe5f2f03f.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/phantom_camera/icons/phantom_camera_2d.svg b/addons/phantom_camera/icons/phantom_camera_2d.svg new file mode 100644 index 0000000..0c67805 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_2d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/phantom_camera/icons/phantom_camera_2d.svg.import b/addons/phantom_camera/icons/phantom_camera_2d.svg.import new file mode 100644 index 0000000..b10d490 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_2d.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmcvv0edbbpv4" +path="res://.godot/imported/phantom_camera_2d.svg-e5483cbc858fc5f95f7210b1649dff0d.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/phantom_camera_2d.svg" +dest_files=["res://.godot/imported/phantom_camera_2d.svg-e5483cbc858fc5f95f7210b1649dff0d.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=true diff --git a/addons/phantom_camera/icons/phantom_camera_3d.svg b/addons/phantom_camera/icons/phantom_camera_3d.svg new file mode 100644 index 0000000..db18730 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_3d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/phantom_camera/icons/phantom_camera_3d.svg.import b/addons/phantom_camera/icons/phantom_camera_3d.svg.import new file mode 100644 index 0000000..6542a24 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_3d.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bf8bxgxx71qki" +path="res://.godot/imported/phantom_camera_3d.svg-41ed612e834470377fb56eebffa083fe.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/phantom_camera_3d.svg" +dest_files=["res://.godot/imported/phantom_camera_3d.svg-41ed612e834470377fb56eebffa083fe.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=true diff --git a/addons/phantom_camera/icons/phantom_camera_camera_3d_resource.svg b/addons/phantom_camera/icons/phantom_camera_camera_3d_resource.svg new file mode 100644 index 0000000..282adf2 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_camera_3d_resource.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/phantom_camera/icons/phantom_camera_camera_3d_resource.svg.import b/addons/phantom_camera/icons/phantom_camera_camera_3d_resource.svg.import new file mode 100644 index 0000000..d880530 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_camera_3d_resource.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkpwb4k1bkbvn" +path="res://.godot/imported/phantom_camera_camera_3d_resource.svg-f8bf8d1a5b7442fd6933bfbed999d57d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/phantom_camera_camera_3d_resource.svg" +dest_files=["res://.godot/imported/phantom_camera_camera_3d_resource.svg-f8bf8d1a5b7442fd6933bfbed999d57d.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/phantom_camera/icons/phantom_camera_gizmo.svg b/addons/phantom_camera/icons/phantom_camera_gizmo.svg new file mode 100644 index 0000000..d791ce0 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_gizmo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/phantom_camera/icons/phantom_camera_gizmo.svg.import b/addons/phantom_camera/icons/phantom_camera_gizmo.svg.import new file mode 100644 index 0000000..7b49608 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_gizmo.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://e36npe2rbxyg" +path.s3tc="res://.godot/imported/phantom_camera_gizmo.svg-ba1aacb9b1c5f4ef401d3bd3697a542b.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/phantom_camera/icons/phantom_camera_gizmo.svg" +dest_files=["res://.godot/imported/phantom_camera_gizmo.svg-ba1aacb9b1c5f4ef401d3bd3697a542b.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/phantom_camera/icons/phantom_camera_glow_logo.png b/addons/phantom_camera/icons/phantom_camera_glow_logo.png new file mode 100644 index 0000000..41ad8de Binary files /dev/null and b/addons/phantom_camera/icons/phantom_camera_glow_logo.png differ diff --git a/addons/phantom_camera/icons/phantom_camera_glow_logo.png.import b/addons/phantom_camera/icons/phantom_camera_glow_logo.png.import new file mode 100644 index 0000000..d68be86 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_glow_logo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjli3p2b8mfyh" +path="res://.godot/imported/phantom_camera_glow_logo.png-078f944973b55b32029ba02980211fe0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/phantom_camera_glow_logo.png" +dest_files=["res://.godot/imported/phantom_camera_glow_logo.png-078f944973b55b32029ba02980211fe0.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/addons/phantom_camera/icons/phantom_camera_host.svg b/addons/phantom_camera/icons/phantom_camera_host.svg new file mode 100644 index 0000000..4ff3ada --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_host.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/phantom_camera/icons/phantom_camera_host.svg.import b/addons/phantom_camera/icons/phantom_camera_host.svg.import new file mode 100644 index 0000000..430d67d --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_host.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5fatldiu7dd5" +path="res://.godot/imported/phantom_camera_host.svg-3150f8f2d82ca9ecab9a3a415da21c5b.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/phantom_camera_host.svg" +dest_files=["res://.godot/imported/phantom_camera_host.svg-3150f8f2d82ca9ecab9a3a415da21c5b.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=true diff --git a/addons/phantom_camera/icons/phantom_camera_logo.png b/addons/phantom_camera/icons/phantom_camera_logo.png new file mode 100644 index 0000000..bc43e56 Binary files /dev/null and b/addons/phantom_camera/icons/phantom_camera_logo.png differ diff --git a/addons/phantom_camera/icons/phantom_camera_logo.png.import b/addons/phantom_camera/icons/phantom_camera_logo.png.import new file mode 100644 index 0000000..6f51cf4 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_logo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cc0wmici0eic8" +path="res://.godot/imported/phantom_camera_logo.png-8b8d347b5e4800c86cd8095d030a3e5a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/phantom_camera_logo.png" +dest_files=["res://.godot/imported/phantom_camera_logo.png-8b8d347b5e4800c86cd8095d030a3e5a.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/addons/phantom_camera/icons/phantom_camera_tween.svg b/addons/phantom_camera/icons/phantom_camera_tween.svg new file mode 100644 index 0000000..6956fb5 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_tween.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/phantom_camera/icons/phantom_camera_tween.svg.import b/addons/phantom_camera/icons/phantom_camera_tween.svg.import new file mode 100644 index 0000000..3db67fb --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_tween.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dphl04mdf3220" +path="res://.godot/imported/phantom_camera_tween.svg-16faced08ef4a5f3458264d894230dbd.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/phantom_camera_tween.svg" +dest_files=["res://.godot/imported/phantom_camera_tween.svg-16faced08ef4a5f3458264d894230dbd.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=true diff --git a/addons/phantom_camera/icons/phantom_camera_updater_panel_icon.svg b/addons/phantom_camera/icons/phantom_camera_updater_panel_icon.svg new file mode 100644 index 0000000..6d3bcd4 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_updater_panel_icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/phantom_camera/icons/phantom_camera_updater_panel_icon.svg.import b/addons/phantom_camera/icons/phantom_camera_updater_panel_icon.svg.import new file mode 100644 index 0000000..c182784 --- /dev/null +++ b/addons/phantom_camera/icons/phantom_camera_updater_panel_icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4j4hrb7yusyq" +path="res://.godot/imported/phantom_camera_updater_panel_icon.svg-19823e6cbee8115f8b2554d0ee6e79db.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/phantom_camera_updater_panel_icon.svg" +dest_files=["res://.godot/imported/phantom_camera_updater_panel_icon.svg-19823e6cbee8115f8b2554d0ee6e79db.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/phantom_camera/icons/viewfinder/Camera2DIcon.svg b/addons/phantom_camera/icons/viewfinder/Camera2DIcon.svg new file mode 100644 index 0000000..59efad4 --- /dev/null +++ b/addons/phantom_camera/icons/viewfinder/Camera2DIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/phantom_camera/icons/viewfinder/Camera2DIcon.svg.import b/addons/phantom_camera/icons/viewfinder/Camera2DIcon.svg.import new file mode 100644 index 0000000..e8fb35d --- /dev/null +++ b/addons/phantom_camera/icons/viewfinder/Camera2DIcon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccnsrg8hq74p2" +path="res://.godot/imported/Camera2DIcon.svg-300e6f57281180711c5ecf391104d4ba.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/viewfinder/Camera2DIcon.svg" +dest_files=["res://.godot/imported/Camera2DIcon.svg-300e6f57281180711c5ecf391104d4ba.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/phantom_camera/icons/viewfinder/Camera3DIcon.svg b/addons/phantom_camera/icons/viewfinder/Camera3DIcon.svg new file mode 100644 index 0000000..2366c3f --- /dev/null +++ b/addons/phantom_camera/icons/viewfinder/Camera3DIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/addons/phantom_camera/icons/viewfinder/Camera3DIcon.svg.import b/addons/phantom_camera/icons/viewfinder/Camera3DIcon.svg.import new file mode 100644 index 0000000..79708e2 --- /dev/null +++ b/addons/phantom_camera/icons/viewfinder/Camera3DIcon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkiefpjsrj37n" +path="res://.godot/imported/Camera3DIcon.svg-4805c46004db1c89cc9443dd740693f5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/viewfinder/Camera3DIcon.svg" +dest_files=["res://.godot/imported/Camera3DIcon.svg-4805c46004db1c89cc9443dd740693f5.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/phantom_camera/icons/viewfinder/SceneTypesIcon.svg b/addons/phantom_camera/icons/viewfinder/SceneTypesIcon.svg new file mode 100644 index 0000000..87e3f79 --- /dev/null +++ b/addons/phantom_camera/icons/viewfinder/SceneTypesIcon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/phantom_camera/icons/viewfinder/SceneTypesIcon.svg.import b/addons/phantom_camera/icons/viewfinder/SceneTypesIcon.svg.import new file mode 100644 index 0000000..364c4ed --- /dev/null +++ b/addons/phantom_camera/icons/viewfinder/SceneTypesIcon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dk7omm0x44suj" +path="res://.godot/imported/SceneTypesIcon.svg-66e2255bd3398007bec03a5cbfa4d0aa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/phantom_camera/icons/viewfinder/SceneTypesIcon.svg" +dest_files=["res://.godot/imported/SceneTypesIcon.svg-66e2255bd3398007bec03a5cbfa4d0aa.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/phantom_camera/inspector/phantom_camera_inspector_plugin.gd b/addons/phantom_camera/inspector/phantom_camera_inspector_plugin.gd new file mode 100644 index 0000000..d5a0d22 --- /dev/null +++ b/addons/phantom_camera/inspector/phantom_camera_inspector_plugin.gd @@ -0,0 +1,46 @@ +@tool +extends EditorInspectorPlugin + +#var _phantom_camera_script: Script = preload("res://addons/phantom_camera/scripts/phantom_camera.gd") + + +# TODO - Enable again once work is resumed for inspector based tasks + +#func _can_handle(object) -> bool: +# return object is _phantom_camera_script + + +func _parse_category(object: Object, category: String) -> void: + + var _margin_container: MarginContainer = MarginContainer.new() + var _margin_v: float = 20 + _margin_container.add_theme_constant_override("margin_left", 10) + _margin_container.add_theme_constant_override("margin_top", _margin_v) + _margin_container.add_theme_constant_override("margin_right", 10) + _margin_container.add_theme_constant_override("margin_bottom", _margin_v) + add_custom_control(_margin_container) + + var _vbox_container: VBoxContainer = VBoxContainer.new() + _margin_container.add_child(_vbox_container) + + var align_with_view_button = Button.new() + align_with_view_button.connect("pressed", _align_camera_with_view.bind(object)) + align_with_view_button.set_custom_minimum_size(Vector2(0, 60)) + align_with_view_button.set_text("Align with view") + _vbox_container.add_child(align_with_view_button) + + var preview_camera_button = Button.new() + preview_camera_button.connect("pressed", _preview_camera.bind(object)) + preview_camera_button.set_custom_minimum_size(Vector2(0, 60)) + preview_camera_button.set_text("Preview Camera") + _vbox_container.add_child(preview_camera_button) + + + +func _align_camera_with_view(object: Object) -> void: + print("Aligning camera with view") + print(object) + +func _preview_camera(object: Object) -> void: + print("Previewing camera") + print(object) diff --git a/addons/phantom_camera/panel/editor.gd b/addons/phantom_camera/panel/editor.gd new file mode 100644 index 0000000..9f52b8f --- /dev/null +++ b/addons/phantom_camera/panel/editor.gd @@ -0,0 +1,11 @@ +@tool +extends VBoxContainer + +var editor_plugin: EditorPlugin + +@onready var updater: Control = %UpdateButton +@onready var viewfinder: Control = %ViewfinderPanel + + +func _ready(): + updater.editor_plugin = editor_plugin diff --git a/addons/phantom_camera/panel/editor.tscn b/addons/phantom_camera/panel/editor.tscn new file mode 100644 index 0000000..da1574c --- /dev/null +++ b/addons/phantom_camera/panel/editor.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=4 format=3 uid="uid://cfdoaceoosi1w"] + +[ext_resource type="Script" path="res://addons/phantom_camera/panel/editor.gd" id="1_86hp7"] +[ext_resource type="PackedScene" uid="uid://cuqkqsp3ikv5u" path="res://addons/phantom_camera/panel/updater/update_button.tscn" id="1_oowcd"] +[ext_resource type="PackedScene" uid="uid://dbkr3d716wtx0" path="res://addons/phantom_camera/panel/viewfinder/viewfinder_panel.tscn" id="2_xecnk"] + +[node name="EditorPanel" type="VBoxContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_86hp7") + +[node name="UpdateButton" parent="." instance=ExtResource("1_oowcd")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 8 +size_flags_vertical = 1 + +[node name="ViewfinderPanel" parent="." instance=ExtResource("2_xecnk")] +unique_name_in_owner = true +layout_mode = 2 diff --git a/addons/phantom_camera/panel/updater/download_update_panel.tscn b/addons/phantom_camera/panel/updater/download_update_panel.tscn new file mode 100644 index 0000000..240ed5f --- /dev/null +++ b/addons/phantom_camera/panel/updater/download_update_panel.tscn @@ -0,0 +1,253 @@ +[gd_scene load_steps=15 format=3 uid="uid://b25fl4usw0nlp"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/panel/updater/download_update_panel.gd" id="1_sx5xq"] +[ext_resource type="Texture2D" uid="uid://cc0wmici0eic8" path="res://addons/phantom_camera/icons/phantom_camera_logo.png" id="2_f3yo7"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="3_h8uk3"] +[ext_resource type="FontFile" uid="uid://dve7mgsjik4dg" path="res://addons/phantom_camera/fonts/Nunito-Regular.ttf" id="4_gwh4i"] +[ext_resource type="Texture2D" uid="uid://censw3w53gldn" path="res://addons/phantom_camera/assets/PhantomCameraBtnPrimaryDefault.png" id="5_bonti"] + +[sub_resource type="ImageTexture" id="ImageTexture_sjwi2"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_insma"] +bg_color = Color(0.0190018, 0.21903, 0.16997, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color(0.0980392, 0.572549, 0.458824, 1) +border_blend = true +corner_radius_bottom_right = 12 +corner_radius_bottom_left = 12 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8m63d"] +bg_color = Color(0.0784314, 0.109804, 0.129412, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color(0.105882, 0.619608, 0.498039, 1) +corner_radius_bottom_right = 12 +corner_radius_bottom_left = 12 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_yn22d"] +bg_color = Color(0.0117647, 0.164706, 0.12549, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color(0.0980392, 0.572549, 0.458824, 1) +border_blend = true +corner_radius_bottom_right = 12 +corner_radius_bottom_left = 12 + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_djsbc"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_xtrn6"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_o12j0"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_buptb"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_g3tf0"] + +[node name="DownloadUpdatePanel" type="Control"] +custom_minimum_size = Vector2(300, 350) +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_bottom = -61.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_sx5xq") + +[node name="DownloadHTTPRequest" type="HTTPRequest" parent="."] +unique_name_in_owner = true + +[node name="Timer" type="Timer" parent="DownloadHTTPRequest"] +one_shot = true + +[node name="VBox" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 2 + +[node name="VBoxContainer2" type="VBoxContainer" parent="VBox"] +layout_mode = 2 +theme_override_constants/separation = -20 + +[node name="MarginContainer" type="MarginContainer" parent="VBox/VBoxContainer2"] +layout_mode = 2 +theme_override_constants/margin_top = 12 + +[node name="Logo" type="TextureRect" parent="VBox/VBoxContainer2/MarginContainer"] +unique_name_in_owner = true +clip_contents = true +custom_minimum_size = Vector2(300, 160) +layout_mode = 2 +texture = ExtResource("2_f3yo7") +expand_mode = 3 +stretch_mode = 5 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBox/VBoxContainer2"] +layout_mode = 2 +theme_override_constants/separation = -5 + +[node name="NameLabel" type="Label" parent="VBox/VBoxContainer2/VBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.960784, 0.960784, 0.960784, 1) +theme_override_fonts/font = ExtResource("3_h8uk3") +theme_override_font_sizes/font_size = 32 +text = "Phantom Camera" +horizontal_alignment = 1 + +[node name="DownloadVersionLabel" type="Label" parent="VBox/VBoxContainer2/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_colors/font_color = Color(0.960784, 0.960784, 0.960784, 1) +theme_override_fonts/font = ExtResource("4_gwh4i") +theme_override_font_sizes/font_size = 18 +text = "v1.2.3 is available for download." +horizontal_alignment = 1 + +[node name="CurrentVersionLabel" type="Label" parent="VBox"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +theme_override_fonts/font = ExtResource("4_gwh4i") +text = "Current version: 0.0.0" +horizontal_alignment = 1 + +[node name="Center2" type="CenterContainer" parent="VBox"] +layout_mode = 2 + +[node name="NotesButton" type="LinkButton" parent="VBox/Center2"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.917647, 0.631373, 0.368627, 1) +theme_override_colors/font_hover_color = Color(0.721569, 0.454902, 0.192157, 1) +theme_override_fonts/font = ExtResource("3_h8uk3") +theme_override_font_sizes/font_size = 18 +text = "Release Notes" + +[node name="Center" type="CenterContainer" parent="VBox"] +layout_mode = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBox/Center"] +layout_mode = 2 + +[node name="BreakingLabel" type="Label" parent="VBox/Center/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +theme_override_colors/font_color = Color(0.72549, 0.227451, 0.34902, 1) +theme_override_fonts/font = ExtResource("3_h8uk3") +theme_override_font_sizes/font_size = 18 +text = "Potential Breaking Changes +in new release" +horizontal_alignment = 1 +uppercase = true + +[node name="BreakingMarginContainer" type="MarginContainer" parent="VBox/Center/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBox/Center/VBoxContainer/BreakingMarginContainer"] +layout_mode = 2 + +[node name="RichTextLabel2" type="RichTextLabel" parent="VBox/Center/VBoxContainer/BreakingMarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_fonts/normal_font = ExtResource("4_gwh4i") +theme_override_fonts/bold_font = ExtResource("3_h8uk3") +theme_override_fonts/mono_font = ExtResource("3_h8uk3") +theme_override_font_sizes/normal_font_size = 18 +theme_override_font_sizes/bold_font_size = 14 +theme_override_font_sizes/mono_font_size = 12 +bbcode_enabled = true +text = "[center][b]I am prepared for any breaking +changes that may occur from this update[/b][/center]" +fit_content = true + +[node name="BreakingOptionButton" type="OptionButton" parent="VBox/Center/VBoxContainer/BreakingMarginContainer/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme_override_fonts/font = ExtResource("3_h8uk3") +theme_override_font_sizes/font_size = 18 +theme_override_icons/arrow = SubResource("ImageTexture_sjwi2") +theme_override_styles/normal = SubResource("StyleBoxFlat_insma") +theme_override_styles/hover = SubResource("StyleBoxFlat_8m63d") +theme_override_styles/pressed = SubResource("StyleBoxFlat_yn22d") +alignment = 1 +item_count = 2 +selected = 0 +popup/item_0/text = "Confirm choice" +popup/item_0/id = 0 +popup/item_1/text = "Yes, I am prepared" +popup/item_1/id = 1 + +[node name="DownloadButton" type="Button" parent="VBox/Center/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(240, 90) +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme_override_styles/normal = SubResource("StyleBoxEmpty_djsbc") +theme_override_styles/hover = SubResource("StyleBoxEmpty_xtrn6") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_o12j0") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_buptb") +theme_override_styles/focus = SubResource("StyleBoxEmpty_g3tf0") + +[node name="DownloadButtonBG" type="NinePatchRect" parent="VBox/Center/VBoxContainer/DownloadButton"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("5_bonti") +patch_margin_left = 38 +patch_margin_top = 37 +patch_margin_right = 38 +patch_margin_bottom = 39 + +[node name="UpdateLabel" type="Label" parent="VBox/Center/VBoxContainer/DownloadButton"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 14 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_top = -14.5 +offset_bottom = 14.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.960784, 0.960784, 0.960784, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("3_h8uk3") +theme_override_font_sizes/font_size = 20 +text = "Update" +horizontal_alignment = 1 +uppercase = true + +[node name="MarginContainer" type="MarginContainer" parent="VBox"] +layout_mode = 2 +theme_override_constants/margin_top = 10 + +[node name="RichTextLabel" type="RichTextLabel" parent="VBox/MarginContainer"] +layout_mode = 2 +theme_override_fonts/normal_font = ExtResource("4_gwh4i") +theme_override_fonts/mono_font = ExtResource("3_h8uk3") +theme_override_font_sizes/normal_font_size = 12 +theme_override_font_sizes/mono_font_size = 12 +bbcode_enabled = true +text = "[center]The updater can be disabled within: +[code]Project Settings / Phantom Camera / Updater / Enable Updater[/code][/center]" +fit_content = true + +[connection signal="pressed" from="VBox/Center2/NotesButton" to="." method="_on_notes_button_pressed"] diff --git a/addons/phantom_camera/panel/updater/update_button.tscn b/addons/phantom_camera/panel/updater/update_button.tscn new file mode 100644 index 0000000..00c80de --- /dev/null +++ b/addons/phantom_camera/panel/updater/update_button.tscn @@ -0,0 +1,101 @@ +[gd_scene load_steps=10 format=3 uid="uid://cuqkqsp3ikv5u"] + +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="1_5e5k4"] +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/panel/updater/update_button.gd" id="1_xtaw5"] +[ext_resource type="Texture2D" uid="uid://d4j4hrb7yusyq" path="res://addons/phantom_camera/icons/phantom_camera_updater_panel_icon.svg" id="2_c4d83"] +[ext_resource type="PackedScene" uid="uid://b25fl4usw0nlp" path="res://addons/phantom_camera/panel/updater/download_update_panel.tscn" id="2_vtgcx"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_c7fd1"] +content_margin_left = 10.0 +content_margin_top = 4.0 +content_margin_right = 10.0 +content_margin_bottom = 4.0 +bg_color = Color(0.0980392, 0.415686, 0.341176, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color(0.227451, 0.72549, 0.603922, 1) +corner_radius_top_left = 20 +corner_radius_top_right = 20 +corner_radius_bottom_right = 20 +corner_radius_bottom_left = 20 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_y83dj"] +content_margin_left = 10.0 +content_margin_top = 4.0 +content_margin_right = 10.0 +content_margin_bottom = 4.0 +bg_color = Color(0.0784314, 0.109804, 0.129412, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color(0.960784, 0.960784, 0.960784, 1) +corner_radius_top_left = 20 +corner_radius_top_right = 20 +corner_radius_bottom_right = 20 +corner_radius_bottom_left = 20 + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_slf6e"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_lekqh"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dr4n4"] +content_margin_bottom = 20.0 +bg_color = Color(0.0784314, 0.109804, 0.129412, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color(0.227451, 0.72549, 0.603922, 1) + +[node name="UpdateButton" type="Button"] +visible = false +offset_left = 1.0 +offset_right = 149.0 +offset_bottom = 28.0 +size_flags_vertical = 3 +theme_override_colors/font_color = Color(0.960784, 0.960784, 0.960784, 1) +theme_override_colors/font_hover_color = Color(0.939288, 0.917743, 0.892615, 1) +theme_override_colors/icon_normal_color = Color(0.960784, 0.960784, 0.960784, 1) +theme_override_fonts/font = ExtResource("1_5e5k4") +theme_override_font_sizes/font_size = 14 +theme_override_styles/normal = SubResource("StyleBoxFlat_c7fd1") +theme_override_styles/hover = SubResource("StyleBoxFlat_y83dj") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_slf6e") +theme_override_styles/focus = SubResource("StyleBoxEmpty_lekqh") +text = "Update available" +icon = ExtResource("2_c4d83") +script = ExtResource("1_xtaw5") + +[node name="HTTPRequest" type="HTTPRequest" parent="."] +unique_name_in_owner = true + +[node name="DownloadDialog" type="AcceptDialog" parent="."] +unique_name_in_owner = true +transparent_bg = true +title = "New Update" +initial_position = 2 +size = Vector2i(450, 480) +transient = false +unresizable = true +borderless = true +keep_title_visible = false +content_scale_mode = 1 +theme_override_constants/buttons_separation = 30 +theme_override_styles/panel = SubResource("StyleBoxFlat_dr4n4") +ok_button_text = "Close" + +[node name="DownloadUpdatePanel" parent="DownloadDialog" instance=ExtResource("2_vtgcx")] +unique_name_in_owner = true +offset_left = 2.0 +offset_top = 2.0 +offset_right = -2.0 +offset_bottom = -80.0 + +[node name="NeedsReloadDialog" type="ConfirmationDialog" parent="."] +unique_name_in_owner = true + +[node name="UpdateFailedDialog" type="AcceptDialog" parent="."] +unique_name_in_owner = true diff --git a/addons/phantom_camera/panel/viewfinder/deadzone_style_box.tres b/addons/phantom_camera/panel/viewfinder/deadzone_style_box.tres new file mode 100644 index 0000000..7353299 --- /dev/null +++ b/addons/phantom_camera/panel/viewfinder/deadzone_style_box.tres @@ -0,0 +1,14 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://dpa7yvxlq043a"] + +[resource] +bg_color = Color(0.227451, 0.72549, 0.603922, 0.2) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color(0.227451, 0.72549, 0.603922, 1) +corner_detail = 1 +expand_margin_left = 1.0 +expand_margin_top = 1.0 +expand_margin_right = 1.0 +expand_margin_bottom = 1.0 diff --git a/addons/phantom_camera/panel/viewfinder/viewfinder_panel.tscn b/addons/phantom_camera/panel/viewfinder/viewfinder_panel.tscn new file mode 100644 index 0000000..5d26888 --- /dev/null +++ b/addons/phantom_camera/panel/viewfinder/viewfinder_panel.tscn @@ -0,0 +1,445 @@ +[gd_scene load_steps=22 format=3 uid="uid://dbkr3d716wtx0"] + +[ext_resource type="Script" path="res://addons/phantom_camera/scripts/panel/viewfinder/viewfinder.gd" id="1_utvi8"] +[ext_resource type="StyleBox" uid="uid://dpa7yvxlq043a" path="res://addons/phantom_camera/panel/viewfinder/deadzone_style_box.tres" id="2_uabt4"] +[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="3_li3i3"] +[ext_resource type="Texture2D" uid="uid://5fatldiu7dd5" path="res://addons/phantom_camera/icons/phantom_camera_host.svg" id="4_lcg1p"] +[ext_resource type="FontFile" uid="uid://dve7mgsjik4dg" path="res://addons/phantom_camera/fonts/Nunito-Regular.ttf" id="5_4jhax"] +[ext_resource type="Texture2D" uid="uid://dy8eifa6aw2en" path="res://addons/phantom_camera/icons/misc/PriorityOverride.svg" id="6_ptuth"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fle8t"] +bg_color = Color(0.227451, 0.72549, 0.603922, 0.2) +draw_center = false +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color(0.227451, 0.72549, 0.603922, 1) +corner_detail = 1 +expand_margin_left = 1.0 +expand_margin_top = 1.0 +expand_margin_right = 1.0 +expand_margin_bottom = 1.0 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_xmo1t"] +draw_center = false +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.745098, 0.858824, 0.380392, 1) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_q7vs4"] +bg_color = Color(0.929412, 0.87451, 0.619608, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0, 0, 0, 1) +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_iho1a"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_obaj6"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fsxik"] +content_margin_left = 10.0 +content_margin_top = 10.0 +content_margin_right = 10.0 +content_margin_bottom = 10.0 +bg_color = Color(0.129412, 0.407843, 0.337255, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.227451, 0.72549, 0.603922, 1) +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_yh38y"] +content_margin_left = 10.0 +content_margin_top = 10.0 +content_margin_right = 10.0 +content_margin_bottom = 10.0 +bg_color = Color(0.129412, 0.407843, 0.337255, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.552941, 0.647059, 0.952941, 1) +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gci88"] +content_margin_left = 10.0 +content_margin_top = 10.0 +content_margin_right = 10.0 +content_margin_bottom = 10.0 +bg_color = Color(0.180392, 0.576471, 0.482353, 1) +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_4b76l"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_g5wua"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_x4bx8"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_agqdu"] +bg_color = Color(0.72549, 0.227451, 0.34902, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_blend = true +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ja3vm"] +bg_color = Color(0.53, 0.1643, 0.255725, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_blend = true +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mk273"] +bg_color = Color(0.43, 0.1333, 0.207475, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_blend = true +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_840sd"] + +[node name="ViewfinderPanel" type="Control"] +clip_contents = true +custom_minimum_size = Vector2(0, 300) +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +mouse_filter = 2 +script = ExtResource("1_utvi8") + +[node name="FramedViewfinder" type="Control" parent="."] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +metadata/_edit_lock_ = true + +[node name="SubViewportContainer" type="SubViewportContainer" parent="FramedViewfinder"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +stretch = true + +[node name="SubViewport" type="SubViewport" parent="FramedViewfinder/SubViewportContainer"] +unique_name_in_owner = true +handle_input_locally = false +gui_disable_input = true +size = Vector2i(1152, 648) +size_2d_override_stretch = true +render_target_update_mode = 4 + +[node name="Camera2D" type="Camera2D" parent="FramedViewfinder/SubViewportContainer/SubViewport"] +unique_name_in_owner = true +editor_draw_screen = false + +[node name="DeadZoneHBoxContainer" type="HBoxContainer" parent="FramedViewfinder"] +unique_name_in_owner = true +clip_contents = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 0 + +[node name="DeadZoneLeftHBoxContainer" type="VBoxContainer" parent="FramedViewfinder/DeadZoneHBoxContainer"] +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_constants/separation = 0 + +[node name="DeadZoneLeftTopPanel" type="Panel" parent="FramedViewfinder/DeadZoneHBoxContainer/DeadZoneLeftHBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_styles/panel = ExtResource("2_uabt4") + +[node name="DeadZoneLeftCenterPanel" type="Panel" parent="FramedViewfinder/DeadZoneHBoxContainer/DeadZoneLeftHBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_styles/panel = ExtResource("2_uabt4") + +[node name="DeadZoneLeftBottomPanel" type="Panel" parent="FramedViewfinder/DeadZoneHBoxContainer/DeadZoneLeftHBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_styles/panel = ExtResource("2_uabt4") + +[node name="DeadZoneCenterHBoxContainer" type="VBoxContainer" parent="FramedViewfinder/DeadZoneHBoxContainer"] +unique_name_in_owner = true +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_constants/separation = 0 + +[node name="DeadZoneCenterTopPanel" type="Panel" parent="FramedViewfinder/DeadZoneHBoxContainer/DeadZoneCenterHBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_styles/panel = ExtResource("2_uabt4") + +[node name="DeadZoneCenterCenterPanel" type="Panel" parent="FramedViewfinder/DeadZoneHBoxContainer/DeadZoneCenterHBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 4 +theme_override_styles/panel = SubResource("StyleBoxFlat_fle8t") + +[node name="DeadZoneCenterBottomPanel" type="Panel" parent="FramedViewfinder/DeadZoneHBoxContainer/DeadZoneCenterHBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_styles/panel = ExtResource("2_uabt4") + +[node name="DeadZoneRightHBoxContainer" type="VBoxContainer" parent="FramedViewfinder/DeadZoneHBoxContainer"] +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_constants/separation = 0 + +[node name="DeadZoneRightTopPanel" type="Panel" parent="FramedViewfinder/DeadZoneHBoxContainer/DeadZoneRightHBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_styles/panel = ExtResource("2_uabt4") + +[node name="DeadZoneRightCenterPanel" type="Panel" parent="FramedViewfinder/DeadZoneHBoxContainer/DeadZoneRightHBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_styles/panel = ExtResource("2_uabt4") + +[node name="DeadZoneRightBottomPanel" type="Panel" parent="FramedViewfinder/DeadZoneHBoxContainer/DeadZoneRightHBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_styles/panel = ExtResource("2_uabt4") + +[node name="AspectRatioContainer" type="AspectRatioContainer" parent="FramedViewfinder"] +unique_name_in_owner = true +clip_contents = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +ratio = 1.77778 + +[node name="CameraViewportPanel" type="Panel" parent="FramedViewfinder/AspectRatioContainer"] +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_xmo1t") + +[node name="TargetPoint" type="Panel" parent="FramedViewfinder/AspectRatioContainer/CameraViewportPanel"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -3.0 +offset_top = -3.0 +offset_right = 3.0 +offset_bottom = 3.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_q7vs4") + +[node name="NoSupportMsg" type="Label" parent="."] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -8.0 +offset_bottom = -8.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_fonts/font = ExtResource("3_li3i3") +theme_override_font_sizes/font_size = 24 +theme_override_styles/normal = SubResource("StyleBoxEmpty_iho1a") +text = "Control scenes are not supported" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="EmptyStateControl" type="Control" parent="."] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="BGColorRect" type="ColorRect" parent="EmptyStateControl"] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0, 0, 0, 1) +metadata/_edit_lock_ = true + +[node name="VBoxContainer" type="VBoxContainer" parent="EmptyStateControl"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -200.0 +offset_top = -112.0 +offset_right = 200.0 +offset_bottom = 112.0 +grow_horizontal = 2 +grow_vertical = 2 +alignment = 1 + +[node name="EmptyStateIcon" type="TextureRect" parent="EmptyStateControl/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +texture = ExtResource("4_lcg1p") +expand_mode = 1 +stretch_mode = 5 + +[node name="EmptyStateText" type="RichTextLabel" parent="EmptyStateControl/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_colors/default_color = Color(1, 1, 1, 1) +theme_override_fonts/normal_font = ExtResource("5_4jhax") +theme_override_fonts/bold_font = ExtResource("3_li3i3") +theme_override_font_sizes/normal_font_size = 24 +theme_override_font_sizes/bold_font_size = 24 +theme_override_styles/focus = SubResource("StyleBoxEmpty_obaj6") +theme_override_styles/normal = SubResource("StyleBoxEmpty_iho1a") +bbcode_enabled = true +text = "[center][b]NodeType[/b] Description [/center]" +fit_content = true + +[node name="AddNodeButton" type="Button" parent="EmptyStateControl/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(400, 54) +layout_mode = 2 +size_flags_horizontal = 4 +focus_mode = 0 +theme_override_colors/font_color = Color(1, 1, 1, 1) +theme_override_fonts/font = ExtResource("3_li3i3") +theme_override_font_sizes/font_size = 24 +theme_override_styles/normal = SubResource("StyleBoxFlat_fsxik") +theme_override_styles/hover = SubResource("StyleBoxFlat_yh38y") +theme_override_styles/pressed = SubResource("StyleBoxFlat_gci88") +theme_override_styles/focus = SubResource("StyleBoxEmpty_4b76l") + +[node name="AddNodeTypeText" type="RichTextLabel" parent="EmptyStateControl/VBoxContainer/AddNodeButton"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 9.0 +offset_bottom = -11.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +theme_override_colors/default_color = Color(1, 1, 1, 1) +theme_override_fonts/normal_font = ExtResource("5_4jhax") +theme_override_fonts/bold_font = ExtResource("3_li3i3") +theme_override_font_sizes/normal_font_size = 24 +theme_override_font_sizes/bold_font_size = 24 +theme_override_styles/focus = SubResource("StyleBoxEmpty_g5wua") +theme_override_styles/normal = SubResource("StyleBoxEmpty_x4bx8") +bbcode_enabled = true +text = "[center]Add [img=32]res://addons/phantom_camera/icons/viewfinder/Camera3DIcon.svg[/img] [b]{NodeType}[/b][/center]" +scroll_active = false + +[node name="PriorityOverrideButton" type="Button" parent="."] +unique_name_in_owner = true +visible = false +layout_mode = 1 +offset_left = 5.0 +offset_top = 5.0 +offset_right = 165.0 +offset_bottom = 57.0 +mouse_default_cursor_shape = 2 +theme_override_styles/normal = SubResource("StyleBoxFlat_agqdu") +theme_override_styles/hover = SubResource("StyleBoxFlat_ja3vm") +theme_override_styles/pressed = SubResource("StyleBoxFlat_mk273") +theme_override_styles/focus = SubResource("StyleBoxEmpty_840sd") + +[node name="PriorityOverrideIcon" type="TextureRect" parent="PriorityOverrideButton"] +layout_mode = 1 +offset_left = 8.0 +offset_top = 4.0 +offset_right = 32.0 +offset_bottom = 28.0 +texture = ExtResource("6_ptuth") +expand_mode = 1 + +[node name="PriorityOverrideByLabel" type="Label" parent="PriorityOverrideButton"] +layout_mode = 0 +offset_left = 30.0 +offset_top = 1.0 +offset_right = 140.0 +offset_bottom = 24.0 +theme_override_fonts/font = ExtResource("3_li3i3") +theme_override_font_sizes/font_size = 14 +text = "OVERRIDDEN BY" +vertical_alignment = 1 + +[node name="PriorityOverrideNameLabel" type="Label" parent="PriorityOverrideButton"] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 6.0 +offset_top = 21.0 +offset_right = 153.0 +offset_bottom = 44.0 +theme_override_fonts/font = ExtResource("5_4jhax") +theme_override_font_sizes/font_size = 14 +text = "PCam_Name +" +vertical_alignment = 1 +text_overrun_behavior = 3 diff --git a/addons/phantom_camera/plugin.cfg b/addons/phantom_camera/plugin.cfg new file mode 100644 index 0000000..a443f15 --- /dev/null +++ b/addons/phantom_camera/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Phantom Camera" +description="Control the movement and dynamically tween 2D & 3D cameras positions. Built for Godot 4. Inspired by Cinemachine." +author="Marcus Skov" +version="0.7.2" +script="plugin.gd" diff --git a/addons/phantom_camera/plugin.gd b/addons/phantom_camera/plugin.gd new file mode 100644 index 0000000..3f58e98 --- /dev/null +++ b/addons/phantom_camera/plugin.gd @@ -0,0 +1,123 @@ +@tool +extends EditorPlugin + +#region Constants + +const PCAM_HOST: String = "PhantomCameraHost" +const PCAM_2D: String = "PhantomCamera2D" +const PCAM_3D: String = "PhantomCamera3D" + +const Pcam3DPlugin = preload("res://addons/phantom_camera/gizmos/phantom_camera_gizmo_plugin_3d.gd") + +const EditorPanel = preload("res://addons/phantom_camera/panel/editor.tscn") + +const updater_constants := preload("res://addons/phantom_camera/scripts/panel/updater/updater_constants.gd") + +const PHANTOM_CAMERA_MANAGER: StringName = "PhantomCameraManager" + +#endregion + + +#region Variables + +var pcam_3D_gizmo_plugin = Pcam3DPlugin.new() + +var editor_panel_instance: Control +var panel_button: Button +#var viewfinder_panel_instance + +#endregion + + +#region Private Functions + +func _enter_tree() -> void: + # Phantom Camera Nodes + add_custom_type(PCAM_2D, "Node2D", preload("res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd"), preload("res://addons/phantom_camera/icons/phantom_camera_2d.svg")) + add_custom_type(PCAM_3D, "Node3D", preload("res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd"), preload("res://addons/phantom_camera/icons/phantom_camera_2d.svg")) + add_custom_type(PCAM_HOST, "Node", preload("res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd"), preload("res://addons/phantom_camera/icons/phantom_camera_2d.svg")) + + add_autoload_singleton(PHANTOM_CAMERA_MANAGER, "res://addons/phantom_camera/scripts/managers/phantom_camera_manager.gd") + + # Phantom Camera 3D Gizmo + add_node_3d_gizmo_plugin(pcam_3D_gizmo_plugin) + + # TODO - Should be disabled unless in editor + # Viewfinder + editor_panel_instance = EditorPanel.instantiate() + editor_panel_instance.editor_plugin = self + panel_button = add_control_to_bottom_panel(editor_panel_instance, "Phantom Camera") + + # Trigger events in the viewfinder whenever + panel_button.toggled.connect(_btn_toggled) + + scene_changed.connect(editor_panel_instance.viewfinder.scene_changed) + + scene_changed.connect(_scene_changed) + + ## Sets Updater Disabling option for non-forked projects + if not FileAccess.file_exists("res://dev_scenes/3d/dev_scene_3d.tscn"): + if not ProjectSettings.has_setting(updater_constants.setting_updater_enabled): + ProjectSettings.set_setting(updater_constants.setting_updater_enabled, true) + ProjectSettings.set_initial_value(updater_constants.setting_updater_enabled, true) + + ## Adds Release console log disabler + if not ProjectSettings.has_setting(updater_constants.setting_updater_notify_release): + ProjectSettings.set_setting(updater_constants.setting_updater_notify_release, true) + ProjectSettings.set_initial_value(updater_constants.setting_updater_notify_release, true) + + ## Enables or disable + if not ProjectSettings.has_setting("phantom_camera/tips/show_jitter_tips"): + ProjectSettings.set_setting("phantom_camera/tips/show_jitter_tips", true) + ProjectSettings.set_initial_value("phantom_camera/tips/show_jitter_tips", true) + + +func _btn_toggled(toggled_on: bool): + if toggled_on: + editor_panel_instance.viewfinder.viewfinder_visible = true + editor_panel_instance.viewfinder.visibility_check() + else: + editor_panel_instance.viewfinder.viewfinder_visible = false + + +func _exit_tree() -> void: + remove_custom_type(PCAM_2D) + remove_custom_type(PCAM_3D) + remove_custom_type(PCAM_HOST) + + remove_node_3d_gizmo_plugin(pcam_3D_gizmo_plugin) + + remove_control_from_bottom_panel(editor_panel_instance) + editor_panel_instance.queue_free() +# if framed_viewfinder_panel_instance: + scene_changed.disconnect(_scene_changed) + + remove_autoload_singleton(PHANTOM_CAMERA_MANAGER) + + panel_button.toggled.disconnect(_btn_toggled) + scene_changed.disconnect(editor_panel_instance.viewfinder.scene_changed) + scene_changed.disconnect(_scene_changed) + +#func _has_main_screen(): +# return true; + + +func _make_visible(visible): + if editor_panel_instance: + editor_panel_instance.set_visible(visible) + + +func _scene_changed(scene_root: Node) -> void: + editor_panel_instance.viewfinder.scene_changed(scene_root) + +#endregion + + +#region Public Functions + +func get_version() -> String: + var config: ConfigFile = ConfigFile.new() + config.load(get_script().resource_path.get_base_dir() + "/plugin.cfg") + return config.get_value("plugin", "version") + +#endregion diff --git a/addons/phantom_camera/scripts/managers/phantom_camera_manager.gd b/addons/phantom_camera/scripts/managers/phantom_camera_manager.gd new file mode 100644 index 0000000..8a53e05 --- /dev/null +++ b/addons/phantom_camera/scripts/managers/phantom_camera_manager.gd @@ -0,0 +1,72 @@ +@tool +extends Node + +const PHANTOM_CAMERA_CONSTS = preload("res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_constants.gd") + +var phantom_camera_hosts: Array[PhantomCameraHost]: + get: + return _phantom_camera_host_list +var _phantom_camera_host_list: Array[PhantomCameraHost] + +var phantom_camera_2ds: Array[PhantomCamera2D]: + get: + return _phantom_camera_2d_list +var _phantom_camera_2d_list: Array[PhantomCamera2D] + +var phantom_camera_3ds: Array: ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. + get: + return _phantom_camera_3d_list +var _phantom_camera_3d_list: Array ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. + + +func _enter_tree(): + Engine.physics_jitter_fix = 0 + + +func pcam_host_added(caller: Node) -> void: + if is_instance_of(caller, PhantomCameraHost): + _phantom_camera_host_list.append(caller) + else: + printerr("This method can only be called from a PhantomCameraHost node") + +func pcam_host_removed(caller: Node) -> void: + if is_instance_of(caller, PhantomCameraHost): + _phantom_camera_host_list.erase(caller) + else: + printerr("This method can only be called from a PhantomCameraHost node") + + +func pcam_added(caller, host_slot: int = 0) -> void: + if is_instance_of(caller, PhantomCamera2D): + _phantom_camera_2d_list.append(caller) + #print("Added PCam2D to PCamManager") + elif caller.is_class("PhantomCamera3D"): ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. + _phantom_camera_3d_list.append(caller) + #print("Added PCam3D to PCamManager") + + if not _phantom_camera_host_list.is_empty(): + _phantom_camera_host_list[host_slot].pcam_added_to_scene(caller) + +func pcam_removed(caller) -> void: + if is_instance_of(caller, PhantomCamera2D): + _phantom_camera_2d_list.erase(caller) + elif caller.is_class("PhantomCamera3D"): ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. + _phantom_camera_3d_list.erase(caller) + else: + printerr("This method can only be called from a PhantomCamera node") + + +func get_phantom_camera_hosts() -> Array[PhantomCameraHost]: + return _phantom_camera_host_list + +func get_phantom_camera_2ds() -> Array[PhantomCamera2D]: + return _phantom_camera_2d_list + +func get_phantom_camera_3ds() -> Array: ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. + return _phantom_camera_3d_list + + +func scene_changed() -> void: + _phantom_camera_2d_list.clear() + _phantom_camera_3d_list.clear() + _phantom_camera_host_list.clear() diff --git a/addons/phantom_camera/scripts/panel/updater/download_update_panel.gd b/addons/phantom_camera/scripts/panel/updater/download_update_panel.gd new file mode 100644 index 0000000..b19beb9 --- /dev/null +++ b/addons/phantom_camera/scripts/panel/updater/download_update_panel.gd @@ -0,0 +1,162 @@ +####################################################################### +# Credit goes to the Dialogue Manager plugin for this script +# Check it out at: https://github.com/nathanhoad/godot_dialogue_manager +####################################################################### + +@tool +extends Control + +#region Constants + +const TEMP_FILE_NAME = "user://temp.zip" + +#endregion + + +#region Signals + +signal failed() +signal updated(updated_to_version: String) + +#endregion + + +#region @onready + +#@onready var logo: TextureRect = %Logo +@onready var _download_verion: Label = %DownloadVersionLabel +@onready var _download_http_request: HTTPRequest = %DownloadHTTPRequest +@onready var _download_button: Button = %DownloadButton +@onready var _download_button_bg: NinePatchRect = %DownloadButtonBG +@onready var _download_label: Label = %UpdateLabel + +@onready var _breaking_label: Label = %BreakingLabel +@onready var _breaking_margin_container: MarginContainer = %BreakingMarginContainer +@onready var _breaking_options_button: OptionButton = %BreakingOptionButton +#@onready var current_version_label: Label = %CurrentVersionLabel + +#endregion + + +#region Variables + +# Todo - For 4.2 upgrade - Shows current version +var _download_dialogue: AcceptDialog +var _button_texture_default: Texture2D = load("res://addons/phantom_camera/assets/PhantomCameraBtnPrimaryDefault.png") +var _button_texture_hover: Texture2D = load("res://addons/phantom_camera/assets/PhantomCameraBtnPrimaryHover.png") + +var next_version_release: Dictionary: + set(value): + next_version_release = value + _download_verion.text = "%s update is available for download" % value.tag_name.substr(1) + # Todo - For 4.2 upgrade + #current_version_label.text = "Current version is " + editor_plugin.get_version() + get: + return next_version_release + +var _breaking_window_height: float = 520 +var _breaking_window_height_update: float = 600 + +#endregion + + +#region Private Functions + +func _ready() -> void: + _download_http_request.request_completed.connect(_on_http_request_request_completed) + _download_button.pressed.connect(_on_download_button_pressed) + _download_button.mouse_entered.connect(_on_mouse_entered) + _download_button.mouse_exited.connect(_on_mouse_exited) + + _breaking_label.hide() + _breaking_margin_container.hide() + _breaking_options_button.hide() + + _breaking_options_button.item_selected.connect(_on_item_selected) + + +func _on_item_selected(index: int) -> void: + if index == 1: + _download_button.show() + _download_dialogue.size = Vector2(_download_dialogue.size.x, _breaking_window_height_update) + else: + _download_button.hide() + _download_dialogue.size = Vector2(_download_dialogue.size.x, _breaking_window_height) + + +func _on_download_button_pressed() -> void: + _download_http_request.request(next_version_release.zipball_url) + _download_button.disabled = true + _download_label.text = "Downloading..." + _download_button_bg.hide() + + +func _on_mouse_entered() -> void: + _download_button_bg.set_texture(_button_texture_hover) + + +func _on_mouse_exited() -> void: + _download_button_bg.set_texture(_button_texture_default) + + +func _on_http_request_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void: + if result != HTTPRequest.RESULT_SUCCESS: + failed.emit() + return + + # Save the downloaded zip + var zip_file: FileAccess = FileAccess.open(TEMP_FILE_NAME, FileAccess.WRITE) + zip_file.store_buffer(body) + zip_file.close() + + OS.move_to_trash(ProjectSettings.globalize_path("res://addons/phantom_camera")) + + var zip_reader: ZIPReader = ZIPReader.new() + zip_reader.open(TEMP_FILE_NAME) + var files: PackedStringArray = zip_reader.get_files() + + var base_path = files[1] + # Remove archive folder + files.remove_at(0) + # Remove assets folder + files.remove_at(0) + + for path in files: + var new_file_path: String = path.replace(base_path, "") + if path.ends_with("/"): + DirAccess.make_dir_recursive_absolute("res://addons/%s" % new_file_path) + else: + var file: FileAccess = FileAccess.open("res://addons/%s" % new_file_path, FileAccess.WRITE) + file.store_buffer(zip_reader.read_file(path)) + + zip_reader.close() + DirAccess.remove_absolute(TEMP_FILE_NAME) + + updated.emit(next_version_release.tag_name.substr(1)) + + +func _on_notes_button_pressed() -> void: + OS.shell_open(next_version_release.html_url) + +#endregion + +#region Public Functions + +func show_updater_warning(next_version_number: Array, current_version_number: Array) -> void: + var current_version_number_0: int = current_version_number[0] as int + var current_version_number_1: int = current_version_number[1] as int + + var next_version_number_0: int = next_version_number[0] as int # Major release number in the new release + var next_version_number_1: int = next_version_number[1] as int # Minor release number in the new release + + if next_version_number_0 > current_version_number_0 or \ + next_version_number_1 > current_version_number_1: + _breaking_label.show() + _breaking_margin_container.show() + _breaking_options_button.show() + _download_button.hide() + + _download_dialogue = get_parent() + _download_dialogue.size = Vector2(_download_dialogue.size.x, _breaking_window_height) + +#endregion diff --git a/addons/phantom_camera/scripts/panel/updater/update_button.gd b/addons/phantom_camera/scripts/panel/updater/update_button.gd new file mode 100644 index 0000000..965e394 --- /dev/null +++ b/addons/phantom_camera/scripts/panel/updater/update_button.gd @@ -0,0 +1,175 @@ +####################################################################### +# Credit goes to the Dialogue Manager plugin for this script +# Check it out at: https://github.com/nathanhoad/godot_dialogue_manager +####################################################################### + +@tool +extends Button + +#region Constants + +const REMOTE_RELEASE_URL: StringName = "https://api.github.com/repos/ramokz/phantom-camera/releases" +const UPDATER_CONSTANTS := preload("res://addons/phantom_camera/scripts/panel/updater/updater_constants.gd") + +#endregion + + +#region @onready + +@onready var http_request: HTTPRequest = %HTTPRequest +@onready var download_dialog: AcceptDialog = %DownloadDialog +@onready var download_update_panel: Control = %DownloadUpdatePanel +@onready var needs_reload_dialog: AcceptDialog = %NeedsReloadDialog +@onready var update_failed_dialog: AcceptDialog = %UpdateFailedDialog + +#endregion + + +#region Variables + +# The main editor plugin +var editor_plugin: EditorPlugin + +var needs_reload: bool = false + +# A lambda that gets called just before refreshing the plugin. Return false to stop the reload. +var on_before_refresh: Callable = func(): return true + +#endregion + + +#region Private Functions + +func _ready() -> void: + hide() + + # Check for updates on GitHub Releases + check_for_update() + + pressed.connect(_on_update_button_pressed) + http_request.request_completed.connect(_request_request_completed) + download_update_panel.updated.connect(_on_download_update_panel_updated) + needs_reload_dialog.confirmed.connect(_on_needs_reload_dialog_confirmed) + + +func _request_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void: + if result != HTTPRequest.RESULT_SUCCESS: return + + if not editor_plugin: return + var current_version: String = editor_plugin.get_version() + + # Work out the next version from the releases information on GitHub + var response: Array = JSON.parse_string(body.get_string_from_utf8()) + if typeof(response) != TYPE_ARRAY: return + + # GitHub releases are in order of creation, not order of version + var versions: Array = response.filter(func(release): + var version: String = release.tag_name.substr(1) + return version_to_number(version) > version_to_number(current_version) + ) + + if versions.size() > 0: + # Safeguard forks from being updated itself + if FileAccess.file_exists("res://dev_scenes/3d/dev_scene_3d.tscn") or \ + not ProjectSettings.get_setting(UPDATER_CONSTANTS.setting_updater_enabled): + + if not ProjectSettings.get_setting(UPDATER_CONSTANTS.setting_updater_notify_release): return + + print_rich(" +[color=#3AB99A] ********[/color] +[color=#3AB99A] ************[/color] +[color=#3AB99A]**************[/color] +[color=#3AB99A]****** *** *[/color] +[color=#3AB99A]****** ***[/color] +[color=#3AB99A]********** *****[/color] +[color=#3AB99A]******** ***********[/color] +[color=#3AB99A]******** *********** **[/color] +[color=#3AB99A]********* **************[/color] +[color=#3AB99A]********** *************[/color] +[color=#3AB99A]** ** ** ******* **[/color] +[font_size=18][b]New Phantom Camera version is available[/b][/font_size]") + + if FileAccess.file_exists("res://dev_scenes/3d/dev_scene_3d.tscn"): + print_rich("[font_size=14][color=#EAA15E][b]As you're using a fork of the project, you will need to update it manually[/b][/color][/font_size]") + + print_rich("[font_size=12]If you don't want to see this message, then it can be disabled inside:\n[code]Project Settings/Phantom Camera/Updater/Show New Release Info on Editor Launch in Output[/code]") + + return + + download_update_panel.next_version_release = versions[0] + download_update_panel.show_updater_warning( + versions[0].tag_name.substr(1).split("."), + current_version.split(".") + ) + _set_scale() + editor_plugin.panel_button.add_theme_color_override("font_color", Color("#3AB99A")) + editor_plugin.panel_button.icon = load("res://addons/phantom_camera/icons/phantom_camera_updater_panel_icon.svg") + editor_plugin.panel_button.add_theme_color_override("icon_normal_color", Color("#3AB99A")) + show() + + +func _on_update_button_pressed() -> void: + if needs_reload: + var will_refresh = on_before_refresh.call() + if will_refresh: + EditorInterface.restart_editor(true) + else: + _set_scale() + download_dialog.popup_centered() + + +func _set_scale() -> void: + var scale: float = EditorInterface.get_editor_scale() + download_dialog.min_size = Vector2(300, 250) * scale + + +func _on_download_dialog_close_requested() -> void: + download_dialog.hide() + + +func _on_download_update_panel_updated(updated_to_version: String) -> void: + download_dialog.hide() + + needs_reload_dialog.dialog_text = "Reload to finish update" + needs_reload_dialog.ok_button_text = "Reload" + needs_reload_dialog.cancel_button_text = "Cancel" + needs_reload_dialog.popup_centered() + + needs_reload = true + text = "Reload Project" + + +func _on_download_update_panel_failed() -> void: + download_dialog.hide() + update_failed_dialog.dialog_text = "Updated Failed" + update_failed_dialog.popup_centered() + + +func _on_needs_reload_dialog_confirmed() -> void: + EditorInterface.restart_editor(true) + + +func _on_timer_timeout() -> void: + if not needs_reload: + check_for_update() + +#endregion + + +#region Public Functions + +# Convert a version number to an actually comparable number +func version_to_number(version: String) -> int: + var bits = version.split(".") + var version_bit: int + var multiplier: int = 10000 + for i in bits.size(): + version_bit += bits[i].to_int() * multiplier / (10 ** (i)) + + return version_bit + + +func check_for_update() -> void: + http_request.request(REMOTE_RELEASE_URL) + +#endregion diff --git a/addons/phantom_camera/scripts/panel/updater/updater_constants.gd b/addons/phantom_camera/scripts/panel/updater/updater_constants.gd new file mode 100644 index 0000000..2cd69cb --- /dev/null +++ b/addons/phantom_camera/scripts/panel/updater/updater_constants.gd @@ -0,0 +1,9 @@ +extends RefCounted + +# Plugin Project Settings Sections +const setting_phantom_camera: StringName = "phantom_camera/" +const setting_updater_name: StringName = setting_phantom_camera + "updater/" + +# Updater Settings +const setting_updater_enabled: StringName = setting_updater_name + "enable_updater" +const setting_updater_notify_release: StringName = setting_updater_name + "show_new_release_info_on_editor_launch_in_output" diff --git a/addons/phantom_camera/scripts/panel/viewfinder/viewfinder.gd b/addons/phantom_camera/scripts/panel/viewfinder/viewfinder.gd new file mode 100644 index 0000000..27aedd0 --- /dev/null +++ b/addons/phantom_camera/scripts/panel/viewfinder/viewfinder.gd @@ -0,0 +1,468 @@ +@tool +extends Control + +#region Constants + +const Constants = preload("res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_constants.gd") + +# TODO - Should be in a central location +const _camera_2d_icon: CompressedTexture2D = preload("res://addons/phantom_camera/icons/viewfinder/Camera2DIcon.svg") +const _camera_3d_icon: CompressedTexture2D = preload("res://addons/phantom_camera/icons/viewfinder/Camera3DIcon.svg") +const _pcam_host_icon: CompressedTexture2D = preload("res://addons/phantom_camera/icons/phantom_camera_host.svg") +const _pcam_2D_icon: CompressedTexture2D = preload("res://addons/phantom_camera/icons/phantom_camera_2d.svg") +const _pcam_3D_icon: CompressedTexture2D = preload("res://addons/phantom_camera/icons/phantom_camera_3d.svg") + +const _overlay_color_alpha: float = 0.3 + +#endregion + +#region @onready + +@onready var dead_zone_center_hbox: VBoxContainer = %DeadZoneCenterHBoxContainer +@onready var dead_zone_center_center_panel: Panel = %DeadZoneCenterCenterPanel +@onready var dead_zone_left_center_panel: Panel = %DeadZoneLeftCenterPanel +@onready var dead_zone_right_center_panel: Panel = %DeadZoneRightCenterPanel +@onready var target_point: Panel = %TargetPoint + +@onready var aspect_ratio_container: AspectRatioContainer = %AspectRatioContainer +@onready var camera_viewport_panel: Panel = aspect_ratio_container.get_child(0) +@onready var _framed_viewfinder: Control = %FramedViewfinder +@onready var _dead_zone_h_box_container: Control = %DeadZoneHBoxContainer +@onready var sub_viewport: SubViewport = %SubViewport + +@onready var _empty_state_control: Control = %EmptyStateControl +@onready var _empty_state_icon: Control = %EmptyStateIcon +@onready var _empty_state_text: RichTextLabel = %EmptyStateText +@onready var _add_node_button: Button = %AddNodeButton +@onready var _add_node_button_text: RichTextLabel = %AddNodeTypeText + +@onready var _priority_override_button: Button = %PriorityOverrideButton +@onready var _priority_override_name_label: Label = %PriorityOverrideNameLabel + +@onready var _camera_2d: Camera2D = %Camera2D + +#endregion + +#region Private Variables +var _no_open_scene_icon: CompressedTexture2D = preload("res://addons/phantom_camera/icons/viewfinder/SceneTypesIcon.svg") +var _no_open_scene_string: String = "[b]2D[/b] or [b]3D[/b] scene open" + +var _selected_camera: Node +var _active_pcam: Node + +var _is_2d: bool + +var root_node: Node + +#endregion + +#region Public variables + +var pcam_host_group: Array[PhantomCameraHost] + +var is_scene: bool + +var viewfinder_visible: bool + +var min_horizontal: float +var max_horizontal: float +var min_vertical: float +var max_vertical: float + +var pcam_host: PhantomCameraHost + +#endregion + + +#region Private Functions + +func _ready() -> void: + if not Engine.is_editor_hint(): + set_process(true) + camera_viewport_panel.self_modulate.a = 0 + + root_node = get_tree().current_scene + + if root_node is Node2D || root_node is Node3D: + %SubViewportContainer.set_visible(false) + if root_node is Node2D: + _is_2d = true + else: + _is_2d = false + + _set_viewfinder(root_node, false) + + if Engine.is_editor_hint(): + # BUG - Both signals below are called whenever a noe is selected in the scenetree + # Should only be triggered whenever a node is added or removed. + get_tree().node_added.connect(_node_added_or_removed) + get_tree().node_removed.connect(_node_added_or_removed) + else: + _empty_state_control.set_visible(false) + + _priority_override_button.set_visible(false) + + # Triggered when viewport size is changed in Project Settings + ProjectSettings.settings_changed.connect(_settings_changed) + + +func _exit_tree() -> void: + if Engine.is_editor_hint(): + if get_tree().node_added.is_connected(_node_added_or_removed): + get_tree().node_added.disconnect(_node_added_or_removed) + get_tree().node_removed.disconnect(_node_added_or_removed) + + if aspect_ratio_container.resized.is_connected(_resized): + aspect_ratio_container.resized.disconnect(_resized) + + if _add_node_button.pressed.is_connected(visibility_check): + _add_node_button.pressed.disconnect(visibility_check) + + if is_instance_valid(_active_pcam): + if _active_pcam.dead_zone_changed.is_connected(_on_dead_zone_changed): + _active_pcam.dead_zone_changed.disconnect(_on_dead_zone_changed) + + if _priority_override_button.pressed.is_connected(_select_override_pcam): + _priority_override_button.pressed.disconnect(_select_override_pcam) + + +func _process(_delta: float) -> void: + if Engine.is_editor_hint() and not viewfinder_visible: return + if not is_instance_valid(_active_pcam): return + + var unprojected_position_clamped: Vector2 = Vector2( + clamp(_active_pcam.viewport_position.x, min_horizontal, max_horizontal), + clamp(_active_pcam.viewport_position.y, min_vertical, max_vertical) + ) + + if not Engine.is_editor_hint(): + target_point.position = camera_viewport_panel.size * unprojected_position_clamped - target_point.size / 2 + + if _is_2d: + if not is_instance_valid(pcam_host): return + if not is_instance_valid(pcam_host.camera_2d): return + + var window_size_height: float = ProjectSettings.get_setting("display/window/size/viewport_height") + sub_viewport.size_2d_override = sub_viewport.size * (window_size_height / sub_viewport.size.y) + + _camera_2d.global_transform = pcam_host.camera_2d.global_transform + _camera_2d.offset = pcam_host.camera_2d.offset + _camera_2d.zoom = pcam_host.camera_2d.zoom + _camera_2d.ignore_rotation = pcam_host.camera_2d.ignore_rotation + _camera_2d.anchor_mode = pcam_host.camera_2d.anchor_mode + _camera_2d.limit_left = pcam_host.camera_2d.limit_left + _camera_2d.limit_top = pcam_host.camera_2d.limit_top + _camera_2d.limit_right = pcam_host.camera_2d.limit_right + _camera_2d.limit_bottom = pcam_host.camera_2d.limit_bottom + + +func _settings_changed() -> void: + var viewport_width: float = ProjectSettings.get_setting("display/window/size/viewport_width") + var viewport_height: float = ProjectSettings.get_setting("display/window/size/viewport_height") + var ratio: float = viewport_width / viewport_height + aspect_ratio_container.set_ratio(ratio) + camera_viewport_panel.size.x = viewport_width / (viewport_height / sub_viewport.size.y) + # TODO - Add resizer for Framed Viewfinder + + +func _node_added_or_removed(_node: Node) -> void: + visibility_check() + + +func visibility_check() -> void: + if not viewfinder_visible: return + + var phantom_camera_host: PhantomCameraHost + var has_camera: bool = false + if not PhantomCameraManager.get_phantom_camera_hosts().is_empty(): + has_camera = true + phantom_camera_host = PhantomCameraManager.get_phantom_camera_hosts()[0] + + var root: Node = EditorInterface.get_edited_scene_root() + + if root is Node2D: + var camera_2d: Camera2D + + if has_camera: + camera_2d = phantom_camera_host.camera_2d + else: + camera_2d = _get_camera_2d() + + _is_2d = true + is_scene = true + _add_node_button.set_visible(true) + _check_camera(root, camera_2d, true) + elif root is Node3D: + var camera_3d: Camera3D + + if has_camera: + camera_3d = phantom_camera_host.camera_3d + else: + camera_3d = root.get_viewport().get_camera_3d() + + _is_2d = false + is_scene = true + _add_node_button.set_visible(true) + _check_camera(root, camera_3d, false) + else: + is_scene = false +# Is not a 2D or 3D scene + _set_empty_viewfinder_state(_no_open_scene_string, _no_open_scene_icon) + _add_node_button.set_visible(false) + + if not _priority_override_button.pressed.is_connected(_select_override_pcam): + _priority_override_button.pressed.connect(_select_override_pcam) + + +func _get_camera_2d() -> Camera2D: + var camerasGroupName = "__cameras_%d" % EditorInterface.get_edited_scene_root().get_viewport().get_viewport_rid().get_id() + var cameras = get_tree().get_nodes_in_group(camerasGroupName) + + for camera in cameras: + if camera is Camera2D and camera.is_current: + return camera + return null + + +func _check_camera(root: Node, camera: Node, is_2D: bool) -> void: + var camera_string: String + var pcam_string: String + var color: Color + var color_alpha: Color + var camera_icon: CompressedTexture2D + var pcam_icon: CompressedTexture2D + + if is_2D: + camera_string = Constants.CAMERA_2D_NODE_NAME + pcam_string = Constants.PCAM_2D_NODE_NAME + color = Constants.COLOR_2D + camera_icon = _camera_2d_icon + pcam_icon = _pcam_2D_icon + else: + camera_string = Constants.CAMERA_3D_NODE_NAME + pcam_string = Constants.PCAM_3D_NODE_NAME + color = Constants.COLOR_3D + camera_icon = _camera_3d_icon + pcam_icon = _pcam_3D_icon + + if camera: +# Has Camera + if camera.get_children().size() > 0: + for cam_child in camera.get_children(): + if cam_child is PhantomCameraHost: + pcam_host = cam_child + + if pcam_host: + if PhantomCameraManager.get_phantom_camera_2ds() or PhantomCameraManager.get_phantom_camera_3ds(): + # Pcam exists in tree + _set_viewfinder(root, true) +# if pcam_host.get_active_pcam().get_get_follow_mode(): +# _on_dead_zone_changed() + + _set_viewfinder_state() + + %NoSupportMsg.set_visible(false) + + else: +# No PCam in scene + _update_button(pcam_string, pcam_icon, color) + _set_empty_viewfinder_state(pcam_string, pcam_icon) + else: +# No PCamHost in scene + _update_button(Constants.PCAM_HOST_NODE_NAME, _pcam_host_icon, Constants.PCAM_HOST_COLOR) + _set_empty_viewfinder_state(Constants.PCAM_HOST_NODE_NAME, _pcam_host_icon) + else: +# No PCamHost in scene + _update_button(Constants.PCAM_HOST_NODE_NAME, _pcam_host_icon, Constants.PCAM_HOST_COLOR) + _set_empty_viewfinder_state(Constants.PCAM_HOST_NODE_NAME, _pcam_host_icon) + else: +# No Camera + _update_button(camera_string, camera_icon, color) + _set_empty_viewfinder_state(camera_string, camera_icon) + + +func _update_button(text: String, icon: CompressedTexture2D, color: Color) -> void: + _add_node_button_text.set_text("[center]Add [img=32]" + icon.resource_path + "[/img] [b]"+ text + "[/b][/center]"); + var button_theme_hover: StyleBoxFlat = _add_node_button.get_theme_stylebox("hover") + button_theme_hover.border_color = color + _add_node_button.add_theme_stylebox_override("hover", button_theme_hover) + + +func _set_viewfinder_state() -> void: + _empty_state_control.set_visible(false) + + _framed_viewfinder.set_visible(true) + + if is_instance_valid(_active_pcam): + if _active_pcam.get_follow_mode() == _active_pcam.FollowMode.FRAMED: + _dead_zone_h_box_container.set_visible(true) + target_point.set_visible(true) + else: + _dead_zone_h_box_container.set_visible(false) + target_point.set_visible(false) + + +func _set_empty_viewfinder_state(text: String, icon: CompressedTexture2D) -> void: + _framed_viewfinder.set_visible(false) + target_point.set_visible(false) + + _empty_state_control.set_visible(true) + _empty_state_icon.set_texture(icon) + if icon == _no_open_scene_icon: + _empty_state_text.set_text("[center]No " + text + "[/center]") + else: + _empty_state_text.set_text("[center]No [b]" + text + "[/b] in scene[/center]") + + if _add_node_button.pressed.is_connected(_add_node): + _add_node_button.pressed.disconnect(_add_node) + + _add_node_button.pressed.connect(_add_node.bind(text)) + + +func _add_node(node_type: String) -> void: + var root: Node = EditorInterface.get_edited_scene_root() + + match node_type: + _no_open_scene_string: + pass + Constants.CAMERA_2D_NODE_NAME: + var camera: Camera2D = Camera2D.new() + _instantiate_node(root, camera, Constants.CAMERA_2D_NODE_NAME) + Constants.CAMERA_3D_NODE_NAME: + var camera: Camera3D = Camera3D.new() + _instantiate_node(root, camera, Constants.CAMERA_3D_NODE_NAME) + Constants.PCAM_HOST_NODE_NAME: + var pcam_host: PhantomCameraHost = PhantomCameraHost.new() + pcam_host.set_name(Constants.PCAM_HOST_NODE_NAME) + if _is_2d: +# get_tree().get_edited_scene_root().get_viewport().get_camera_2d().add_child(pcam_host) + _get_camera_2d().add_child(pcam_host) + pcam_host.set_owner(get_tree().get_edited_scene_root()) + else: +# var pcam_3D := get_tree().get_edited_scene_root().get_viewport().get_camera_3d() + get_tree().get_edited_scene_root().get_viewport().get_camera_3d().add_child(pcam_host) + pcam_host.set_owner(get_tree().get_edited_scene_root()) + Constants.PCAM_2D_NODE_NAME: + var pcam_2D: PhantomCamera2D = PhantomCamera2D.new() + _instantiate_node(root, pcam_2D, Constants.PCAM_2D_NODE_NAME) + Constants.PCAM_3D_NODE_NAME: + var pcam_3D: PhantomCamera3D = PhantomCamera3D.new() + _instantiate_node(root, pcam_3D, Constants.PCAM_3D_NODE_NAME) + + +func _instantiate_node(root: Node, node: Node, name: String) -> void: + node.set_name(name) + root.add_child(node) + node.set_owner(get_tree().get_edited_scene_root()) + + +func _set_viewfinder(root: Node, editor: bool) -> void: + pcam_host_group = PhantomCameraManager.get_phantom_camera_hosts() + if pcam_host_group.size() != 0: + if pcam_host_group.size() == 1: + var pcam_host: PhantomCameraHost = pcam_host_group[0] + if _is_2d: + _selected_camera = pcam_host.camera_2d + _active_pcam = pcam_host.get_active_pcam() as PhantomCamera2D + if editor: + var camera_2d_rid: RID = _selected_camera.get_canvas() + sub_viewport.disable_3d = true + _camera_2d.zoom = pcam_host.camera_2d.zoom + _camera_2d.offset = pcam_host.camera_2d.offset + _camera_2d.ignore_rotation = pcam_host.camera_2d.ignore_rotation + + sub_viewport.world_2d = pcam_host.camera_2d.get_world_2d() + sub_viewport.render_target_update_mode = SubViewport.UPDATE_ALWAYS + sub_viewport.render_target_clear_mode = SubViewport.CLEAR_MODE_ALWAYS + sub_viewport.size_2d_override_stretch = true + else: + _selected_camera = pcam_host.camera_3d + _active_pcam = pcam_host.get_active_pcam() as PhantomCamera3D + if editor: + var camera_3d_rid: RID = _selected_camera.get_camera_rid() + sub_viewport.disable_3d = false + sub_viewport.world_3d = pcam_host.camera_3d.get_world_3d() + RenderingServer.viewport_attach_camera(sub_viewport.get_viewport_rid(), camera_3d_rid) + + if _selected_camera.keep_aspect == Camera3D.KeepAspect.KEEP_HEIGHT: + aspect_ratio_container.set_stretch_mode(AspectRatioContainer.STRETCH_HEIGHT_CONTROLS_WIDTH) + else: + aspect_ratio_container.set_stretch_mode(AspectRatioContainer.STRETCH_WIDTH_CONTROLS_HEIGHT) + + _on_dead_zone_changed() + set_process(true) + + if not pcam_host.update_editor_viewfinder.is_connected(_on_update_editor_viewfinder): + pcam_host.update_editor_viewfinder.connect(_on_update_editor_viewfinder.bind(pcam_host)) + + if not aspect_ratio_container.resized.is_connected(_resized): + aspect_ratio_container.resized.connect(_resized) + + if not _active_pcam.dead_zone_changed.is_connected(_on_dead_zone_changed): + _active_pcam.dead_zone_changed.connect(_on_dead_zone_changed) + + +func _resized() -> void: + _on_dead_zone_changed() + + +func _on_dead_zone_changed() -> void: + if not is_instance_valid(_active_pcam): return + if not _active_pcam.follow_mode == _active_pcam.FollowMode.FRAMED: return + + # Waits until the camera_viewport_panel has been resized when launching the game + if camera_viewport_panel.size.x == 0: + await camera_viewport_panel.resized + + #print(_active_pcam.get_pcam_host_owner()) + if is_instance_valid(_active_pcam.get_pcam_host_owner()): + pcam_host = _active_pcam.get_pcam_host_owner() + if not _active_pcam == pcam_host.get_active_pcam(): + _active_pcam == pcam_host.get_active_pcam() + print("Active pcam in viewfinder: ", _active_pcam) + + var dead_zone_width: float = _active_pcam.dead_zone_width * camera_viewport_panel.size.x + var dead_zone_height: float = _active_pcam.dead_zone_height * camera_viewport_panel.size.y + dead_zone_center_hbox.set_custom_minimum_size(Vector2(dead_zone_width, 0)) + dead_zone_center_center_panel.set_custom_minimum_size(Vector2(0, dead_zone_height)) + dead_zone_left_center_panel.set_custom_minimum_size(Vector2(0, dead_zone_height)) + dead_zone_right_center_panel.set_custom_minimum_size(Vector2(0, dead_zone_height)) + + min_horizontal = 0.5 - _active_pcam.dead_zone_width / 2 + max_horizontal = 0.5 + _active_pcam.dead_zone_width / 2 + min_vertical = 0.5 - _active_pcam.dead_zone_height / 2 + max_vertical = 0.5 + _active_pcam.dead_zone_height / 2 + + +#################### +## Priority Override +#################### +func _on_update_editor_viewfinder(pcam_host: PhantomCameraHost) -> void: + if pcam_host.get_active_pcam().priority_override: + _active_pcam = pcam_host.get_active_pcam() + _priority_override_button.set_visible(true) + _priority_override_name_label.set_text(_active_pcam.name) + _priority_override_button.set_tooltip_text(_active_pcam.name) + else: + _priority_override_button.set_visible(false) + +func _select_override_pcam() -> void: + EditorInterface.get_selection().clear() + EditorInterface.get_selection().add_node(_active_pcam) + +#endregion + + +#region Public Functions + +func update_dead_zone() -> void: + _set_viewfinder(root_node, true) + + +func scene_changed(scene_root: Node) -> void: + if not scene_root is Node2D and not scene_root is Node3D: + is_scene = false + _set_empty_viewfinder_state(_no_open_scene_string, _no_open_scene_icon) + _add_node_button.set_visible(false) + +#endregion diff --git a/addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd b/addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd new file mode 100644 index 0000000..4e3996e --- /dev/null +++ b/addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd @@ -0,0 +1,1300 @@ +@tool +@icon("res://addons/phantom_camera/icons/phantom_camera_2d.svg") +class_name PhantomCamera2D +extends Node2D + +## Controls a scene's [Camera2D] and applies logic to it. +## +## The scene's [param Camera2D] will follow the position of the +## [param PhantomCamera2D] with the highest priority. +## Each instance can have different positional and rotational logic applied +## to them. + +#region Constants + +const _constants := preload("res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_constants.gd") + +#endregion + + +#region Signals + +## Emitted when the [param PhantomCamera2D] becomes active. +signal became_active +## Emitted when the [param PhantomCamera2D] becomes inactive. +signal became_inactive + +## Emitted when [member follow_target] changes. +signal follow_target_changed + +## Emitted when dead zones changes.[br] +## [b]Note:[/b] Only applicable in [param Framed] [enum FollowMode]. +signal dead_zone_changed + +## Emitted when the [param Camera2D] starts to tween to another [param PhantomCamera2D]. +signal tween_started +## Emitted when the [param Camera2D] is to tweening towards another [param PhantomCamera2D]. +signal is_tweening +## Emitted when the tween is interrupted due to another [param PhantomCamera2D] +## becoming active. The argument is the [param PhantomCamera2D] that interrupted +## the tween. +signal tween_interrupted(pcam_2d: PhantomCamera2D) +## Emitted when the [param Camera2D] completes its tween to the +## [param PhantomCamera2D]. +signal tween_completed + +#endregion + +#region Enums + +## Determines the positional logic for a given [param PCamPhantomCamera2D] +## [br][br] +## The different modes have different functionalities and purposes, so choosing +## the correct one depends on what each [param PhantomCamera2D] is meant to do. +enum FollowMode { + NONE = 0, ## Default - No follow logic is applied. + GLUED = 1, ## Sticks to its target. + SIMPLE = 2, ## Follows its target with an optional offset. + GROUP = 3, ## Follows multiple targets with option to dynamically reframe itself. + PATH = 4, ## Follows a target while being positionally confined to a [Path2D] node. + FRAMED = 5, ## Applies a dead zone on the frame and only follows its target when it tries to leave it. +} + +## Determines how often an inactive [param PhantomCamera2D] should update +## its positional and rotational values. This is meant to reduce the amount +## of calculations inactive [param PhantomCamera2D] are doing when idling to +## improve performance. +enum InactiveUpdateMode { + ALWAYS, ## Always updates the [param PhantomCamera2D], even when it's inactive. + NEVER, ## Never updates the [param PhantomCamera2D] when it's inactive. Reduces the amount of computational resources when inactive. +# EXPONENTIALLY, +} + +#endregion + +#region Variables + +var _is_active: bool = false + +## The [PhantomCameraHost] that owns this [param PhantomCamera2D]. +var pcam_host_owner: PhantomCameraHost = null: + set = set_pcam_host_owner, + get = get_pcam_host_owner + +## To quickly preview a [param PhantomCamera2D] without adjusting its +## [member priority], this property allows the selected PCam to ignore the +## Priority system altogether and forcefully become the active one. It's +## partly designed to work within the Viewfinder, and will be disabled when +## running a build export of the game. +@export var priority_override: bool = false: + set(value): + if Engine.is_editor_hint() and _has_valid_pcam_owner(): + if value == true: + priority_override = value + get_pcam_host_owner().pcam_priority_override(self) + else: + priority_override = value + get_pcam_host_owner().pcam_priority_updated(self) + get_pcam_host_owner().pcam_priority_override_disabled() + get: + return priority_override + +## It defines which [param PhantomCamera2D] a scene's [param Camera2D] should +## be corresponding with and be attached to. This is decided by the PCam with +## the highest [param Priority]. +## [br][br] +## Changing [param Priority] will send an event to the scene's +## [PhantomCameraHost], which will then determine whether if the +## [param Priority] value is greater than or equal to the currently +## highest [param PhantomCamera2D]'s in the scene. The [param PhantomCamera2D] +## with the highest value will then reattach the [param Camera2D] accordingly. +@export var priority: int = 0: + set = set_priority, + get = get_priority + +## Determines the positional logic for a given [param PhantomCamera2D]. +## The different modes have different functionalities and purposes, so +## choosing the correct one depends on what each [param PhantomCamera2D] +## is meant to do. +@export var follow_mode: FollowMode = FollowMode.NONE: + set(value): + follow_mode = value + + if value == FollowMode.FRAMED: + if _follow_framed_initial_set and follow_target: + _follow_framed_initial_set = false + dead_zone_changed.connect(_on_dead_zone_changed) + else: + if dead_zone_changed.is_connected(_on_dead_zone_changed): + dead_zone_changed.disconnect(_on_dead_zone_changed) + + if follow_mode == FollowMode.NONE: + _should_follow = false + elif follow_mode == FollowMode.GROUP and follow_targets or follow_target: + _should_follow = true + notify_property_list_changed() + get: + return follow_mode + + +## Determines which target should be followed. +## The [param Camera2D] will follow the position of the Follow Target +## based on the [member follow_mode] type and its parameters. +@export var follow_target: Node2D = null: + set = set_follow_target, + get = get_follow_target +var _should_follow: bool = false +var _follow_framed_offset: Vector2 = Vector2.ZERO +var _follow_target_physics_based: bool = false +var _physics_interpolation_enabled = false # NOTE - Enable for Godot 4.3 and when PhysicsInterpolationMode bug is resolved + +### Defines the targets that the [param PhantomCamera2D] should be following. +@export var follow_targets: Array[Node2D] = []: + set = set_follow_targets, + get = get_follow_targets +var _has_multiple_follow_targets: bool = false + + +## Determines the [Path2D] the [param PhantomCamera2D] +## should be bound to. +## The [param PhantomCamera2D] will follow the position of the +## [member follow_target] while sticking to the closest point on this path. +@export var follow_path: Path2D = null: + set = set_follow_path, + get = get_follow_path +var _has_follow_path: bool = false + +## Applies a zoom level to the [param PhantomCamera2D], which effectively +## overrides the [param zoom] property of the [param Camera2D] node. +@export var zoom: Vector2 = Vector2.ONE: + set = set_zoom, + get = get_zoom + +## If enabled, will snap the [param Camera2D] to whole pixels as it moves. +## [br][br] +## This should be particularly useful in pixel art projects, +## where assets should always be aligned to the monitor's pixels to avoid +## unintended stretching. +@export var snap_to_pixel: bool = false: + set = set_snap_to_pixel, + get = get_snap_to_pixel + +## Enables a preview of what the [PhantomCamera2D] will see in the +## scene. It works identically to how a [param Camera2D] shows which area +## will be visible during runtime. Likewise, this too will be affected by the +## [member zoom] property and the [param viewport_width] and +## [param Viewport Height] defined in the [param Project Settings]. +@export var frame_preview: bool = true: + set(value): + frame_preview = value + queue_redraw() + get: + return frame_preview + +## Defines how the [param PhantomCamera2D] transition between one another. +## Changing the tween values for a given [param PhantomCamera2D] +## determines how transitioning to that instance will look like. +## This is a resource type that can be either used for one +## [param PhantomCamera] or reused across multiple - both 2D and 3D. +## By default, all [param PhantomCameras] will use a [param linear] +## transition, [param easeInOut] ease with a [param 1s] duration. +@export var tween_resource: PhantomCameraTween = PhantomCameraTween.new(): + set = set_tween_resource, + get = get_tween_resource +var _has_tweened: bool = false + +## If enabled, the moment a [param PhantomCamera3D] is instantiated into +## a scene, and has the highest priority, it will perform its tween transition. +## This is most obvious if a [param PhantomCamera3D] has a long duration and +## is attached to a playable character that can be moved the moment a scene +## is loaded. Disabling the [param tween_on_load] property will +## disable this behaviour and skip the tweening entirely when instantiated. +@export var tween_on_load: bool = true: + set = set_tween_on_load, + get = get_tween_on_load + +## Determines how often an inactive [param PhantomCamera2D] should update +## its positional and rotational values. This is meant to reduce the amount +## of calculations inactive [param PhantomCamera2Ds] are doing when idling +## to improve performance. +@export var inactive_update_mode: InactiveUpdateMode = InactiveUpdateMode.ALWAYS + +@export_group("Follow Parameters") +## Offsets the [member follow_target] position. +@export var follow_offset: Vector2 = Vector2.ZERO: + set = set_follow_offset, + get = get_follow_offset + +## Applies a damping effect on the [param Camera2D]'s movement. +## Leading to heavier / slower camera movement as the targeted node moves around. +## This is useful to avoid sharp and rapid camera movement. +@export var follow_damping: bool = false: + set = set_follow_damping, + get = get_follow_damping + +## Defines the damping amount. The ideal range should be somewhere between 0-1.[br][br] +## The damping amount can be specified in the individual axis.[br][br] +## [b]Lower value[/b] = faster / sharper camera movement.[br] +## [b]Higher value[/b] = slower / heavier camera movement. +@export var follow_damping_value: Vector2 = Vector2(0.1, 0.1): + set = set_follow_damping_value, + get = get_follow_damping_value +var _velocity_ref: Vector2 = Vector2.ZERO # Stores and applies the velocity of the movement + +@export_subgroup("Follow Group") +## Enables the [param PhantomCamera2D] to dynamically zoom in and out based on +## the targets' distances between each other. +## Once enabled, the [param Camera2D] will stay as zoomed in as possible, +## limited by the [member auto_zoom_max] and start zooming out as the targets +## move further apart, limited by the [member auto_zoom_min]. +## Note: Enabling this property hides and disables the [member zoom] property +## as this effectively overrides that value. +@export var auto_zoom: bool = false: + set = set_auto_zoom, + get = get_auto_zoom +## Sets the param minimum zoom amount, in other words how far away the +## [param Camera2D] can be from scene.[br][br] +## This only works when [member auto_zoom] is enabled. +@export var auto_zoom_min: float = 1: + set = set_auto_zoom_min, + get = get_auto_zoom_min + +## Sets the maximum zoom amount, in other words how close the [param Camera2D] +## can move towards the scene.[br][br] +## This only works when [member auto_zoom] is enabled. +@export var auto_zoom_max: float = 5: + set = set_auto_zoom_max, + get = get_auto_zoom_max +## Determines how close to the edges the targets are allowed to be. +## This is useful to avoid targets being cut off at the edges of the screen. +## [br][br] + +## The Vector4 parameter order goes: [param Left] - [param Top] - [param Right] +## - [param Bottom]. +@export var auto_zoom_margin: Vector4 = Vector4.ZERO: + set = set_auto_zoom_margin, + get = get_auto_zoom_margin + +@export_subgroup("Dead Zones") +## Defines the horizontal dead zone area. While the target is within it, the +## [param PhantomCamera2D] will not move in the horizontal axis. +## If the targeted node leaves the horizontal bounds, the +## [param PhantomCamera2D] will follow the target horizontally to keep +## it within bounds. +@export_range(0, 1) var dead_zone_width: float = 0: + set(value): + dead_zone_width = value + dead_zone_changed.emit() + get: + return dead_zone_width + +## Defines the vertical dead zone area. While the target is within it, the +## [param PhantomCamera2D] will not move in the vertical axis. +## If the targeted node leaves the vertical bounds, the +## [param PhantomCamera2D] will follow the target horizontally to keep +## it within bounds. +@export_range(0, 1) var dead_zone_height: float = 0: + set(value): + dead_zone_height = value + dead_zone_changed.emit() + get: + return dead_zone_height + +## Enables the [param dead zones] to be visible when running the game from the editor. +## [br] +## [param dead zones] will never be visible in build exports. +@export var show_viewfinder_in_play: bool = false + +## Defines the position of the [member follow_target] within the viewport.[br] +## This is only used for when [member follow_mode] is set to [param Framed]. +var viewport_position: Vector2 +var _follow_framed_initial_set: bool = false + +@export_group("Limit") + +## Shows the [param Camera2D]'s built-in limit border.[br] +## The [param PhantomCamera2D] and [param Camera2D] can move around anywhere within it. +@export var draw_limits: bool = false: + set(value): + _draw_limits = value + if Engine.is_editor_hint(): + _draw_camera_2d_limit() + get: + return _draw_limits + +static var _draw_limits: bool + +var _limit_sides: Vector4i +var _limit_sides_default: Vector4i = Vector4i(-10000000, -10000000, 10000000, 10000000) +## Defines the left side of the [param Camera2D] limit. +## The camera will not be able to move past this point. +@export var limit_left: int = -10000000: + set = set_limit_left, + get = get_limit_left +## Defines the top side of the [param Camera2D] limit. +## The camera will not be able to move past this point. +@export var limit_top: int = -10000000: + set = set_limit_top, + get = get_limit_top +## Defines the right side of the [param Camera2D] limit. +## The camera will not be able to move past this point. +@export var limit_right: int = 10000000: + set = set_limit_right, + get = get_limit_right +## Defines the bottom side of the [param Camera2D] limit. +## The camera will not be able to move past this point. +@export var limit_bottom: int = 10000000: + set = set_limit_bottom, + get = get_limit_bottom + +## Allows for setting either a [TileMap] or [CollisionShape2D] node to +## automatically apply a limit size instead of manually adjusting the Left, +## Top, Right and Left properties.[br][br] +## [b]TileMap[/b][br] +## The Limit will update after the [TileSet] of the [TileMap] has changed.[br] +## [b]Note:[/b] The limit size will only update after closing the TileMap editor +## bottom panel. +## [br][br] +## [b]CollisionShape2D[/b][br] +## The limit will update in realtime as the Shape2D changes its size. +## Note: For performance reasons, resizing the [Shape2D] during runtime will not change the Limits sides. +@export_node_path("TileMap", "CollisionShape2D") var limit_target = NodePath(""): + set = set_limit_target, + get = get_limit_target +var _limit_node: Node2D +## Applies an offset to the [TileMap] Limit or [Shape2D] Limit. +## The values goes from [param Left], [param Top], [param Right] +## and [param Bottom]. +@export var limit_margin: Vector4i: + set = set_limit_margin, + get = get_limit_margin +#@export var limit_smoothed: bool = false: # TODO - Needs proper support + #set = set_limit_smoothing, + #get = get_limit_smoothing +var _limit_inactive_pcam: bool + +#endregion + + +func _validate_property(property: Dictionary) -> void: + ################ + ## Follow Target + ################ + if property.name == "follow_target": + if follow_mode == FollowMode.NONE or \ + follow_mode == FollowMode.GROUP: + property.usage = PROPERTY_USAGE_NO_EDITOR + + elif property.name == "follow_path" and \ + follow_mode != FollowMode.PATH: + property.usage = PROPERTY_USAGE_NO_EDITOR + + + #################### + ## Follow Parameters + #################### + + + if follow_mode == FollowMode.NONE: + match property.name: + "follow_offset", \ + "follow_damping", \ + "follow_damping_value": + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "follow_offset": + if follow_mode == FollowMode.PATH or \ + follow_mode == FollowMode.GLUED: + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "follow_damping_value" and not follow_damping: + property.usage = PROPERTY_USAGE_NO_EDITOR + + ############### + ## Follow Group + ############### + if follow_mode != FollowMode.GROUP: + match property.name: + "follow_targets", \ + "auto_zoom": + property.usage = PROPERTY_USAGE_NO_EDITOR + + if not auto_zoom: + match property.name: + "auto_zoom_min", \ + "auto_zoom_max", \ + "auto_zoom_margin": + property.usage = PROPERTY_USAGE_NO_EDITOR + + ################ + ## Follow Framed + ################ + if not follow_mode == FollowMode.FRAMED: + match property.name: + "dead_zone_width", \ + "dead_zone_height", \ + "show_viewfinder_in_play": + property.usage = PROPERTY_USAGE_NO_EDITOR + + ####### + ## Zoom + ####### + if property.name == "zoom" and auto_zoom: + property.usage = PROPERTY_USAGE_NO_EDITOR + + ######## + ## Limit + ######## + if is_instance_valid(_limit_node): + match property.name: + "limit_left", \ + "limit_top", \ + "limit_right", \ + "limit_bottom": + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "limit_margin" and not _limit_node: + property.usage = PROPERTY_USAGE_NO_EDITOR + + ################ + ## Frame Preview + ################ + if property.name == "frame_preview" and _is_active: + property.usage |= PROPERTY_USAGE_READ_ONLY + + notify_property_list_changed() + +#region Private Functions + +func _enter_tree() -> void: + PhantomCameraManager.pcam_added(self) + update_limit_all_sides() + + if not PhantomCameraManager.get_phantom_camera_hosts().is_empty(): + set_pcam_host_owner(PhantomCameraManager.get_phantom_camera_hosts()[0]) + + +func _exit_tree() -> void: + PhantomCameraManager.pcam_removed(self) + + if _has_valid_pcam_owner(): + get_pcam_host_owner().pcam_removed_from_scene(self) + + +func _process(delta: float) -> void: + if _follow_target_physics_based: return + _process_logic(delta) + + +func _physics_process(delta: float): + if not _follow_target_physics_based: return + _process_logic(delta) + + +func _process_logic(delta: float) -> void: + if not _is_active: + match inactive_update_mode: + InactiveUpdateMode.NEVER: return + InactiveUpdateMode.ALWAYS: + # Only triggers if limit isn't default + if _limit_inactive_pcam: + global_position = _set_limit_clamp_position(global_position) +# InactiveUpdateMode.EXPONENTIALLY: +# TODO - Trigger positional updates less frequently as more Pcams gets added + _limit_checker() + if _should_follow: + _follow(delta) + + +func _limit_checker() -> void: + ## TODO - Needs to see if this can be triggerd only from CollisionShape2D Transform changes + if Engine.is_editor_hint(): + if draw_limits: + update_limit_all_sides() + + +func _follow(delta: float) -> void: + var follow_position: Vector2 + + match follow_mode: + FollowMode.GLUED: + if follow_target: + follow_position = follow_target.global_position + FollowMode.SIMPLE: + if follow_target: + follow_position = _target_position_with_offset() + FollowMode.GROUP: + if follow_targets.size() == 1: + follow_position = follow_targets[0].global_position + elif _has_multiple_follow_targets and follow_targets.size() > 1: + var rect: Rect2 = Rect2(follow_targets[0].global_position, Vector2.ZERO) + for node in follow_targets: + rect = rect.expand(node.global_position) + if auto_zoom: + rect = rect.grow_individual( + auto_zoom_margin.x, + auto_zoom_margin.y, + auto_zoom_margin.z, + auto_zoom_margin.w + ) +# else: +# rect = rect.grow_individual(-80, 0, 0, 0) + if auto_zoom: + var screen_size: Vector2 = get_viewport_rect().size + if rect.size.x > rect.size.y * screen_size.aspect(): + zoom = clamp(screen_size.x / rect.size.x, auto_zoom_min, auto_zoom_max) * Vector2.ONE + else: + zoom = clamp(screen_size.y / rect.size.y, auto_zoom_min, auto_zoom_max) * Vector2.ONE + follow_position = rect.get_center() + FollowMode.PATH: + if follow_target and follow_path: + var path_position: Vector2 = follow_path.global_position + + follow_position = \ + follow_path.curve.get_closest_point( + _target_position_with_offset() - path_position + ) + path_position + + FollowMode.FRAMED: + if follow_target: + if not Engine.is_editor_hint(): + viewport_position = (get_follow_target().get_global_transform_with_canvas().get_origin() + follow_offset) / get_viewport_rect().size + + if _get_framed_side_offset() != Vector2.ZERO: + var glo_pos: Vector2 + var target_position: Vector2 = _target_position_with_offset() + _follow_framed_offset + + if dead_zone_width == 0 || dead_zone_height == 0: + if dead_zone_width == 0 && dead_zone_height != 0: + follow_position = _target_position_with_offset() + elif dead_zone_width != 0 && dead_zone_height == 0: + glo_pos = _target_position_with_offset() + glo_pos.x += target_position.x - global_position.x + follow_position = glo_pos + else: + follow_position = _target_position_with_offset() + else: + follow_position = target_position + else: + _follow_framed_offset = global_position - _target_position_with_offset() + return + else: + follow_position = _target_position_with_offset() + + _interpolate_position(follow_position, delta) + + +func _set_velocity(index: int, value: float): + _velocity_ref[index] = value + + +func _interpolate_position(target_position: Vector2, delta: float) -> void: + if _limit_inactive_pcam and not _has_tweened: + target_position = _set_limit_clamp_position(target_position) + + if follow_damping: + for index in 2: + global_position[index] = \ + _smooth_damp( + target_position[index], + global_position[index], + index, + _velocity_ref[index], + _set_velocity, + follow_damping_value[index], + delta + ) + else: + global_position = target_position + + +func _smooth_damp(target_axis: float, self_axis: float, index: int, current_velocity: float, set_velocity: Callable, damping_time: float, delta: float) -> float: + damping_time = maxf(0.0001, damping_time) + var omega: float = 2 / damping_time + var x: float = omega * delta + var exponential: float = 1 / (1 + x + 0.48 * x * x + 0.235 * x * x * x) + var diff: float = self_axis - target_axis + var _target_axis: float = target_axis + + var max_change: float = INF * damping_time + diff = clampf(diff, -max_change, max_change) + target_axis = self_axis - diff + + var temp: float = (current_velocity + omega * diff) * delta + set_velocity.call(index, (current_velocity - omega * temp) * exponential) + var output: float = target_axis + (diff + temp) * exponential + + ## To prevent overshooting + if (_target_axis - self_axis > 0.0) == (output > _target_axis): + output = _target_axis + set_velocity.call(index, (output - _target_axis) / delta) + + return output + + +func _set_limit_clamp_position(value: Vector2) -> Vector2: + var camera_frame_rect_size: Vector2 = _camera_frame_rect().size + value.x = clampf(value.x, _limit_sides.x + camera_frame_rect_size.x / 2, _limit_sides.z - camera_frame_rect_size.x / 2) + value.y = clampf(value.y, _limit_sides.y + camera_frame_rect_size.y / 2, _limit_sides.w - camera_frame_rect_size.y / 2) + return value + + +func _draw(): + if not Engine.is_editor_hint(): return + + if frame_preview and not _is_active: + var screen_size_width: int = ProjectSettings.get_setting("display/window/size/viewport_width") + var screen_size_height: int = ProjectSettings.get_setting("display/window/size/viewport_height") + var screen_size_zoom: Vector2 = Vector2(screen_size_width / get_zoom().x, screen_size_height / get_zoom().y) + draw_rect(_camera_frame_rect(), Color("3ab99a"), false, 2) + + +func _camera_frame_rect() -> Rect2: + var screen_size_width: int = ProjectSettings.get_setting("display/window/size/viewport_width") + var screen_size_height: int = ProjectSettings.get_setting("display/window/size/viewport_height") + var screen_size_zoom: Vector2 = Vector2(screen_size_width / get_zoom().x, screen_size_height / get_zoom().y) + + return Rect2(-screen_size_zoom / 2, screen_size_zoom) + + +func _on_tile_map_changed() -> void: + update_limit_all_sides() + + +func _target_position_with_offset() -> Vector2: + return follow_target.global_position + follow_offset + + +func _on_dead_zone_changed() -> void: + set_global_position( _target_position_with_offset() ) + + +func _has_valid_pcam_owner() -> bool: + if not is_instance_valid(get_pcam_host_owner()): return false + if not is_instance_valid(get_pcam_host_owner().camera_2d): return false + return true + + +func _get_framed_side_offset() -> Vector2: + var frame_out_bounds: Vector2 + + if viewport_position.x < 0.5 - dead_zone_width / 2: + # Is outside left edge + frame_out_bounds.x = -1 + + if viewport_position.y < 0.5 - dead_zone_height / 2: + # Is outside top edge + frame_out_bounds.y = 1 + + if viewport_position.x > 0.5 + dead_zone_width / 2: + # Is outside right edge + frame_out_bounds.x = 1 + + if viewport_position.y > 0.5001 + dead_zone_height / 2: # 0.501 to resolve an issue where the bottom vertical Dead Zone never becoming 0 when the Dead Zone Vertical parameter is set to 0 + # Is outside bottom edge + frame_out_bounds.y = -1 + + return frame_out_bounds + + +func _draw_camera_2d_limit() -> void: + if _has_valid_pcam_owner(): + get_pcam_host_owner().camera_2d.set_limit_drawing_enabled(draw_limits) + + +func _check_limit_is_not_default() -> void: + if _limit_sides == _limit_sides_default: + _limit_inactive_pcam = false + else: + _limit_inactive_pcam = true + + +func _set_camera_2d_limit(side: int, limit: int) -> void: + if not _has_valid_pcam_owner(): return + if not _is_active: return + get_pcam_host_owner().camera_2d.set_limit(side, limit) + +#endregion + + +#region Public Functions + +## Updates the limit sides based what has been set to define it +## This should be automatic, but can be called manully if need be. +func update_limit_all_sides() -> void: + var limit_rect: Rect2 + + if not is_instance_valid(_limit_node): + _limit_sides.x = limit_left + _limit_sides.y = limit_top + _limit_sides.z = limit_right + _limit_sides.w = limit_bottom + elif _limit_node is TileMap: + var tile_map: TileMap = _limit_node as TileMap + var tile_map_size: Vector2 = Vector2(tile_map.get_used_rect().size) * Vector2(tile_map.tile_set.tile_size) * tile_map.get_scale() + var tile_map_position: Vector2 = tile_map.global_position + Vector2(tile_map.get_used_rect().position) * Vector2(tile_map.tile_set.tile_size) * tile_map.get_scale() + + ## Calculates the Rect2 based on the Tile Map position and size + margin + limit_rect = Rect2( + tile_map_position + Vector2(limit_margin.x, limit_margin.y), + tile_map_size - Vector2(limit_margin.x, limit_margin.y) - Vector2(limit_margin.z, limit_margin.w) + ) + + # Left + _limit_sides.x = roundi(limit_rect.position.x) + # Top + _limit_sides.y = roundi(limit_rect.position.y) + # Right + _limit_sides.z = roundi(limit_rect.position.x + limit_rect.size.x) + # Bottom + _limit_sides.w = roundi(limit_rect.position.y + limit_rect.size.y) + elif _limit_node is CollisionShape2D: + var collision_shape_2d = _limit_node as CollisionShape2D + + if not collision_shape_2d.get_shape(): return + + var shape_2d: Shape2D = collision_shape_2d.get_shape() + var shape_2d_size: Vector2 = shape_2d.get_rect().size + var shape_2d_position: Vector2 = collision_shape_2d.global_position + Vector2(shape_2d.get_rect().position) + + ## Calculates the Rect2 based on the Tile Map position and size + limit_rect = Rect2(shape_2d_position, shape_2d_size) + + ## Calculates the Rect2 based on the Tile Map position and size + margin + limit_rect = Rect2( + limit_rect.position + Vector2(limit_margin.x, limit_margin.y), + limit_rect.size - Vector2(limit_margin.x, limit_margin.y) - Vector2(limit_margin.z, limit_margin.w) + ) + + # Left + _limit_sides.x = roundi(limit_rect.position.x) + # Top + _limit_sides.y = roundi(limit_rect.position.y) + # Right + _limit_sides.z = roundi(limit_rect.position.x + limit_rect.size.x) + # Bottom + _limit_sides.w = roundi(limit_rect.position.y + limit_rect.size.y) + + _check_limit_is_not_default() + + if _is_active and _has_valid_pcam_owner(): + _set_camera_2d_limit(SIDE_LEFT, _limit_sides.x) + _set_camera_2d_limit(SIDE_TOP, _limit_sides.y) + _set_camera_2d_limit(SIDE_RIGHT, _limit_sides.z) + _set_camera_2d_limit(SIDE_BOTTOM, _limit_sides.w) + + +func reset_limit() -> void: + if not _has_valid_pcam_owner(): return + if not _is_active: return + get_pcam_host_owner().camera_2d.set_limit(SIDE_LEFT, _limit_sides_default.x) + get_pcam_host_owner().camera_2d.set_limit(SIDE_TOP, _limit_sides_default.y) + get_pcam_host_owner().camera_2d.set_limit(SIDE_RIGHT, _limit_sides_default.z) + get_pcam_host_owner().camera_2d.set_limit(SIDE_BOTTOM, _limit_sides_default.w) + + +## Assigns the value of the [param has_tweened] property. +## [b][color=yellow]Important:[/color][/b] This value can only be changed +## from the [PhantomCameraHost] script. +func set_has_tweened(caller: Node, value: bool) -> void: + if is_instance_of(caller, PhantomCameraHost): + _has_tweened = value + else: + printerr("Can only be called PhantomCameraHost class") +## Returns the current [param has_tweened] value. +func get_has_tweened() -> bool: + return _has_tweened + +#endregion + + +#region Setter & Getter Functions + +## Assigns the [param PhantomCamera2D] to a new [PhantomCameraHost].[br] +## [b][color=yellow]Important:[/color][/b] This is currently restricted to +## plugin internals. Proper support will be added in issue #26. +func set_pcam_host_owner(value: PhantomCameraHost) -> void: + pcam_host_owner = value + if is_instance_valid(pcam_host_owner): + pcam_host_owner.pcam_added_to_scene(self) + #if value.size() == 1: +# else: +# for camera_host in camera_host_group: +# print("Multiple PhantomCameraBases in scene") +# print(pcam_host_group) +# print(pcam.get_tree().get_nodes_in_group(PhantomCameraGroupNames.PHANTOM_CAMERA_HOST_GROUP_NAME)) +# multiple_pcam_host_group.append(camera_host) +# return nullfunc assign_pcam_host() -> void: +## Gets the current [PhantomCameraHost] this [param PhantomCamera2D] is +## assigned to. +func get_pcam_host_owner() -> PhantomCameraHost: + return pcam_host_owner + + +## Assigns new Zoom value. +func set_zoom(value: Vector2) -> void: + zoom = value + queue_redraw() + +## Gets current Zoom value. +func get_zoom() -> Vector2: + return zoom + + +## Assigns new Priority value. +func set_priority(value: int) -> void: + priority = abs(value) + if _has_valid_pcam_owner(): + get_pcam_host_owner().pcam_priority_updated(self) + +## Gets current Priority value. +func get_priority() -> int: + return priority + + +## Assigns a new PhantomCameraTween resource to the PhantomCamera2D +func set_tween_resource(value: PhantomCameraTween) -> void: + tween_resource = value + +## Gets the PhantomCameraTween resource assigned to the PhantomCamera2D +## Returns null if there's nothing assigned to it. +func get_tween_resource() -> PhantomCameraTween: + return tween_resource + + +## Assigns a new [param Tween Duration] to the [member tween_resource] value.[br] +## The duration value is in seconds. +func set_tween_duration(value: float) -> void: + tween_resource.duration = value + +## Gets the current [param Tween Duration] value inside the +## [member tween_resource].[br] +## The duration value is in seconds. +func get_tween_duration() -> float: + return tween_resource.duration + + +## Assigns a new [param Tween Transition] value inside the +## [member tween_resource]. +func set_tween_transition(value: int) -> void: + tween_resource.transition = value + +## Gets the current [param Tween Transition] value inside the +## [member tween_resource]. +func get_tween_transition() -> int: + return tween_resource.transition + + +## Assigns a new [param Tween Ease] value inside the [member tween_resource]. +func set_tween_ease(value: int) -> void: + tween_resource.ease = value + +## Gets the current [param Tween Ease] value inside the [member tween_resource]. +func get_tween_ease() -> int: + return tween_resource.ease + + +## Sets the [param PhantomCamera2D] active state.[br] +## [b][color=yellow]Important:[/color][/b] This value can only be changed +## from the [PhantomCameraHost] script. +func set_is_active(node, value) -> void: + if node is PhantomCameraHost: + _is_active = value + else: + printerr("PCams can only be set from the PhantomCameraHost") + +## Gets current active state of the [param PhantomCamera2D]. +## If it returns true, it means the [param PhantomCamera2D] is what the +## [param Camera2D] is currently following. +func is_active() -> bool: + return _is_active + + +## Enables or disables the [member tween_on_load]. +func set_tween_on_load(value: bool) -> void: + tween_on_load = value + +## Gets the current [member tween_on_load] value. +func get_tween_on_load() -> bool: + return tween_on_load + + +## Gets the current follow mode as an enum int based on [enum FollowMode].[br] +## [b]Note:[/b] Setting [enum FollowMode] purposely not added. +## A separate PCam should be used instead. +func get_follow_mode() -> int: + return follow_mode + + +## Assigns a new [Node2D] as the [member follow_target]. +func set_follow_target(value: Node2D) -> void: + if follow_target == value: return + follow_target = value + _follow_target_physics_based = false + if is_instance_valid(value): + _should_follow = true + _check_physics_body(value) + else: + _should_follow = false + follow_target_changed.emit() + notify_property_list_changed() + +## Erases the current [member follow_target]. +func erase_follow_target() -> void: + if follow_target == null: return + _should_follow = false + follow_target = null + _follow_target_physics_based = false + follow_target_changed.emit() + +## Gets the current [member follow_target]. +func get_follow_target() -> Node2D: + return follow_target + + +## Assigns a new [Path2D] to the [member follow_path]. +func set_follow_path(value: Path2D) -> void: + follow_path = value + +## Erases the current [Path2D] from the [member follow_path] property. +func erase_follow_path() -> void: + follow_path = null + +## Gets the current [Path2D] from the [member follow_path]. +func get_follow_path() -> Path2D: + return follow_path + + +## Assigns a new [param follow_targets] array value. +func set_follow_targets(value: Array[Node2D]) -> void: + if follow_targets == value: return + + follow_targets = value + + if follow_targets.is_empty(): + _should_follow = false + _has_multiple_follow_targets = false + return + + _follow_target_physics_based = false + var valid_instances: int = 0 + for target in follow_targets: + if is_instance_valid(target): + _should_follow = true + valid_instances += 1 + + _check_physics_body(target) + + if valid_instances > 1: + _has_multiple_follow_targets = true + +## Appends a single [Node2D] to [member follow_targets]. +func append_follow_targets(value: Node2D) -> void: + if not is_instance_valid(value): + printerr(value, " is not a valid Node2D instance.") + return + if not follow_targets.has(value): + follow_targets.append(value) + _should_follow = true + _has_multiple_follow_targets = true + _check_physics_body(value) + else: + printerr(value, " is already part of Follow Group") + +## Adds an Array of type [Node2D] to [member follow_targets]. +func append_follow_targets_array(value: Array[Node2D]) -> void: + for target in value: + if not is_instance_valid(target): continue + if not follow_targets.has(target): + follow_targets.append(target) + _should_follow = true + _check_physics_body(target) + if follow_targets.size() > 1: + _has_multiple_follow_targets = true + else: + printerr(value, " is already part of Follow Group") + +## Removes a [Node2D] from [member follow_targets] array. +func erase_follow_targets(value: Node2D) -> void: + follow_targets.erase(value) + _follow_target_physics_based = false + for target in follow_targets: + _check_physics_body(target) + if follow_targets.size() < 2: + _has_multiple_follow_targets = false + if follow_targets.size() < 1: + _should_follow = false + +## Gets all [Node2D] from [member follow_targets] array. +func get_follow_targets() -> Array[Node2D]: + return follow_targets + + +func _check_physics_body(target: Node2D) -> void: + if target is PhysicsBody2D: + ## NOTE - Feature Toggle + if Engine.get_version_info().major == 4 and \ + Engine.get_version_info().minor < 3: + if ProjectSettings.get_setting("phantom_camera/tips/show_jitter_tips"): + print_rich("Following a [b]PhysicsBody2D[/b] node will likely result in jitter - on lower physics ticks in particular.") + print_rich("Once Godot 4.3 is released, will strongly recommend upgrading to that as it has built-in support for 2D Physics Interpolation.") + print_rich("Until then, try following the guide on the [url=https://phantom-camera.dev/support/faq#i-m-seeing-jitter-what-can-i-do]documentation site[/url] for better results.") + print_rich("This tip can be disabled from within [code]Project Settings / Phantom Camera / Tips / Show Jitter Tips[/code]") + return + ## NOTE - Only supported in Godot 4.3 or above + elif not ProjectSettings.get_setting("physics/common/physics_interpolation") and ProjectSettings.get_setting("phantom_camera/tips/show_jitter_tips"): + printerr("Physics Interpolation is disabled in the Project Settings, recommend enabling it to smooth out physics-based camera movement") + print_rich("This tip can be disabled from within [code]Project Settings / Phantom Camera / Tips / Show Jitter Tips[/code]") + _follow_target_physics_based = true + + +## Assigns a new Vector2 for the Follow Target Offset property. +func set_follow_offset(value: Vector2) -> void: + follow_offset = value + +## Gets the current Vector2 for the Follow Target Offset property. +func get_follow_offset() -> Vector2: + return follow_offset + + +## Enables or disables Follow Damping. +func set_follow_damping(value: bool) -> void: + follow_damping = value + notify_property_list_changed() + +## Gets the current Follow Damping property. +func get_follow_damping() -> bool: + return follow_damping + + +## Assigns new Damping value. +func set_follow_damping_value(value: Vector2) -> void: + ## TODO - Should be using @export_range once minimum version support is Godot 4.3 + if value.x < 0: value.x = 0 + elif value.y < 0: value.y = 0 + follow_damping_value = value + +## Gets the current Follow Damping value. +func get_follow_damping_value() -> Vector2: + return follow_damping_value + + +## Enables or disables [member snap_to_pixel]. +func set_snap_to_pixel(value: bool) -> void: + snap_to_pixel = value + +## Gets the current [member snap_to_pixel] value. +func get_snap_to_pixel() -> bool: + return snap_to_pixel + + +## Returns true if the [param PhantomCamera2D] has more than one member in the +## [follow_targets] array. +func get_has_multiple_follow_targets() -> bool: + return _has_multiple_follow_targets + + +## Enables or disables Auto zoom when using Group Follow. +func set_auto_zoom(value: bool) -> void: + auto_zoom = value + notify_property_list_changed() + +## Gets Auto Zoom state. +func get_auto_zoom() -> bool: + return auto_zoom + + +## Assigns new Min Auto Zoom value. +func set_auto_zoom_min(value: float) -> void: + auto_zoom_min = value + +## Gets Min Auto Zoom value. +func get_auto_zoom_min() -> float: + return auto_zoom_min + + +## Assigns new Max Auto Zoom value. +func set_auto_zoom_max(value: float) -> void: + auto_zoom_max = value + +## Gets Max Auto Zoom value. +func get_auto_zoom_max() -> float: + return auto_zoom_max + + +## Assigns new Zoom Auto Margin value. +func set_auto_zoom_margin(value: Vector4) -> void: + auto_zoom_margin = value + +## Gets Zoom Auto Margin value. +func get_auto_zoom_margin() -> Vector4: + return auto_zoom_margin + + +## Sets a limit side based on the side parameter.[br] +## It's recommended to pass the [enum Side] enum as the sid parameter. +func set_limit(side: int, value: int) -> void: + match side: + SIDE_LEFT: limit_left = value + SIDE_TOP: limit_top = value + SIDE_RIGHT: limit_right = value + SIDE_BOTTOM: limit_bottom = value + _: printerr("Not a valid Side.") + +## Gets the limit side +func get_limit(value: int) -> int: + match value: + SIDE_LEFT: return limit_left + SIDE_TOP: return limit_top + SIDE_RIGHT: return limit_right + SIDE_BOTTOM: return limit_bottom + _: + printerr("Not a valid Side.") + return -1 + + +## Assign a the Camera2D Left Limit Side value. +func set_limit_left(value: int) -> void: + _limit_target_exist_error() + limit_left = value + update_limit_all_sides() + +## Gets the Camera2D Left Limit value. +func get_limit_left() -> int: + return limit_left + + +## Assign a the Camera2D Top Limit Side value. +func set_limit_top(value: int) -> void: + _limit_target_exist_error() + limit_top = value + update_limit_all_sides() + +## Gets the Camera2D Top Limit value. +func get_limit_top() -> int: + return limit_top + + +## Assign a the Camera2D Right Limit Side value. +func set_limit_right(value: int) -> void: + _limit_target_exist_error() + limit_right = value + update_limit_all_sides() + +## Gets the Camera2D Right Limit value. +func get_limit_right() -> int: + return limit_right + + +## Assign a the Camera2D Bottom Limit Side value. +func set_limit_bottom(value: int) -> void: + _limit_target_exist_error() + limit_bottom = value + update_limit_all_sides() + +## Gets the Camera2D Bottom Limit value. +func get_limit_bottom() -> int: + return limit_bottom + + +func _limit_target_exist_error() -> void: + if not limit_target.is_empty(): + printerr("Unable to set Limit Side due to Limit Target ", _limit_node.name, " being assigned") + + +# Sets a [memeber limit_target] node. +func set_limit_target(value: NodePath) -> void: + limit_target = value + + # Waits for PCam2d's _ready() before trying to validate limit_node_path + if not is_node_ready(): await ready + + # Removes signal from existing TileMap node + if is_instance_valid(get_node_or_null(value)): + var prev_limit_node: Node2D = _limit_node + var new_limit_node: Node2D = get_node(value) + + if prev_limit_node is TileMap: + if prev_limit_node.changed.is_connected(_on_tile_map_changed): + prev_limit_node.changed.disconnect(_on_tile_map_changed) + + if new_limit_node is TileMap: + if not new_limit_node.changed.is_connected(_on_tile_map_changed): + new_limit_node.changed.connect(_on_tile_map_changed) + elif new_limit_node is CollisionShape2D: + var col_shape: CollisionShape2D = get_node(value) + + if col_shape.shape == null: + printerr("No Shape2D in: ", col_shape.name) + reset_limit() + limit_target = null + return + else: + printerr("Limit Target is not a TileMap or CollisionShape2D node") + return + + elif value == NodePath(""): + reset_limit() + limit_target = null + else: + printerr("Limit Target cannot be found") + return + + _limit_node = get_node_or_null(value) + + notify_property_list_changed() + update_limit_all_sides() + +## Get [member limit_target] node. +func get_limit_target() -> NodePath: + if not limit_target: # TODO - Fixes an spam error if if limit_taret is empty + return NodePath("") + else: + return limit_target + + +## Set Tile Map Limit Margin. +func set_limit_margin(value: Vector4i) -> void: + limit_margin = value + update_limit_all_sides() +## Get Tile Map Limit Margin. +func get_limit_margin() -> Vector4i: + return limit_margin + + +### Enables or disables the Limit Smoothing beaviour. +#func set_limit_smoothing(value: bool) -> void: + #limit_smoothed = value + #if is_active() and _has_valid_pcam_owner(): + #get_pcam_host_owner().camera_2d.reset_smoothing() +### Returns the Limit Smoothing beaviour. +#func get_limit_smoothing() -> bool: + #return limit_smoothed + + +## Sets [member inactive_update_mode] property. +func set_inactive_update_mode(value: int) -> void: + inactive_update_mode = value + +## Gets [enum InactiveUpdateMode] value. +func get_inactive_update_mode() -> int: + return inactive_update_mode + + +func set_follow_target_physics_based(value: bool, caller: Node) -> void: + if is_instance_of(caller, PhantomCameraHost): + _follow_target_physics_based = value + else: + printerr("set_follow_target_physics_based() is for internal use only.") +func get_follow_target_physics_based() -> bool: + return _follow_target_physics_based + + +func get_class() -> String: + return "PhantomCamera2D" + + +func is_class(value) -> bool: + return value == "PhantomCamera2D" + +#endregion diff --git a/addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd b/addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd new file mode 100644 index 0000000..e5868a1 --- /dev/null +++ b/addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd @@ -0,0 +1,1557 @@ +@tool +@icon("res://addons/phantom_camera/icons/phantom_camera_3d.svg") +class_name PhantomCamera3D +extends Node3D + +## Controls a scene's [Camera3D] and applies logic to it. +## +## The scene's [param Camera3D] will follow the position of the +## [param PhantomCamera3D] with the highest priority. +## Each instance can have different positional and rotational logic applied +## to them. + +#region Constants + +const _constants = preload("res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_constants.gd") + +#endregion + + +#region Signals + +## Emitted when the [param PhantomCamera3D] becomes active. +signal became_active +## Emitted when the [param PhantomCamera3D] becomes inactive. +signal became_inactive + +## Emitted when [member follow_target] changes. +signal follow_target_changed + +## Emitted when [member look_at_target] changes. +signal look_at_target_changed + +## Emitted when dead zones changes. [br] +## [b]Note:[/b] Only applicable in [param Framed] [member FollowMode]. +signal dead_zone_changed + +## Emitted when the [param Camera3D] starts to tween to another +## [param PhantomCamera3D]. +signal tween_started +## Emitted when the [param Camera3D] is to tweening towards another +## [param PhantomCamera3D]. +signal is_tweening +## Emitted when the tween is interrupted due to another [param PhantomCamera3D] +## becoming active. The argument is the [param PhantomCamera3D] that +## interrupted the tween. +signal tween_interrupted(pcam_3d: PhantomCamera3D) +## Emitted when the [param Camera3D] completes its tween to the +## [param PhantomCamera3D]. +signal tween_completed + +#endregion + + +#region Enums + +## Determines the positional logic for a given [param PhantomCamera3D] +## [br][br] +## The different modes have different functionalities and purposes, so choosing +## the correct one depends on what each [param PhantomCamera3D] is meant to do. +enum FollowMode { + NONE = 0, ## Default - No follow logic is applied. + GLUED = 1, ## Sticks to its target. + SIMPLE = 2, ## Follows its target with an optional offset. + GROUP = 3, ## Follows multiple targets with option to dynamically reframe itself. + PATH = 4, ## Follows a target while being positionally confined to a [Path3D] node. + FRAMED = 5, ## Applies a dead zone on the frame and only follows its target when it tries to leave it. + THIRD_PERSON = 6, ## Applies a [SpringArm3D] node to the target's position and allows for rotating around it. +} + +## Determines the rotational logic for a given [param PhantomCamera3D].[br][br] +## The different modes has different functionalities and purposes, so +## choosing the correct mode depends on what each [param PhantomCamera3D] +## is meant to do. +enum LookAtMode { + NONE = 0, ## Default - No Look At logic is applied. + MIMIC = 1, ## Copies its target's rotational value. + SIMPLE = 2, ## Looks at its target in a straight line. + GROUP = 3, ## Looks at the centre of its targets. +} + +## Determines how often an inactive [param PhantomCamera3D] should update +## its positional and rotational values. This is meant to reduce the amount +## of calculations inactive [param PhantomCamera3D] are doing when idling +## to improve performance. +enum InactiveUpdateMode { + ALWAYS, ## Always updates the [param PhantomCamera3D], even when it's inactive. + NEVER, ## Never updates the [param PhantomCamera3D] when it's inactive. Reduces the amount of computational resources when inactive. +# EXPONENTIALLY, +} + +#endregion + + +#region Variables + +## The [PhantomCameraHost] that owns this [param PhantomCamera2D]. +var pcam_host_owner: PhantomCameraHost = null: + set = set_pcam_host_owner, + get = get_pcam_host_owner + +var _is_active: bool = false + +## To quickly preview a [param PhantomCamera3D] without adjusting its +## [member Priority], this property allows the selected [param PhantomCamera3D] +## to ignore the Priority system altogether and forcefully become the active +## one. It's partly designed to work within the [param viewfinder], and will be +## disabled when running a build export of the game. +@export var priority_override: bool = false: + set(value): + if Engine.is_editor_hint() and _has_valid_pcam_owner(): + if value == true: + priority_override = value + get_pcam_host_owner().pcam_priority_override(self) + else: + priority_override = value + get_pcam_host_owner().pcam_priority_updated(self) + get_pcam_host_owner().pcam_priority_override_disabled() + get: + return priority_override + +## It defines which [param PhantomCamera3D] a scene's [param Camera3D] should +## be corresponding with and be attached to. This is decided by the +## [param PhantomCamera3D] with the highest [param priority]. +## [br][br] +## Changing [param priority] will send an event to the scene's +## [PhantomCameraHost], which will then determine whether if the +## [param priority] value is greater than or equal to the currently +## highest [param PhantomCamera3D]'s in the scene. The +## [param PhantomCamera3D] with the highest value will then reattach the +## Camera accordingly. +@export var priority: int = 0: + set = set_priority, + get = get_priority + +## Determines the positional logic for a given [param PhantomCamera3D]. +## The different modes have different functionalities and purposes, so +## choosing the correct one depends on what each [param PhantomCamera3D] +## is meant to do. +@export var follow_mode: FollowMode = FollowMode.NONE: + set(value): + follow_mode = value + + if value == FollowMode.FRAMED: + if _follow_framed_initial_set and follow_target: + _follow_framed_initial_set = false + dead_zone_changed.connect(_on_dead_zone_changed) + else: + if dead_zone_changed.is_connected(_on_dead_zone_changed): + dead_zone_changed.disconnect(_on_dead_zone_changed) + + if follow_mode == FollowMode.NONE: + _should_follow = false + elif follow_mode == FollowMode.GROUP and follow_targets or follow_target: + _should_follow = true + + notify_property_list_changed() + get: + return follow_mode + + +## Determines which target should be followed. +## The [param Camera3D] will follow the position of the Follow Target based on +## the [member follow_mode] type and its parameters. +@export var follow_target: Node3D = null: + set = set_follow_target, + get = get_follow_target +var _should_follow: bool = false +var _follow_target_physics_based: bool = false +var _physics_interpolation_enabled = false ## TOOD - Should be anbled once toggling physics_interpolation_mode ON, when previously OFF, works in 3D + +## Defines the targets that the [param PhantomCamera3D] should be following. +@export var follow_targets: Array[Node3D] = []: + set = set_follow_targets, + get = get_follow_targets +var _has_multiple_follow_targets: bool = false + + +## Determines the [Path3D] node the [param PhantomCamera3D] +## should be bound to. +## The [param PhantomCamera3D] will follow the position of the +## [member follow_target] while sticking to the closest point on this path. +@export var follow_path: Path3D = null: + set = set_follow_path, + get = get_follow_path + + +## Determines the rotational logic for a given [param PhantomCamera3D]. +## The different modes has different functionalities and purposes, +## so choosing the correct mode depends on what each +## [param PhantomCamera3D] is meant to do. +@export var look_at_mode: LookAtMode = LookAtMode.NONE: + set(value): + look_at_mode = value + if look_at_target is Node3D: + _should_look_at = true + + if look_at_mode == LookAtMode.NONE: + _should_look_at = false + elif look_at_mode == LookAtMode.GROUP and look_at_targets or look_at_target: + _should_look_at = true + + notify_property_list_changed() + get: + return look_at_mode +var _should_look_at: bool = false +var _multiple_look_at_targets: bool = false + +## Determines which target should be looked at. +## The [param PhantomCamera3D] will update its rotational value as the +## target changes its position. +@export var look_at_target: Node3D = null: + set = set_look_at_target, + get = get_look_at_target + +## Defines the targets that the camera should looking at. +## It will be looking at the centre of all the assigned targets. +@export var look_at_targets: Array[Node3D] = []: + set = set_look_at_targets, + get = get_look_at_targets +var _valid_look_at_targets: Array[Node3D] = [] + +## Defines how [param ]PhantomCamera3Ds] transition between one another. +## Changing the tween values for a given [param PhantomCamera3D] +## determines how transitioning to that instance will look like. +## This is a resource type that can be either used for one +## [param PhantomCamera] or reused across multiple - both 2D and 3D. +## By default, all [param PhantomCameras] will use a [param linear] +## transition, [param easeInOut] ease with a [param 1s] duration. +@export var tween_resource: PhantomCameraTween = PhantomCameraTween.new(): + set = set_tween_resource, + get = get_tween_resource +var _has_tweened: bool = false + +## If enabled, the moment a [param PhantomCamera3D] is instantiated into +## a scene, and has the highest priority, it will perform its tween transition. +## This is most obvious if a [param PhantomCamera3D] has a long duration and +## is attached to a playable character that can be moved the moment a scene +## is loaded. Disabling the [param tween_on_load] property will +## disable this behaviour and skip the tweening entirely when instantiated. +@export var tween_on_load: bool = true: + set = set_tween_on_load, + get = get_tween_on_load + +## Determines how often an inactive [param PhantomCamera3D] should update +## its positional and rotational values. This is meant to reduce the amount +## of calculations inactive [param PhantomCamera3Ds] are doing when idling +## to improve performance. +@export var inactive_update_mode: InactiveUpdateMode = InactiveUpdateMode.ALWAYS: + set = set_inactive_update_mode, + get = get_inactive_update_mode + + +## A resource type that allows for overriding the [param Camera3D] node's +## properties. +@export var camera_3d_resource: Camera3DResource = Camera3DResource.new(): + set = set_camera_3d_resource, + get = get_camera_3d_resource + +@export_group("Follow Parameters") +## Offsets the [member follow_target] position. +@export var follow_offset: Vector3 = Vector3.ZERO: + set = set_follow_offset, + get = get_follow_offset + +## Applies a damping effect on the camera's movement. +## Leading to heavier / slower camera movement as the targeted node moves around. +## This is useful to avoid sharp and rapid camera movement. +@export var follow_damping: bool = false: + set = set_follow_damping, + get = get_follow_damping + +## Defines the damping amount. The ideal range should be somewhere between 0-1.[br][br] +## The damping amount can be specified in the individual axis.[br][br] +## [b]Lower value[/b] = faster / sharper camera movement.[br] +## [b]Higher value[/b] = slower / heavier camera movement. +@export var follow_damping_value: Vector3 = Vector3(0.1, 0.1, 0.1): + set = set_follow_damping_value, + get = get_follow_damping_value +var _follow_velocity_ref: Vector3 = Vector3.ZERO # Stores and applies the velocity of the movement + +## Sets a distance offset from the centre of the target's position. +## The distance is applied to the [param PhantomCamera3D]'s local z axis. +@export var follow_distance: float = 1: + set = set_follow_distance, + get = get_follow_distance + +## Enables the [param PhantomCamera3D] to automatically distance +## itself as the [param follow targets] move further apart.[br] +## It looks at the longest axis between the different targets and interpolates +## the distance length between the [member auto_follow_distance_min] and +## [member follow_group_distance] properties.[br][br] +## Note: Enabling this property hides and disables the [member follow_distance] +## property as this effectively overrides that property. +@export var auto_follow_distance: bool = false: + set = set_auto_follow_distance, + get = get_auto_follow_distance + +## Sets the minimum distance between the Camera and centre of [AABB]. +## [br][br] +## Note: This distance will only ever be reached when all the targets are in +## the exact same [param Vector3] coordinate, which will very unlikely +## happen, so adjust the value here accordingly. +@export var auto_follow_distance_min: float = 1: + set = set_auto_follow_distance_min, + get = get_auto_follow_distance_min + +## Sets the maximum distance between the Camera and centre of [AABB]. +@export var auto_follow_distance_max: float = 5: + set = set_auto_follow_distance_max, + get = get_auto_follow_distance_max + +## Determines how fast the [member auto_follow_distance] moves between the +## maximum and minimum distance. The higher the value, the sooner the +## maximum distance is reached.[br][br] +## This value should be based on the sizes of the [member auto_follow_distance_min] +## and [member auto_follow_distance_max].[br] +## E.g. if the value between the [member auto_follow_distance_min] and +## [member auto_follow_distance_max] is small, consider keeping the number low +## and vice versa. +@export var auto_follow_distance_divisor: float = 10: + set = set_auto_follow_distance_divisor, + get = get_auto_follow_distance_divisor + +@export_subgroup("Dead Zones") +## Defines the horizontal dead zone area. While the target is within it, the +## [param PhantomCamera3D] will not move in the horizontal axis. +## If the targeted node leaves the horizontal bounds, the +## [param PhantomCamera3D] will follow the target horizontally to keep +## it within bounds. +@export_range(0, 1) var dead_zone_width: float = 0: + set(value): + dead_zone_width = value + dead_zone_changed.emit() + get: + return dead_zone_width + +## Defines the vertical dead zone area. While the target is within it, the +## [param PhantomCamera3D] will not move in the vertical axis. +## If the targeted node leaves the vertical bounds, the +## [param PhantomCamera3D] will follow the target horizontally to keep +## it within bounds. +@export_range(0, 1) var dead_zone_height: float = 0: + set(value): + dead_zone_height = value + dead_zone_changed.emit() + get: + return dead_zone_height + +## Enables the dead zones to be visible when running the game from the editor. +## Dead zones will never be visible in build exports. +@export var show_viewfinder_in_play: bool = false + +## Defines the position of the [member follow_target] within the viewport.[br] +## This is only used for when [member follow_mode] is set to [param Framed]. +var viewport_position: Vector2 +var _follow_framed_initial_set: bool = false +var _follow_framed_offset: Vector3 + +@export_subgroup("Spring Arm") +var _follow_spring_arm: SpringArm3D + +## Defines the [member SpringArm3D.spring_length]. +@export var spring_length: float = 1: + set = set_spring_length, + get = get_spring_length + +## Defines the [member SpringArm3D.collision_mask] node's Collision Mask. +@export_flags_3d_physics var collision_mask: int = 1: + set = set_collision_mask, + get = get_collision_mask + +## Defines the [member SpringArm3D.shape] node's Shape3D. +@export var shape: Shape3D = null: + set = set_shape, + get = get_shape + +## Defines the [member SpringArm3D.margin] node's Margin. +@export var margin: float = 0.01: + set = set_margin, + get = get_margin + +@export_group("Look At Parameters") +## Offsets the target's [param Vector3] position that the +## [param PhantomCamera3D] is looking at. +@export var look_at_offset: Vector3 = Vector3.ZERO: + set = set_look_at_offset, + get = get_look_at_offset + +## Applies a damping effect on the camera's rotation. +## Leading to heavier / slower camera movement as the targeted node moves around. +## This is useful to avoid sharp and rapid camera rotation. +@export var look_at_damping: bool = false: + set = set_look_at_damping, + get = get_look_at_damping + +## Defines the Rotational damping amount. The ideal range is typicall somewhere between 0-1.[br][br] +## The damping amount can be specified in the individual axis.[br][br] +## [b]Lower value[/b] = faster / sharper camera rotation.[br] +## [b]Higher value[/b] = slower / heavier camera rotation. +@export_range(0.0, 1.0, 0.001, "or_greater") var look_at_damping_value: float = 0.25: + set = set_look_at_damping_value, + get = get_look_at_damping_value + +var _current_rotation: Vector3 + +#endregion + + +#region Property Validator + +func _validate_property(property: Dictionary) -> void: + ################ + ## Follow Target + ################ + if property.name == "follow_target": + if follow_mode == FollowMode.NONE or \ + follow_mode == FollowMode.GROUP: + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "follow_path" and \ + follow_mode != FollowMode.PATH: + property.usage = PROPERTY_USAGE_NO_EDITOR + + #################### + ## Follow Parameters + #################### + + if follow_mode == FollowMode.NONE: + match property.name: + "follow_offset", \ + "follow_damping", \ + "follow_damping_value": + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "follow_offset": + if follow_mode == FollowMode.PATH or \ + follow_mode == FollowMode.GLUED: + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "follow_damping_value" and not follow_damping: + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "follow_distance": + if not follow_mode == FollowMode.FRAMED: + if not follow_mode == FollowMode.GROUP or \ + auto_follow_distance: \ + property.usage = PROPERTY_USAGE_NO_EDITOR + + ############### + ## Group Follow + ############### + if property.name == "follow_targets" and \ + not follow_mode == FollowMode.GROUP: + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "auto_follow_distance" and \ + not follow_mode == FollowMode.GROUP: + property.usage = PROPERTY_USAGE_NO_EDITOR + + if not auto_follow_distance: + match property.name: + "auto_follow_distance_min", \ + "auto_follow_distance_max", \ + "auto_follow_distance_divisor": + property.usage = PROPERTY_USAGE_NO_EDITOR + + ############### + ## Framed Follow + ############### + if not follow_mode == FollowMode.FRAMED: + match property.name: + "dead_zone_width", \ + "dead_zone_height", \ + "show_viewfinder_in_play": + property.usage = PROPERTY_USAGE_NO_EDITOR + + ###################### + ## Third Person Follow + ###################### + if not follow_mode == FollowMode.THIRD_PERSON: + match property.name: + "spring_length", \ + "collision_mask", \ + "shape", \ + "margin": + property.usage = PROPERTY_USAGE_NO_EDITOR + + ########## + ## Look At + ########## + if look_at_mode == LookAtMode.NONE: + match property.name: + "look_at_target", \ + "look_at_offset" , \ + "look_at_damping", \ + "look_at_damping_value": + property.usage = PROPERTY_USAGE_NO_EDITOR + elif look_at_mode == LookAtMode.GROUP: + match property.name: + "look_at_target": + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "look_at_target": + if look_at_mode == LookAtMode.NONE or \ + look_at_mode == LookAtMode.GROUP: + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "look_at_targets" and \ + not look_at_mode == LookAtMode.GROUP: + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "look_at_damping_value" and \ + not look_at_damping: + property.usage = PROPERTY_USAGE_NO_EDITOR + + notify_property_list_changed() +#endregion + +#region Private Functions + +func _enter_tree() -> void: + PhantomCameraManager.pcam_added(self) + + if not PhantomCameraManager.get_phantom_camera_hosts().is_empty(): + set_pcam_host_owner(PhantomCameraManager.get_phantom_camera_hosts()[0]) + + #if not get_parent() is SpringArm3D: + #if look_at_target: + #_look_at_target_node = look_at_target + #elif look_at_targets: + #_look_at_group_nodes.clear() + #for path in look_at_targets: + #if not path.is_empty() and path: + #_should_look_at = true + #_has_look_at_targets = true + #_look_at_group_nodes.append(path) + + +func _exit_tree() -> void: + PhantomCameraManager.pcam_removed(self) + + if _has_valid_pcam_owner(): + get_pcam_host_owner().pcam_removed_from_scene(self) + + + +func _ready(): + if follow_mode == FollowMode.THIRD_PERSON: + if not Engine.is_editor_hint(): + if not is_instance_valid(_follow_spring_arm): + _follow_spring_arm = SpringArm3D.new() + _follow_spring_arm.top_level = true + _follow_spring_arm.rotation = global_rotation + _follow_spring_arm.position = _get_target_position_offset() if is_instance_valid(follow_target) else global_position + _follow_spring_arm.spring_length = spring_length + _follow_spring_arm.collision_mask = collision_mask + _follow_spring_arm.shape = shape + _follow_spring_arm.margin = margin + get_parent().add_child.call_deferred(_follow_spring_arm) + reparent.call_deferred(_follow_spring_arm) + if follow_mode == FollowMode.FRAMED: + if not Engine.is_editor_hint(): + _follow_framed_offset = global_position - _get_target_position_offset() + _current_rotation = global_rotation + + +func _process(delta: float) -> void: + if not _follow_target_physics_based: + _process_logic(delta) + + +func _physics_process(delta: float): + if _follow_target_physics_based: + _process_logic(delta) + + +func _process_logic(delta: float) -> void: + if not _is_active: + match inactive_update_mode: + InactiveUpdateMode.NEVER: return + # InactiveUpdateMode.EXPONENTIALLY: + # TODO - Trigger positional updates less frequently as more Pcams gets added + if _should_follow: + _follow(delta) + if _should_look_at: + _look_at() # TODO - Delta needs to be applied, pending Godot's 3D Physics Interpolation to be implemented + + +func _follow(delta: float) -> void: + var follow_position: Vector3 + + var follow_target_node: Node3D = self + + match follow_mode: + FollowMode.GLUED: + if follow_target: + follow_position = follow_target.global_position + FollowMode.SIMPLE: + if follow_target: + follow_position = _get_target_position_offset() + FollowMode.GROUP: + if follow_targets: + if follow_targets.size() == 1: + follow_position = \ + follow_targets[0].global_position + \ + follow_offset + \ + get_transform().basis.z * \ + Vector3(follow_distance, follow_distance, follow_distance) + + elif follow_targets.size() > 1: + var bounds: AABB = AABB(follow_targets[0].global_position, Vector3.ZERO) + for node in follow_targets: + if is_instance_valid(node): + bounds = bounds.expand(node.global_position) + + var distance: float + if auto_follow_distance: + distance = lerp(auto_follow_distance_min, auto_follow_distance_max, bounds.get_longest_axis_size() / auto_follow_distance_divisor) + distance = clamp(distance, auto_follow_distance_min, auto_follow_distance_max) + else: + distance = follow_distance + + follow_position = \ + bounds.get_center() + \ + follow_offset + \ + get_transform().basis.z * \ + Vector3(distance, distance, distance) + FollowMode.PATH: + if follow_target and follow_path: + var path_position: Vector3 = follow_path.global_position + follow_position = \ + follow_path.curve.get_closest_point( + follow_target.global_position - path_position + ) + path_position + FollowMode.FRAMED: + if follow_target: + if not Engine.is_editor_hint(): + if not _is_active || get_pcam_host_owner().get_trigger_pcam_tween(): + follow_position = _get_position_offset_distance() + _interpolate_position(follow_position, delta) + return + + viewport_position = get_viewport().get_camera_3d().unproject_position(_get_target_position_offset()) + var visible_rect_size: Vector2 = get_viewport().get_viewport().size + viewport_position = viewport_position / visible_rect_size + _current_rotation = global_rotation + + if _current_rotation != global_rotation: + follow_position = _get_position_offset_distance() + + if _get_framed_side_offset() != Vector2.ZERO: + var target_position: Vector3 = _get_target_position_offset() + _follow_framed_offset + var glo_pos: Vector3 + + if dead_zone_width == 0 || dead_zone_height == 0: + if dead_zone_width == 0 && dead_zone_height != 0: + glo_pos = _get_position_offset_distance() + glo_pos.z = target_position.z + follow_position = glo_pos + elif dead_zone_width != 0 && dead_zone_height == 0: + glo_pos = _get_position_offset_distance() + glo_pos.x = target_position.x + follow_position = glo_pos + else: + follow_position = _get_position_offset_distance() + else: + if _current_rotation != global_rotation: + var opposite: float = sin(-global_rotation.x) * follow_distance + _get_target_position_offset().y + glo_pos.y = _get_target_position_offset().y + opposite + glo_pos.z = sqrt(pow(follow_distance, 2) - pow(opposite, 2)) + _get_target_position_offset().z + glo_pos.x = global_position.x + + follow_position = glo_pos + _current_rotation = global_rotation + else: + follow_position = target_position + else: + _follow_framed_offset = global_position - _get_target_position_offset() + _current_rotation = global_rotation + return + else: + follow_position = _get_position_offset_distance() + var unprojected_position: Vector2 = _get_raw_unprojected_position() + var viewport_width: float = get_viewport().size.x + var viewport_height: float = get_viewport().size.y + var camera_aspect: Camera3D.KeepAspect = get_viewport().get_camera_3d().keep_aspect + var visible_rect_size: Vector2 = get_viewport().get_viewport().size + + unprojected_position = unprojected_position - visible_rect_size / 2 + if camera_aspect == Camera3D.KeepAspect.KEEP_HEIGHT: +# Landscape View + var aspect_ratio_scale: float = viewport_width / viewport_height + unprojected_position.x = (unprojected_position.x / aspect_ratio_scale + 1) / 2 + unprojected_position.y = (unprojected_position.y + 1) / 2 + else: +# Portrait View + var aspect_ratio_scale: float = viewport_height / viewport_width + unprojected_position.x = (unprojected_position.x + 1) / 2 + unprojected_position.y = (unprojected_position.y / aspect_ratio_scale + 1) / 2 + + viewport_position = unprojected_position + FollowMode.THIRD_PERSON: + if follow_target: + if not Engine.is_editor_hint(): + if is_instance_valid(follow_target) and is_instance_valid(_follow_spring_arm): + follow_position = _get_target_position_offset() + follow_target_node = _follow_spring_arm + else: + follow_position = _get_position_offset_distance() + + _interpolate_position(follow_position, delta, follow_target_node) + + +func _look_at() -> void: + match look_at_mode: + LookAtMode.MIMIC: + global_rotation = look_at_target.global_rotation + LookAtMode.SIMPLE: + _interpolate_rotation(look_at_target.global_position) + LookAtMode.GROUP: + if not _multiple_look_at_targets: + if look_at_targets.size() == 0: return + _interpolate_rotation(look_at_targets[0].global_position) + else: + var bounds: AABB = AABB(look_at_targets[0].global_position, Vector3.ZERO) + for node in look_at_targets: + bounds = bounds.expand(node.global_position) + _interpolate_rotation(bounds.get_center()) + + +func _get_target_position_offset() -> Vector3: + return follow_target.global_position + follow_offset + + +func _get_position_offset_distance() -> Vector3: + return _get_target_position_offset() + \ + get_transform().basis.z * Vector3(follow_distance, follow_distance, follow_distance) + + +func _set_follow_velocity(index: int, value: float) -> void: + _follow_velocity_ref[index] = value +func _interpolate_position(target_position: Vector3, delta: float, camera_target: Node3D = self) -> void: + if follow_damping: + for index in 3: + camera_target.global_position[index] = _smooth_damp( + target_position[index], + camera_target.global_position[index], + index, + _follow_velocity_ref[index], + _set_follow_velocity, + follow_damping_value[index] + ) + else: + camera_target.global_position = target_position + + +func _interpolate_rotation(target_trans: Vector3) -> void: + var direction: Vector3 = (target_trans - global_position + look_at_offset).normalized() + var target_basis: Basis = Basis().looking_at(direction) + var target_quat: Quaternion = target_basis.get_rotation_quaternion().normalized() + if look_at_damping: + var current_quat: Quaternion = quaternion.normalized() + + var damping_time: float = max(0.0001, look_at_damping_value) + var t: float = min(1.0, get_process_delta_time() / damping_time) + + var dot: float = current_quat.dot(target_quat) + + if dot < 0.0: + target_quat = -target_quat + dot = -dot + + dot = clampf(dot, -1.0, 1.0) + + var theta: float = acos(dot) * t + var sin_theta: float = sin(theta) + var sin_theta_total: float = sin(acos(dot)) + + # Stop interpolating once sin_theta_total reaches a very low value or 0 + if sin_theta_total < 0.00001: + return + + var ratio_a: float = cos(theta) - dot * sin_theta / sin_theta_total + var ratio_b: float = sin_theta / sin_theta_total + + quaternion = current_quat * ratio_a + target_quat * ratio_b + else: + quaternion = target_quat + + +func _smooth_damp(target_axis: float, self_axis: float, index: int, current_velocity: float, set_velocity: Callable, damping_time: float, rot: bool = false) -> float: + damping_time = maxf(0.0001, damping_time) + var omega: float = 2 / damping_time + var delta: float = get_process_delta_time() + var x: float = omega * delta + var exponential: float = 1 / (1 + x + 0.48 * x * x + 0.235 * x * x * x) + var diff: float = self_axis - target_axis + var _target_axis: float = target_axis + + var max_change: float = INF * damping_time + diff = clampf(diff, -max_change, max_change) + target_axis = self_axis - diff + + var temp: float = (current_velocity + omega * diff) * delta + set_velocity.call(index, (current_velocity - omega * temp) * exponential) + var output: float = target_axis + (diff + temp) * exponential + + ## To prevent overshooting + if (_target_axis - self_axis > 0.0) == (output > _target_axis): + output = _target_axis + set_velocity.call(index, (output - _target_axis) / delta) + + return output + + +func _get_raw_unprojected_position() -> Vector2: + return get_viewport().get_camera_3d().unproject_position(follow_target.global_position + follow_offset) + + +func _on_dead_zone_changed() -> void: + global_position = _get_position_offset_distance() + + +func _get_framed_side_offset() -> Vector2: + var frame_out_bounds: Vector2 + + if viewport_position.x < 0.5 - dead_zone_width / 2: + # Is outside left edge + frame_out_bounds.x = -1 + + if viewport_position.y < 0.5 - dead_zone_height / 2: + # Is outside top edge + frame_out_bounds.y = 1 + + if viewport_position.x > 0.5 + dead_zone_width / 2: + # Is outside right edge + frame_out_bounds.x = 1 + + if viewport_position.y > 0.5001 + dead_zone_height / 2: # 0.501 to resolve an issue where the bottom vertical Dead Zone never becoming 0 when the Dead Zone Vertical parameter is set to 0 + # Is outside bottom edge + frame_out_bounds.y = -1 + + return frame_out_bounds + +func _set_layer(current_layers: int, layer_number: int, value: bool) -> int: + var mask: int = current_layers + + # From https://github.com/godotengine/godot/blob/51991e20143a39e9ef0107163eaf283ca0a761ea/scene/3d/camera_3d.cpp#L638 + if layer_number < 1 or layer_number > 20: + printerr("Render layer must be between 1 and 20.") + else: + if value: + mask |= 1 << (layer_number - 1) + else: + mask &= ~(1 << (layer_number - 1)) + + return mask + +func _has_valid_pcam_owner() -> bool: + if not is_instance_valid(get_pcam_host_owner()): return false + if not is_instance_valid(get_pcam_host_owner().camera_3d): return false + return true + +#endregion + +# TBD +#func get_unprojected_position() -> Vector2: + #var unprojected_position: Vector2 = _get_raw_unprojected_position() + #var viewport_width: float = get_viewport().size.x + #var viewport_height: float = get_viewport().size.y + #var camera_aspect: Camera3D.KeepAspect = get_viewport().get_camera_3d().keep_aspect + #var visible_rect_size: Vector2 = get_viewport().size +# + #unprojected_position = unprojected_position - visible_rect_size / 2 + #if camera_aspect == Camera3D.KeepAspect.KEEP_HEIGHT: +## print("Landscape View") + #var aspect_ratio_scale: float = viewport_width / viewport_height + #unprojected_position.x = (unprojected_position.x / aspect_ratio_scale + 1) / 2 + #unprojected_position.y = (unprojected_position.y + 1) / 2 + #else: +## print("Portrait View") + #var aspect_ratio_scale: float = viewport_height / viewport_width + #unprojected_position.x = (unprojected_position.x + 1) / 2 + #unprojected_position.y = (unprojected_position.y / aspect_ratio_scale + 1) / 2 +# + #return unprojected_position + + +#region Setter & Getter Functions + +## Assigns the value of the [param has_tweened] property.[br] +## [b][color=yellow]Important:[/color][/b] This value can only be changed +## from the [PhantomCameraHost] script. +func set_has_tweened(caller: Node, value: bool) -> void: + if is_instance_of(caller, PhantomCameraHost): + _has_tweened = value + else: + printerr("Can only be called PhantomCameraHost class") +## Returns the current [param has_tweened] value. +func get_has_tweened() -> bool: + return _has_tweened + + +## Assigns the [param PhantomCamera3D] to a new [PhantomCameraHost].[br] +## [b][color=yellow]Important:[/color][/b] This is currently restricted to +## plugin internals. Proper support will be added in issue #26. +func set_pcam_host_owner(value: PhantomCameraHost) -> void: + pcam_host_owner = value + if is_instance_valid(pcam_host_owner): + pcam_host_owner.pcam_added_to_scene(self) + + #if value.size() == 1: +# else: +# for camera_host in camera_host_group: +# print("Multiple PhantomCameraBases in scene") +# print(pcam_host_group) +# print(pcam.get_tree().get_nodes_in_group(PhantomCameraGroupNames.PHANTOM_CAMERA_HOST_GROUP_NAME)) +# multiple_pcam_host_group.append(camera_host) +# return null +## Sets a PCamHost to +#func assign_pcam_host(value: PhantomCameraHost) -> void: + #pcam_host_owner = value +## Gets the current [PhantomCameraHost] this [param PhantomCamera3D] is +## assigned to. +func get_pcam_host_owner() -> PhantomCameraHost: + return pcam_host_owner + + +## Assigns new [member priority] value. +func set_priority(value: int) -> void: + priority = abs(value) # TODO - Make any minus values be 0 + if _has_valid_pcam_owner(): + get_pcam_host_owner().pcam_priority_updated(self) +## Gets current [param Priority] value. +func get_priority() -> int: + return priority + + +## Assigns a new [PhantomCameraTween] resource to the [param PhantomCamera3D]. +func set_tween_resource(value: PhantomCameraTween) -> void: + tween_resource = value +## Gets the [param PhantomCameraTween] resource assigned to the [param PhantomCamera3D]. +## Returns null if there's nothing assigned to it. +func get_tween_resource() -> PhantomCameraTween: + return tween_resource + +## Assigns a new [param Tween Duration] to the [member tween_resource] value.[br] +## The duration value is in seconds. +func set_tween_duration(value: float) -> void: + tween_resource.duration = value +## Gets the current [param Tween] Duration value. The duration value is in +## [param seconds]. +func get_tween_duration() -> float: + return tween_resource.duration + +## Assigns a new [param Tween Transition] to the [member tween_resource] value.[br] +## The duration value is in seconds. +func set_tween_transition(value: int) -> void: + tween_resource.transition = value +## Gets the current [param Tween Transition] value. +func get_tween_transition() -> int: + return tween_resource.transition + +## Assigns a new [param Tween Ease] to the [member tween_resource] value.[br] +## The duration value is in seconds. +func set_tween_ease(value: int) -> void: + tween_resource.ease = value +## Gets the current [param Tween Ease] value. +func get_tween_ease() -> int: + return tween_resource.ease + +## Sets the [param PhantomCamera3D] active state[br] +## [b][color=yellow]Important:[/color][/b] This value can only be changed +## from the [PhantomCameraHost] script. +func set_is_active(node: Node, value: bool) -> void: + if node is PhantomCameraHost: + _is_active = value + else: + printerr("PCams can only be set from the PhantomCameraHost") +## Gets current active state of the [param PhantomCamera3D]. +## If it returns true, it means the [param PhantomCamera3D] is what the +## [param Camera3D] is currently following. +func is_active() -> bool: + return _is_active + + +## Enables or disables the [member tween_on_load]. +func set_tween_on_load(value: bool) -> void: + tween_on_load = value +## Gets the current [member tween_on_load] value. +func get_tween_on_load() -> bool: + return tween_on_load + + +## Gets the current follow mode as an enum int based on [member FollowMode] enum.[br] +## [b]Note:[/b] Setting [member follow_mode] has purposely not been added. +## A separate [param PhantomCamera3D] instance should be used instead. +func get_follow_mode() -> int: + return follow_mode + + +## Assigns a new [Node3D] as the [member follow_target]. +func set_follow_target(value: Node3D) -> void: + if follow_target == value: return + follow_target = value + + _follow_target_physics_based = false + if is_instance_valid(value): + _should_follow = true + _check_physics_body(value) + else: + _should_follow = false + follow_target_changed.emit() + notify_property_list_changed() +## Removes the current [Node3D] [member follow_target]. +func erase_follow_target() -> void: + if follow_target == null: return + _follow_target_physics_based = false + _should_follow = false + follow_target = null + follow_target_changed.emit() +## Gets the current Node3D target. +func get_follow_target() -> Node3D: + return follow_target + + +## Assigns a new [Path3D] to the [member follow_path] property. +func set_follow_path(value: Path3D) -> void: + follow_path = value +## Erases the current [Path3D] from [member follow_path] property. +func erase_follow_path() -> void: + follow_path = null +## Gets the current [Path3D] from the [member follow_path] property. +func get_follow_path() -> Path3D: + return follow_path + + +## Assigns a new [param follow_targets] array value. +func set_follow_targets(value: Array[Node3D]) -> void: + if follow_targets == value: return + + follow_targets = value + + if follow_targets.is_empty(): + _should_follow = false + _has_multiple_follow_targets = false + _follow_target_physics_based = false + return + + var valid_instances: int + _follow_target_physics_based = false + for target in follow_targets: + if is_instance_valid(target): + _should_follow = true + valid_instances += 1 + + _check_physics_body(target) + + if valid_instances > 1: + _has_multiple_follow_targets = true +## Adds a single [Node3D] to [member follow_targets] array. +func append_follow_targets(value: Node3D) -> void: + if not is_instance_valid(value): + printerr(value, " is not a valid instance") + return + + if not follow_targets.has(value): + follow_targets.append(value) + _should_follow = true + _has_multiple_follow_targets = true + _check_physics_body(value) + else: + printerr(value, " is already part of Follow Group") +## Adds an Array of type [Node3D] to [member follow_targets] array. +func append_follow_targets_array(value: Array[Node3D]) -> void: + for target in value: + if not is_instance_valid(target): continue + if not follow_targets.has(target): + follow_targets.append(target) + _should_follow = true + _check_physics_body(target) + if follow_targets.size() > 1: + _has_multiple_follow_targets = true + else: + printerr(value, " is already part of Follow Group") +## Removes [Node3D] from [member follow_targets]. +func erase_follow_targets(value: Node3D) -> void: + follow_targets.erase(value) + _follow_target_physics_based = false + for target in follow_targets: + _check_physics_body(target) + + if follow_targets.size() < 2: + _has_multiple_follow_targets = false + if follow_targets.size() < 1: + _should_follow = false +## Gets all [Node3D] from [follow_targets]. +func get_follow_targets() -> Array[Node3D]: + return follow_targets + +## Returns true if the [param PhantomCamera3D] has more than one member in the +## [member follow_targets] array. +func get_has_multiple_follow_targets() -> bool: + return _has_multiple_follow_targets + +func _check_physics_body(target: Node3D) -> void: + if target is PhysicsBody3D: + ## NOTE - Feature Toggle + #if Engine.get_version_info().major == 4 and \ + #Engine.get_version_info().minor < XX: + if ProjectSettings.get_setting("phantom_camera/tips/show_jitter_tips"): + print_rich("Following or Looking at a [b]PhysicsBody3D[/b] node will likely result in jitter - on lower physics ticks in particular.") + print_rich("Will have proper support once 3D Physics Interpolation becomes part of the core Godot engine.") + print_rich("Until then, try following the guide on the [url=https://phantom-camera.dev/support/faq#i-m-seeing-jitter-what-can-i-do]documentation site[/url] for better results.") + print_rich("This tip can be disabled from within [code]Project Settings / Phantom Camera / Tips / Show Jitter Tips[/code]") + return + ## TODO - Enable once Godot supports 3D Physics Interpolation + #elif not ProjectSettings.get_setting("physics/common/physics_interpolation"): + #printerr("Physics Interpolation is disabled in the Project Settings, recommend enabling it to smooth out physics-based camera movement") + #_follow_target_physics_based = true + + +## Assigns a new [param Vector3] for the [param follow_offset] property. +func set_follow_offset(value: Vector3) -> void: + follow_offset = value + +## Gets the current [param Vector3] for the [param follow_offset] property. +func get_follow_offset() -> Vector3: + return follow_offset + + +## Enables or disables [member follow_damping]. +func set_follow_damping(value: bool) -> void: + follow_damping = value + notify_property_list_changed() + +## Gets the currents [member follow_damping] property. +func get_follow_damping() -> bool: + return follow_damping + + +## Assigns new [member follow_damping_value] value. +func set_follow_damping_value(value: Vector3) -> void: + ## TODO - Should be using @export_range once minimum version support is Godot 4.3 + if value.x < 0: value.x = 0 + elif value.y < 0: value.y = 0 + elif value.z < 0: value.z = 0 + follow_damping_value = value + +## Gets the currents [member follow_damping_value] value. +func get_follow_damping_value() -> Vector3: + return follow_damping_value + + +## Assigns a new [member follow_distance] value. +func set_follow_distance(value: float) -> void: + follow_distance = value + +## Gets [member follow_distance] value. +func get_follow_distance() -> float: + return follow_distance + + +## Enables or disables [member auto_follow_distance] when using Group Follow. +func set_auto_follow_distance(value: bool) -> void: + auto_follow_distance = value + notify_property_list_changed() + +## Gets [member auto_follow_distance] state. +func get_auto_follow_distance() -> bool: + return auto_follow_distance + + +## Assigns new [member auto_follow_distance_min] value. +func set_auto_follow_distance_min(value: float) -> void: + auto_follow_distance_min = value + +## Gets [member auto_follow_distance_min] value. +func get_auto_follow_distance_min() -> float: + return auto_follow_distance_min + + +## Assigns new [member auto_follow_distance_max] value. +func set_auto_follow_distance_max(value: float) -> void: + auto_follow_distance_max = value +## Gets [member auto_follow_distance_max] value. +func get_auto_follow_distance_max() -> float: + return auto_follow_distance_max + + +## Assigns new [member auto_follow_distance_divisor] value. +func set_auto_follow_distance_divisor(value: float) -> void: + auto_follow_distance_divisor = value + +## Gets [member auto_follow_distance_divisor] value. +func get_auto_follow_distance_divisor() -> float: + return auto_follow_distance_divisor + + +## Assigns new rotation (in radians) value to [SpringArm3D] for +## [param ThirdPerson] [enum FollowMode]. +func set_third_person_rotation(value: Vector3) -> void: + _follow_spring_arm.rotation = value + +## Gets the rotation value (in radians) from the [SpringArm3D] for +## [param ThirdPerson] [enum FollowMode]. +func get_third_person_rotation() -> Vector3: + return _follow_spring_arm.rotation + + +## Assigns new rotation (in degrees) value to [SpringArm3D] for +## [param ThirdPerson] [enum FollowMode]. +func set_third_person_rotation_degrees(value: Vector3) -> void: + _follow_spring_arm.rotation_degrees = value + +## Gets the rotation value (in degrees) from the [SpringArm3D] for +## [param ThirdPerson] [enum FollowMode]. +func get_third_person_rotation_degrees() -> Vector3: + return _follow_spring_arm.rotation_degrees + + +## Assigns new [Quaternion] value to [SpringArm3D] for [param ThirdPerson] +## [enum FollowMode]. +func set_third_person_quaternion(value: Quaternion) -> void: + _follow_spring_arm.quaternion = value + +## Gets the [Quaternion] value of the [SpringArm3D] for [param ThirdPerson] +## [enum Follow mode]. +func get_third_person_quaternion() -> Quaternion: + return _follow_spring_arm.quaternion + + +## Assigns a new ThirdPerson [member SpringArm3D.length] value. +func set_spring_length(value: float) -> void: + follow_distance = value + if is_instance_valid(_follow_spring_arm): + _follow_spring_arm.spring_length = value + +## Gets the [member SpringArm3D.length] +## from a [param ThirdPerson] [enum follow_mode] instance. +func get_spring_length() -> float: + return follow_distance + + +## Assigns a new [member collision_mask] to the [SpringArm3D] when [enum FollowMode] +## is set to [param ThirdPerson]. +func set_collision_mask(value: int) -> void: + collision_mask = value + if is_instance_valid(_follow_spring_arm): + _follow_spring_arm.collision_mask = collision_mask + +## Enables or disables a specific [member collision_mask] layer for the +## [SpringArm3D] when [enum FollowMode] is set to [param ThirdPerson]. +func set_collision_mask_value(value: int, enabled: bool) -> void: + collision_mask = _set_layer(collision_mask, value, enabled) + if is_instance_valid(_follow_spring_arm): + _follow_spring_arm.collision_mask = collision_mask + +## Gets [member collision_mask] from the [SpringArm3D] when [enum FollowMode] +## is set to [param ThirdPerson]. +func get_collision_mask() -> int: + return collision_mask + + +## Assigns a new [SpringArm3D.shape] when [enum FollowMode] +## is set to [param ThirdPerson]. +func set_shape(value: Shape3D) -> void: + shape = value + if is_instance_valid(_follow_spring_arm): + _follow_spring_arm.shape = shape + +## Gets [param ThirdPerson] [member SpringArm3D.shape] value. +func get_shape() -> Shape3D: + return shape + + +## Assigns a new [member SpringArm3D.margin] value when [enum FollowMode] +## is set to [param ThirdPerson]. +func set_margin(value: float) -> void: + margin = value + if is_instance_valid(_follow_spring_arm): + _follow_spring_arm.margin = margin + +## Gets the [SpringArm3D.margin] when [enum FollowMode] is set to +## [param ThirdPerson]. +func get_margin() -> float: + return margin + + +## Gets the current [member look_at_mode]. Value is based on [enum LookAtMode] +## enum.[br] +## Note: To set a new [member look_at_mode], a separate [param PhantomCamera3D] should +## be used. +func get_look_at_mode() -> int: + return look_at_mode + + +## Assigns new [Node3D] as [member look_at_target]. +func set_look_at_target(value: Node3D) -> void: + look_at_target = value + _check_physics_body(value) + #_look_at_target_node = get_node_or_null(value) + look_at_target_changed + if is_instance_valid(look_at_target): + _should_look_at = true + else: + _should_look_at = false + notify_property_list_changed() + +## Gets current [Node3D] from [member look_at_target] property. +func get_look_at_target(): + return look_at_target + + +## Sets an array of type [Node3D] to [member set_look_at_targets]. +func set_look_at_targets(value: Array[Node3D]) -> void: + if look_at_targets == value: return + look_at_targets = value + + if look_at_mode != LookAtMode.GROUP: return + + if look_at_targets.is_empty(): + _should_look_at = false + _multiple_look_at_targets = false + else: + var valid_instances: int = 0 + for target in look_at_targets: + if is_instance_valid(target): + valid_instances += 1 + _should_look_at = true + _valid_look_at_targets.append(target) + _check_physics_body(target) + + if valid_instances > 1: + _multiple_look_at_targets = true + elif valid_instances == 0: + _should_look_at = false + _multiple_look_at_targets = false + notify_property_list_changed() + +## Appends a [Node3D] to [member look_at_targets] array. +func append_look_at_target(value: Node3D) -> void: + if not look_at_targets.has(value): + look_at_targets.append(value) + _valid_look_at_targets.append(value) + _check_physics_body(value) + if look_at_targets.size() > 1: + _multiple_look_at_targets = true + else: + printerr(value, " is already part of Look At Group") + +## Appends an array of type [Node3D] to [member look_at_targets] array. +func append_look_at_targets_array(value: Array[NodePath]) -> void: + for val in value: + if not look_at_targets.has(get_node(val)): + var node: Node3D = get_node(val) + look_at_targets.append(node) + _valid_look_at_targets.append(node) + _check_physics_body(node) + if look_at_targets.size() > 1: + _multiple_look_at_targets = true + else: + printerr(val, " is already part of Look At Group") + +## Removes [Node3D] from [member look_at_targets] array. +func erase_look_at_targets_member(value: Node3D) -> void: + look_at_targets.erase(value) + _valid_look_at_targets.erase(value) + _check_physics_body(value) + if look_at_targets.size() < 1: + _multiple_look_at_targets = false + +## Gets all the [Node3D] instances in [member look_at_targets]. +func get_look_at_targets() -> Array[Node3D]: + return look_at_targets + + +## Assigns a new [Vector3] to the [member look_at_offset] value. +func set_look_at_offset(value: Vector3) -> void: + look_at_offset = value + +## Gets the current [member look_at_offset] value. +func get_look_at_offset() -> Vector3: + return look_at_offset + + +## Enables or disables [member look_at_damping]. +func set_look_at_damping(value: bool) -> void: + look_at_damping = value + notify_property_list_changed() + +## Gets the currents [member look_at_damping] property. +func get_look_at_damping() -> bool: + return look_at_damping + + +## Assigns new [member look_at_damping_value] value. +func set_look_at_damping_value(value: float) -> void: + look_at_damping_value = value + +## Gets the currents [member look_at_damping_value] value. +func get_look_at_damping_value() -> float: + return look_at_damping_value + + +## Sets [member inactive_update_mode] property. +func set_inactive_update_mode(value: int) -> void: + inactive_update_mode = value + +## Gets [member inactive_update_mode] property. +func get_inactive_update_mode() -> int: + return inactive_update_mode + + +## Assigns a [Camera3DResource]. +func set_camera_3d_resource(value: Camera3DResource) -> void: + camera_3d_resource = value + +## Gets the [Camera3DResource] +func get_camera_3d_resource() -> Camera3DResource: + return camera_3d_resource + + +## Assigns a new [member Camera3D.cull_mask] value.[br] +## [b]Note:[/b] This will override and make the [param Camera3DResource] unique to +## this [param PhantomCamera3D]. +func set_cull_mask(value: int) -> void: + camera_3d_resource.cull_mask = value + if _is_active: get_pcam_host_owner().camera_3d.cull_mask = value + +## Enables or disables a specific [member Camera3D.cull_mask] layer.[br] +## [b]Note:[/b] This will override and make the [param Camera3DResource] unique to +## this [param PhantomCamera3D]. +func set_cull_mask_value(layer_number: int, value: bool) -> void: + var mask: int = _set_layer(get_cull_mask(), layer_number, value) + camera_3d_resource.cull_mask = mask + if _is_active: get_pcam_host_owner().camera_3d.cull_mask = mask + +## Gets the [member Camera3D.cull_mask] value assigned to the [Camera3DResource]. +func get_cull_mask() -> int: + return camera_3d_resource.cull_mask + + +## Assigns a new [member Camera3D.h_offset] value.[br] +## [b]Note:[/b] This will override and make the [param Camera3DResource] unique to +## this [param PhantomCamera3D]. +func set_h_offset(value: float) -> void: + camera_3d_resource.h_offset = value + if _is_active: get_pcam_host_owner().camera_3d.h_offset = value + +## Gets the [member Camera3D.h_offset] value assigned to the [param Camera3DResource]. +func get_h_offset() -> float: + return camera_3d_resource.h_offset + + +## Assigns a new [Camera3D.v_offset] value.[br] +## [b]Note:[/b] This will override and make the [param Camera3DResource] unique to +## this [param PhantomCamera3D]. +func set_v_offset(value: float) -> void: + camera_3d_resource.v_offset = value + if _is_active: get_pcam_host_owner().camera_3d.v_offset = value + +## Gets the [member Camera3D.v_offset] value assigned to the [param Camera3DResource]. +func get_v_offset() -> float: + return camera_3d_resource.v_offset + + +## Assigns a new [Camera3D.projection] value.[br] +## [b]Note:[/b] This will override and make the [param Camera3DResource] unique to +## this [param PhantomCamera3D]. +func set_projection(value: int) -> void: + camera_3d_resource.projection = value + if _is_active: get_pcam_host_owner().camera_3d.projection = value + +## Gets the [member Camera3D.projection] value assigned to the [param Camera3DResource]. +func get_projection() -> int: + return camera_3d_resource.projection + + +## Assigns a new [member Camera3D.fov] value.[br] +## [b]Note:[/b] This will override and make the [param Camera3DResource] unique to +## this [param PhantomCamera3D]. +func set_fov(value: float) -> void: + camera_3d_resource.fov = value + if _is_active: get_pcam_host_owner().camera_3d.fov = value + +## Gets the [member Camera3D.fov] value assigned to the [param Camera3DResource]. +func get_fov() -> float: + return camera_3d_resource.fov + + +## Assigns a new [member Camera3D.size] value.[br] +## [b]Note:[/b] This will override and make the [param Camera3DResource] unique to +## this [param PhantomCamera3D]. +func set_size(value: float) -> void: + camera_3d_resource.size = value + if _is_active: get_pcam_host_owner().camera_3d.size = value + +## Gets the [member Camera3D.size] value assigned to the [param Camera3DResource]. +func get_size() -> float: + return camera_3d_resource.size + + +## Assigns a new [member Camera3D.frustum_offset] value.[br] +## [b]Note:[/b] This will override and make the [param Camera3DResource] unique to +## this [param PhantomCamera3D]. +func set_frustum_offset(value: Vector2) -> void: + camera_3d_resource.frustum_offset = value + if _is_active: get_pcam_host_owner().camera_3d.frustum_offset = value + +## Gets the [member Camera3D.frustum_offset] value assigned to the [param Camera3DResource]. +func get_frustum_offset() -> Vector2: + return camera_3d_resource.frustum_offset + + +## Assigns a new [member Camera3D.near] value.[br] +## [b]Note:[/b] This will override and make the [param Camera3DResource] unique to +## this [param PhantomCamera3D]. +func set_near(value: float) -> void: + camera_3d_resource.near = value + if _is_active: get_pcam_host_owner().camera_3d.near = value + +## Gets the [member Camera3D.near] value assigned to the [param Camera3DResource]. +func get_near() -> float: + return camera_3d_resource.near + + +## Assigns a new [member Camera3D.far] value.[br] +## [b]Note:[/b] This will override and make the [param Camera3DResource] unique to +## this [param PhantomCamera3D]. +func set_far(value: float) -> void: + camera_3d_resource.far = value + if _is_active: get_pcam_host_owner().camera_3d.far = value + +## Gets the [member Camera3D.far] value assigned to the [param Camera3DResource]. +func get_far() -> float: + return camera_3d_resource.far + + +func set_follow_target_physics_based(value: bool, caller: Node) -> void: + if is_instance_of(caller, PhantomCameraHost): + _follow_target_physics_based = value + else: + printerr("set_follow_target_physics_based is for internal use only.") + +func get_follow_target_physics_based() -> bool: + return _follow_target_physics_based + + +func get_class() -> String: + return "PhantomCamera3D" + + +func is_class(value) -> bool: + return value == "PhantomCamera3D" + +#endregion diff --git a/addons/phantom_camera/scripts/phantom_camera/phantom_camera_constants.gd b/addons/phantom_camera/scripts/phantom_camera/phantom_camera_constants.gd new file mode 100644 index 0000000..306a06f --- /dev/null +++ b/addons/phantom_camera/scripts/phantom_camera/phantom_camera_constants.gd @@ -0,0 +1,28 @@ +@tool +extends RefCounted + +#region Constants + +#const PhantomCameraHost: Script = preload("res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd") + +const CAMERA_2D_NODE_NAME: StringName = "Camera2D" +const CAMERA_3D_NODE_NAME: StringName = "Camera3D" +const PCAM_HOST_NODE_NAME: StringName = "PhantomCameraHost" +const PCAM_2D_NODE_NAME: StringName = "PhantomCamera2D" +const PCAM_3D_NODE_NAME: StringName = "PhantomCamera3D" +const PCAM_HOST: StringName = "phantom_camera_host" + +const COLOR_2D: Color = Color("8DA5F3") +const COLOR_3D: Color = Color("FC7F7F") +const COLOR_PCAM: Color = Color("3AB99A") +const COLOR_PCAM_33: Color = Color("3ab99a33") +const PCAM_HOST_COLOR: Color = Color("E0E0E0") + +#endregion + +#region Group Names + +const PCAM_GROUP_NAME: StringName = "phantom_camera_group" +const PCAM_HOST_GROUP_NAME: StringName = "phantom_camera_host_group" + +#endregion diff --git a/addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd b/addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd new file mode 100644 index 0000000..ca8c014 --- /dev/null +++ b/addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd @@ -0,0 +1,697 @@ +@tool +@icon("res://addons/phantom_camera/icons/phantom_camera_host.svg") +class_name PhantomCameraHost +extends Node + +## Controls a scene's [Camera2D] (2D scenes) and [Camera3D] (3D scenes). +## +## All instantiated [param PhantomCameras] in a scene are assign to and managed by a +## PhantomCameraHost. It is what determines which [param PhantomCamera] should +## be active. + +#region Constants + +const _constants := preload("res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_constants.gd") + +#endregion + + +#region Signals + +## Updates the viewfinder [param dead zones] sizes.[br] +## [b]Note:[/b] This is only being used in the editor viewfinder UI. +signal update_editor_viewfinder + +#endregion + + +#region Variables + +enum InterpolationMode { + AUTO = 0, + IDLE = 1, + PHYSICS = 2, +} + +## TBD - For when Godot 4.3 becomes the minimum version +#@export var interpolation_mode: InterpolationMode = InterpolationMode.AUTO: + #set = set_interpolation_mode, + #get = get_interpolation_mode + + +## For 2D scenes, is the [Camera2D] instance the [param PhantomCameraHost] controls. +var camera_2d: Camera2D = null +## For 3D scenes, is the [Camera3D] instance the [param PhantomCameraHost] controls. +var camera_3d = null ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. + +var _pcam_list: Array[Node] = [] + +var _active_pcam_2d: PhantomCamera2D = null +var _active_pcam_3d = null ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. +var _active_pcam_priority: int = -1 +var _active_pcam_missing: bool = true +var _active_pcam_has_damping: bool = false +var _follow_target_physics_based: bool = false + +var _prev_active_pcam_2d_transform: Transform2D = Transform2D() +var _prev_active_pcam_3d_transform: Transform3D = Transform3D() + +var _trigger_pcam_tween: bool = false +var _tween_elapsed_time: float = 0 +var _tween_duration: float = 0 + +var _multiple_pcam_hosts: bool = false + +var _is_child_of_camera: bool = false +var _is_2D: bool = false + + +var _viewfinder_node: Control = null +var _viewfinder_needed_check: bool = true + +var _camera_zoom: Vector2 = Vector2.ONE + +#region Camera3DResource +var _prev_cam_h_offset: float = 0 +var _cam_h_offset_changed: bool = false + +var _prev_cam_v_offset: float = 0 +var _cam_v_offset_changed: bool = false + +var _prev_cam_fov: float = 75 +var _cam_fov_changed: bool = false + +var _prev_cam_size: float = 1 +var _cam_size_changed: bool = false + +var _prev_cam_frustum_offset: Vector2 = Vector2.ZERO +var _cam_frustum_offset_changed: bool = false + +var _prev_cam_near: float = 0.05 +var _cam_near_changed: bool = false + +var _prev_cam_far: float = 4000 +var _cam_far_changed: bool = false +#endregion + +var _active_pcam_2d_glob_transform: Transform2D = Transform2D() +var _active_pcam_3d_glob_transform: Transform3D = Transform3D() + +#endregion + + +#region Private Functions + +## TBD - For when Godot 4.3 becomes a minimum version +#func _validate_property(property: Dictionary) -> void: + #if property.name == "interpolation_mode" and get_parent() is Node3D: + #property.usage = PROPERTY_USAGE_NO_EDITOR + + +func _get_configuration_warnings() -> PackedStringArray: + var parent = get_parent() + + if _is_2D: + if not parent is Camera2D: + return ["Needs to be a child of a Camera2D in order to work."] + else: + return [] + else: + if not parent.is_class("Camera3D"): ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. + return ["Needs to be a child of a Camera3D in order to work."] + else: + return [] + + +func _enter_tree() -> void: + var parent = get_parent() + + if parent is Camera2D or parent.is_class("Camera3D"): ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. + _is_child_of_camera = true + if parent is Camera2D: + _is_2D = true + camera_2d = parent + ## Force applies position smoothing to be disabled + ## This is to prevent overlap with the interpolation of the PCam2D. + camera_2d.set_position_smoothing_enabled(false) + else: + _is_2D = false + camera_3d = parent + + PhantomCameraManager.pcam_host_added(self) +# var already_multi_hosts: bool = multiple_pcam_hosts + + _check_camera_host_amount() + + if _multiple_pcam_hosts: + printerr( + "Only one PhantomCameraHost can exist in a scene", + "\n", + "Multiple PhantomCameraHosts will be supported in https://github.com/ramokz/phantom-camera/issues/26" + ) + queue_free() + + if _is_2D: + if not PhantomCameraManager.get_phantom_camera_2ds().is_empty(): + for pcam in PhantomCameraManager.get_phantom_camera_2ds(): + pcam_added_to_scene(pcam) + pcam.set_pcam_host_owner(self) + else: + if not PhantomCameraManager.get_phantom_camera_3ds().is_empty(): + for pcam in PhantomCameraManager.get_phantom_camera_3ds(): + pcam_added_to_scene(pcam) + pcam.set_pcam_host_owner(self) + + +func _exit_tree() -> void: + PhantomCameraManager.pcam_host_removed(self) + _check_camera_host_amount() + + +func _ready() -> void: + if not is_instance_valid(_active_pcam_2d) or is_instance_valid(_active_pcam_3d): return + if _is_2D: + _active_pcam_2d_glob_transform = _active_pcam_2d.get_global_transform() + else: + _active_pcam_3d_glob_transform = _active_pcam_3d.get_global_transform() + + +func _check_camera_host_amount() -> void: + if PhantomCameraManager.get_phantom_camera_hosts().size() > 1: + _multiple_pcam_hosts = true + else: + _multiple_pcam_hosts = false + + +func _assign_new_active_pcam(pcam: Node) -> void: + var no_previous_pcam: bool + + if is_instance_valid(_active_pcam_2d) or is_instance_valid(_active_pcam_3d): + if _is_2D: + _prev_active_pcam_2d_transform = camera_2d.get_global_transform() + _active_pcam_2d.queue_redraw() + _active_pcam_2d.set_is_active(self, false) + _active_pcam_2d.became_inactive.emit() + + if _trigger_pcam_tween: + _active_pcam_2d.tween_interrupted.emit(pcam) + else: + _prev_active_pcam_3d_transform = camera_3d.get_global_transform() + + _prev_cam_h_offset = camera_3d.h_offset + _prev_cam_v_offset = camera_3d.v_offset + _prev_cam_fov = camera_3d.fov + _prev_cam_size = camera_3d.size + _prev_cam_frustum_offset = camera_3d.frustum_offset + _prev_cam_near = camera_3d.near + _prev_cam_far = camera_3d.far + + _active_pcam_3d.set_is_active(self, false) + _active_pcam_3d.became_inactive.emit() + + if _trigger_pcam_tween: + _active_pcam_3d.tween_interrupted.emit(pcam) + else: + no_previous_pcam = true + + ## Assign newly active pcam + if _is_2D: + _active_pcam_2d = pcam + _active_pcam_priority = _active_pcam_2d.priority + _active_pcam_has_damping = _active_pcam_2d.follow_damping + _tween_duration = _active_pcam_2d.get_tween_duration() + else: + _active_pcam_3d = pcam + _active_pcam_priority = _active_pcam_3d.priority + _active_pcam_has_damping = _active_pcam_3d.follow_damping + _tween_duration = _active_pcam_3d.get_tween_duration() + + # Checks if the Camera3DResource has changed from previous Active PCam3D + if _active_pcam_3d.get_camera_3d_resource(): + if _prev_cam_h_offset != _active_pcam_3d.get_h_offset(): + _cam_h_offset_changed = true + if _prev_cam_v_offset != _active_pcam_3d.get_v_offset(): + _cam_v_offset_changed = true + if _prev_cam_fov != _active_pcam_3d.get_fov(): + _cam_fov_changed = true + if _prev_cam_size != _active_pcam_3d.get_size(): + _cam_size_changed = true + if _prev_cam_frustum_offset != _active_pcam_3d.get_frustum_offset(): + _cam_frustum_offset_changed = true + if _prev_cam_near != _active_pcam_3d.get_near(): + _cam_near_changed = true + if _prev_cam_far != _active_pcam_3d.get_far(): + _cam_far_changed = true + + if _is_2D: + if _active_pcam_2d.show_viewfinder_in_play: + _viewfinder_needed_check = true + + _active_pcam_2d.set_is_active(self, true) + _active_pcam_2d.became_active.emit() + _camera_zoom = camera_2d.get_zoom() + ## TODO - Needs 3D variant once Godot supports physics_interpolation for 3D scenes. + var _physics_based: bool + + ## NOTE - Only supported in Godot 4.3 or above + if Engine.get_version_info().major == 4 and \ + Engine.get_version_info().minor >= 3: + ## TBD - For when Godot 4.3 becomes the minimum version + #if interpolation_mode == InterpolationMode.IDLE: + #_physics_based = false + #elif interpolation_mode == InterpolationMode.PHYSICS: + #_physics_based = true + #else: + #_physics_based = _active_pcam.follow_target_physics_based + + # TBD - REMOVE this line once Godot 4.3 becomes the minimum version + _physics_based = _active_pcam_2d.get_follow_target_physics_based() + + if _physics_based: + _follow_target_physics_based = true + _active_pcam_2d.set_follow_target_physics_based(true, self) + ## TODO - Temporary solution to support Godot 4.2 + ## Remove line below and uncomment the following once Godot 4.3 is min verison. + camera_2d.call("reset_physics_interpolation") + camera_2d.set("physics_interpolation_mode", 1) + #camera_2d.reset_physics_interpolation() + #camera_2d.physics_interpolation_mode = Node.PHYSICS_INTERPOLATION_MODE_ON + else: + _follow_target_physics_based = false + _active_pcam_2d.set_follow_target_physics_based(false, self) + ## TODO - Temporary solution to support Godot 4.2 + ## Remove line below and uncomment the following once Godot 4.3 is min verison. + camera_2d.set("physics_interpolation_mode", 2) + #camera_2d.physics_interpolation_mode = Node.PHYSICS_INTERPOLATION_MODE_OFF + else: + _follow_target_physics_based = false + if _active_pcam_3d.show_viewfinder_in_play: + _viewfinder_needed_check = true + + _active_pcam_3d.set_is_active(self, true) + _active_pcam_3d.became_active.emit() + if _active_pcam_3d.get_camera_3d_resource(): + camera_3d.cull_mask = _active_pcam_3d.get_cull_mask() + camera_3d.projection = _active_pcam_3d.get_projection() + + if no_previous_pcam: + if _is_2D: + _prev_active_pcam_2d_transform = _active_pcam_2d.get_global_transform() + else: + _prev_active_pcam_3d_transform = _active_pcam_3d.get_global_transform() + + _tween_elapsed_time = 0 + if not pcam.get_has_tweened(): + _trigger_pcam_tween = true + else: + _trigger_pcam_tween = false + + +func _find_pcam_with_highest_priority() -> void: + for pcam in _pcam_list: + if pcam.get_priority() > _active_pcam_priority: + _assign_new_active_pcam(pcam) + + pcam.set_has_tweened(self, false) + + _active_pcam_missing = false + + +func _process(delta: float): + if _follow_target_physics_based or _active_pcam_missing: return + + if _is_2D: + _active_pcam_2d_glob_transform = _active_pcam_2d.get_global_transform() + else: + _active_pcam_3d_glob_transform = _active_pcam_3d.get_global_transform() + + if _trigger_pcam_tween: + _pcam_tween(delta) + else: + _pcam_follow(delta) + + +func _physics_process(delta: float): + if not _follow_target_physics_based or _active_pcam_missing: return + + if _is_2D: + _active_pcam_2d_glob_transform = _active_pcam_2d.get_global_transform() + else: + _active_pcam_3d_glob_transform = _active_pcam_3d.get_global_transform() + + if _trigger_pcam_tween: + _pcam_tween(delta) + else: + _pcam_follow(delta) + + +func _pcam_follow(delta: float) -> void: + if _is_2D: + if not is_instance_valid(_active_pcam_2d): return + else: + if not is_instance_valid(_active_pcam_3d): return + + if _active_pcam_missing or not _is_child_of_camera: return + # When following + _pcam_set_position(delta) + + if _viewfinder_needed_check: + _show_viewfinder_in_play() + _viewfinder_needed_check = false + + # TODO - Should be able to find a more efficient way using signals + if Engine.is_editor_hint(): + if not _is_2D: + if _active_pcam_3d.get_camera_3d_resource(): + camera_3d.cull_mask = _active_pcam_3d.get_cull_mask() + camera_3d.h_offset = _active_pcam_3d.get_h_offset() + camera_3d.v_offset = _active_pcam_3d.get_v_offset() + camera_3d.projection = _active_pcam_3d.get_projection() + camera_3d.fov = _active_pcam_3d.get_fov() + camera_3d.size = _active_pcam_3d.get_size() + camera_3d.frustum_offset = _active_pcam_3d.get_frustum_offset() + camera_3d.near = _active_pcam_3d.get_near() + camera_3d.far = _active_pcam_3d.get_far() + + +func _pcam_set_position(delta: float) -> void: + if _is_2D: + if _active_pcam_2d.snap_to_pixel: + var snap_to_pixel_glob_transform: Transform2D = _active_pcam_2d_glob_transform + snap_to_pixel_glob_transform.origin = snap_to_pixel_glob_transform.origin.round() + camera_2d.global_transform = snap_to_pixel_glob_transform + else: + camera_2d.global_transform =_active_pcam_2d_glob_transform + camera_2d.zoom = _active_pcam_2d.zoom + else: + camera_3d.global_transform = _active_pcam_3d_glob_transform + + +func _pcam_tween(delta: float) -> void: + if _tween_elapsed_time + delta <= _tween_duration: + _pcam_tween_properties(delta) + else: # First frame when tweening completes + _tween_elapsed_time = 0 + _trigger_pcam_tween = false + #_show_viewfinder_in_play() # NOTE - Likely not needed + _pcam_follow(delta) + + if _is_2D: + _active_pcam_2d.update_limit_all_sides() + _active_pcam_2d.tween_completed.emit() + if Engine.is_editor_hint(): + _active_pcam_2d.queue_redraw() + else: + _cam_h_offset_changed = false + _cam_v_offset_changed = false + _cam_fov_changed = false + _cam_size_changed = false + _cam_frustum_offset_changed = false + _cam_near_changed = false + _cam_far_changed = false + + _active_pcam_3d.tween_completed.emit() + + +func _pcam_tween_properties(delta: float) -> void: + # Run at the first tween frame + if _tween_elapsed_time == 0: + if _is_2D: + _active_pcam_2d.tween_started.emit() + _active_pcam_2d.reset_limit() + else: + _active_pcam_3d.tween_started.emit() + + _tween_elapsed_time += delta + + if _is_2D: + _active_pcam_2d.is_tweening.emit() + var interpolation_destination: Vector2 = _tween_interpolate_value( + _prev_active_pcam_2d_transform.origin, + _active_pcam_2d_glob_transform.origin, + _active_pcam_2d.get_tween_duration(), + _active_pcam_2d.get_tween_transition(), + _active_pcam_2d.get_tween_ease() + ) + + if _active_pcam_2d.snap_to_pixel: + camera_2d.global_position = interpolation_destination.round() + else: + camera_2d.global_position = interpolation_destination + + camera_2d.rotation = _tween_interpolate_value( + _prev_active_pcam_2d_transform.get_rotation(), + _active_pcam_2d_glob_transform.get_rotation(), + _active_pcam_2d.get_tween_duration(), + _active_pcam_2d.get_tween_transition(), + _active_pcam_2d.get_tween_ease() + ) + camera_2d.zoom = _tween_interpolate_value( + _camera_zoom, + _active_pcam_2d.zoom, + _active_pcam_2d.get_tween_duration(), + _active_pcam_2d.get_tween_transition(), + _active_pcam_2d.get_tween_ease() + ) + else: + _active_pcam_3d.is_tweening.emit() + camera_3d.global_position = _tween_interpolate_value( + _prev_active_pcam_3d_transform.origin, + _active_pcam_3d_glob_transform.origin, + _active_pcam_3d.get_tween_duration(), + _active_pcam_3d.get_tween_transition(), + _active_pcam_3d.get_tween_ease() + ) + + var prev_active_pcam_3d_quat: Quaternion = Quaternion(_prev_active_pcam_3d_transform.basis.orthonormalized()) + camera_3d.quaternion = \ + Tween.interpolate_value( + prev_active_pcam_3d_quat, \ + prev_active_pcam_3d_quat.inverse() * Quaternion(_active_pcam_3d_glob_transform.basis.orthonormalized()), + _tween_elapsed_time, \ + _active_pcam_3d.get_tween_duration(), \ + _active_pcam_3d.get_tween_transition(), + _active_pcam_3d.get_tween_ease() + ) + + if _cam_fov_changed: + camera_3d.fov = \ + _tween_interpolate_value( + _prev_cam_fov, + _active_pcam_3d.get_fov(), + _active_pcam_3d.get_tween_duration(), + _active_pcam_3d.get_tween_transition(), + _active_pcam_3d.get_tween_ease() + ) + + if _cam_size_changed: + camera_3d.size = \ + _tween_interpolate_value( + _prev_cam_size, + _active_pcam_3d.get_size(), + _active_pcam_3d.get_tween_duration(), + _active_pcam_3d.get_tween_transition(), + _active_pcam_3d.get_tween_ease() + ) + + if _cam_frustum_offset_changed: + camera_3d.frustum_offset = \ + _tween_interpolate_value( + _prev_cam_frustum_offset, + _active_pcam_3d.get_frustum_offset(), + _active_pcam_3d.get_tween_duration(), + _active_pcam_3d.get_tween_transition(), + _active_pcam_3d.get_tween_ease() + ) + + if _cam_h_offset_changed: + camera_3d.h_offset = \ + _tween_interpolate_value( + _prev_cam_h_offset, + _active_pcam_3d.get_h_offset(), + _active_pcam_3d.get_tween_duration(), + _active_pcam_3d.get_tween_transition(), + _active_pcam_3d.get_tween_ease() + ) + + if _cam_v_offset_changed: + camera_3d.v_offset = \ + _tween_interpolate_value( + _prev_cam_v_offset, + _active_pcam_3d.get_v_offset(), + _active_pcam_3d.get_tween_duration(), + _active_pcam_3d.get_tween_transition(), + _active_pcam_3d.get_tween_ease() + ) + + if _cam_near_changed: + camera_3d.near = \ + _tween_interpolate_value( + _prev_cam_near, + _active_pcam_3d.get_near(), + _active_pcam_3d.get_tween_duration(), + _active_pcam_3d.get_tween_transition(), + _active_pcam_3d.get_tween_ease() + ) + + if _cam_far_changed: + camera_3d.far = \ + _tween_interpolate_value( + _prev_cam_far, + _active_pcam_3d.get_far(), + _active_pcam_3d.get_tween_duration(), + _active_pcam_3d.get_tween_transition(), + _active_pcam_3d.get_tween_ease() + ) + + +func _tween_interpolate_value(from: Variant, to: Variant, duration: float, transition_type: int, ease_type: int) -> Variant: + return Tween.interpolate_value( + from, \ + to - from, + _tween_elapsed_time, \ + duration, \ + transition_type, + ease_type, + ) + +#endregion + + +#region Public Functions + +func _show_viewfinder_in_play() -> void: + # Don't show the viewfinder in the actual editor or project builds + if Engine.is_editor_hint() or !OS.has_feature("editor"): return + + # We default the viewfinder node to hidden + if is_instance_valid(_viewfinder_node): + _viewfinder_node.visible = false + + if _is_2D: + if not _active_pcam_2d.show_viewfinder_in_play: return + if _active_pcam_2d.follow_mode != _active_pcam_2d.FollowMode.FRAMED: return + else: + if not _active_pcam_3d.show_viewfinder_in_play: return + if _active_pcam_3d.follow_mode != _active_pcam_2d.FollowMode.FRAMED: return + + var canvas_layer: CanvasLayer = CanvasLayer.new() + get_tree().get_root().add_child(canvas_layer) + + # Instantiate the viewfinder scene if it isn't already + if not is_instance_valid(_viewfinder_node): + var _viewfinder_scene := load("res://addons/phantom_camera/panel/viewfinder/viewfinder_panel.tscn") + _viewfinder_node = _viewfinder_scene.instantiate() + canvas_layer.add_child(_viewfinder_node) + + _viewfinder_node.visible = true + _viewfinder_node.update_dead_zone() + + +## Called when a [param PhantomCamera] is added to the scene.[br] +## [b]Note:[/b] This can only be called internally from a +## [param PhantomCamera] node. +func pcam_added_to_scene(pcam) -> void: + if is_instance_of(pcam, PhantomCamera2D) or pcam.is_class("PhantomCamera3D"): ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. + if not _pcam_list.has(pcam): + _pcam_list.append(pcam) + if not pcam.tween_on_load: + pcam.set_has_tweened(self, true) # Skips its tween if it has the highest priority on load + _find_pcam_with_highest_priority() + else: + printerr("This function should only be called from PhantomCamera scripts") + + +## Called when a [param PhantomCamera] is removed from the scene.[br] +## [b]Note:[/b] This can only be called internally from a +## [param PhantomCamera] node. +func pcam_removed_from_scene(pcam) -> void: + if is_instance_of(pcam, PhantomCamera2D) or pcam.is_class("PhantomCamera3D"): ## Note: To support disable_3d export templates for 2D projects, this is purposely not strongly typed. + _pcam_list.erase(pcam) + if _is_2D: + if pcam == _active_pcam_2d: + _active_pcam_missing = true + _active_pcam_priority = -1 + _find_pcam_with_highest_priority() + else: + if pcam == _active_pcam_3d: + _active_pcam_missing = true + _active_pcam_priority = -1 + _find_pcam_with_highest_priority() + else: + printerr("This function should only be called from PhantomCamera scripts") + + +## Triggers a recalculation to determine which PhantomCamera has the highest +## priority. +func pcam_priority_updated(pcam: Node) -> void: + if Engine.is_editor_hint(): + if _is_2D: + if _active_pcam_2d.priority_override: return + else: + if _active_pcam_3d.priority_override: return + + if not is_instance_valid(pcam): return + + var current_pcam_priority: int = pcam.get_priority() + + if current_pcam_priority >= _active_pcam_priority: + if _is_2D: + if pcam != _active_pcam_2d: + _assign_new_active_pcam(pcam) + else: + if pcam != _active_pcam_3d: + _assign_new_active_pcam(pcam) + + if pcam == _active_pcam_2d or pcam == _active_pcam_3d: + if current_pcam_priority <= _active_pcam_priority: + _active_pcam_priority = current_pcam_priority + _find_pcam_with_highest_priority() + else: + _active_pcam_priority = current_pcam_priority + + +## Updates the viewfinder when a [param PhantomCamera] has its +## [param priority_ovrride] enabled.[br] +## [b]Note:[/b] This only affects the editor. +func pcam_priority_override(pcam: Node) -> void: + if Engine.is_editor_hint(): + if _is_2D: + if _active_pcam_2d.priority_override: + _active_pcam_2d.priority_override = false + else: + if _active_pcam_3d.priority_override: + _active_pcam_3d.priority_override = false + + _assign_new_active_pcam(pcam) + update_editor_viewfinder.emit() + + +## Updates the viewfinder when a [param PhantomCamera] has its +## [param priority_ovrride] disabled.[br] +## [b]Note:[/b] This only affects the editor. +func pcam_priority_override_disabled() -> void: + update_editor_viewfinder.emit() + + +## Returns the currently active [param PhantomCamera] +func get_active_pcam() -> Node: + if _is_2D: + return _active_pcam_2d + else: + return _active_pcam_3d + + +## Returns whether if a [param PhantomCamera] should tween when it becomes +## active. If it's already active, the value will always be false. +## [b]Note:[/b] This can only be called internally from a +## [param PhantomCamera] node. +func get_trigger_pcam_tween() -> bool: + return _trigger_pcam_tween + +#func set_interpolation_mode(value: int) -> void: + #interpolation_mode = value +#func get_interpolation_mode() -> int: + #return interpolation_mode + +#endregion diff --git a/addons/phantom_camera/scripts/resources/camera_3d_resource.gd b/addons/phantom_camera/scripts/resources/camera_3d_resource.gd new file mode 100644 index 0000000..70a0487 --- /dev/null +++ b/addons/phantom_camera/scripts/resources/camera_3d_resource.gd @@ -0,0 +1,59 @@ +@tool +@icon("res://addons/phantom_camera/icons/phantom_camera_camera_3d_resource.svg") +class_name Camera3DResource +extends Resource + +## Resource for [PhantomCamera3D] to override various [Camera3D] properties. +## +## The overrides defined here will be applied to the [Camera3D] upon the +## [PhantomCamera3D] becoming active. + +## Overrides [member Camera3D.cull_mask]. +@export_flags_3d_render var cull_mask: int = 1048575 + +## Overrides [member Camera3D.h_offset]. +@export_range(0, 1, 0.001, "hide_slider", "suffix:m") var h_offset: float = 0 + +## Overrides [member Camera3D.v_offset]. +@export_range(0, 1, 0.001, "hide_slider", "suffix:m") var v_offset: float = 0 + + +enum ProjectionType { + PERSPECTIVE = 0, ## Perspective projection. Objects on the screen becomes smaller when they are far away. + ORTHOGONAL = 1, ## Orthogonal projection, also known as orthographic projection. Objects remain the same size on the screen no matter how far away they are. + FRUSTUM = 2, ## Frustum projection. This mode allows adjusting frustum_offset to create "tilted frustum" effects. +} + +## Overrides [member Camera3D.projection]. +@export var projection: ProjectionType = ProjectionType.PERSPECTIVE: + set(value): + projection = value + notify_property_list_changed() + get: + return projection + +## Overrides [member Camera3D.fov]. +@export_range(1, 179, 0.1, "degrees") var fov: float = 75 + +## Overrides [member Camera3D.size]. +@export_range(0.001, 100, 0.001, "suffix:m", "or_greater") var size: float = 1 + +## Overrides [member Camera3d.frustum_offset]. +@export var frustum_offset: Vector2 = Vector2.ZERO + +## Overrides [member Camera3D.near]. +@export_range(0.001, 10, 0.001, "suffix:m", "or_greater") var near: float = 0.05 + +## Overrides [member Camera3D.far]. +@export_range(0.01, 4000, 0.001, "suffix:m","or_greater") var far: float = 4000 + + +func _validate_property(property: Dictionary) -> void: + if property.name == "fov" and not projection == ProjectionType.PERSPECTIVE: + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "size" and projection == ProjectionType.PERSPECTIVE: + property.usage = PROPERTY_USAGE_NO_EDITOR + + if property.name == "frustum_offset" and not projection == ProjectionType.FRUSTUM: + property.usage = PROPERTY_USAGE_NO_EDITOR diff --git a/addons/phantom_camera/scripts/resources/tween_resource.gd b/addons/phantom_camera/scripts/resources/tween_resource.gd new file mode 100644 index 0000000..997ddb8 --- /dev/null +++ b/addons/phantom_camera/scripts/resources/tween_resource.gd @@ -0,0 +1,41 @@ +@icon("res://addons/phantom_camera/icons/phantom_camera_tween.svg") +class_name PhantomCameraTween +extends Resource + +## Tweening resource for [PhantomCamera2D] and [PhantomCamera3D]. +## +## Defines how [param PhantomCameras] transition between one another. +## Changing the tween values for a given [param PhantomCamera] determines how +## transitioning to that instance will look like. + +enum TransitionType { + LINEAR = 0, ## The animation is interpolated linearly. + SINE = 1, ## The animation is interpolated using a sine function. + QUINT = 2, ## The animation is interpolated with a quintic (to the power of 5) function. + QUART = 3, ## The animation is interpolated with a quartic (to the power of 4) function. + QUAD = 4, ## The animation is interpolated with a quadratic (to the power of 2) function. + EXPO = 5, ## The animation is interpolated with an exponential (to the power of x) function. + ELASTIC = 6, ## The animation is interpolated with elasticity, wiggling around the edges. + CUBIC = 7, ## The animation is interpolated with a cubic (to the power of 3) function. + CIRC = 8, ## The animation is interpolated with a function using square roots. + BOUNCE = 9, ## The animation is interpolated by bouncing at the end. + BACK = 10, ## The animation is interpolated backing out at ends. +# CUSTOM = 11, +# NONE = 12, +} + +enum EaseType { + EASE_IN = 0, ## The interpolation starts slowly and speeds up towards the end. + EASE_OUT = 1, ## The interpolation starts quickly and slows down towards the end. + EASE_IN_OUT = 2, ## A combination of EASE_IN and EASE_OUT. The interpolation is slowest at both ends. + EASE_OUT_IN = 3, ## A combination of EASE_IN and EASE_OUT. The interpolation is fastest at both ends. +} + +## The time it takes to tween to this PhantomCamera in [param seconds]. +@export var duration: float = 1 + +## The transition bezier type for the tween. The options are defined in the [enum TransitionType]. +@export var transition: TransitionType = TransitionType.LINEAR + +## The ease type for the tween. The options are defined in the [enum EaseType]. +@export var ease: EaseType = EaseType.EASE_IN_OUT diff --git a/project.godot b/project.godot index 6ccaf41..3b69255 100644 --- a/project.godot +++ b/project.godot @@ -23,6 +23,7 @@ World="*res://Scenes/Level.tscn" AudioManager="*res://Audio/AudioManager.cs" DebugUi="*res://UI/Debug/DebugUI.tscn" DialogueManager="*res://addons/dialogue_manager/dialogue_manager.gd" +PhantomCameraManager="*res://addons/phantom_camera/scripts/managers/phantom_camera_manager.gd" [dialogue_manager] @@ -42,7 +43,7 @@ project/assembly_name="SupaLidlGame" [editor_plugins] -enabled=PackedStringArray("res://addons/dialogue_manager/plugin.cfg") +enabled=PackedStringArray("res://addons/dialogue_manager/plugin.cfg", "res://addons/phantom_camera/plugin.cfg") [file_customization] @@ -100,7 +101,7 @@ attack1={ attack2={ "deadzone": 0.5, "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":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":1.0,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":4,"axis_value":1.0,"script":null) ] } equip={