├── icon.png ├── scenes ├── mushroom.gd ├── firepit.gd ├── tree.gd ├── cover.tscn ├── wood_stock.tscn ├── mushroom.tscn ├── tree.tscn ├── main.gd ├── troll.gd ├── firepit.tscn ├── satyr.gd ├── troll.tscn ├── satyr.tscn └── main.tscn ├── screenshot.png ├── sprites ├── forest_.png ├── golem_.png ├── satyr_.png ├── troll_.png ├── forestDecoration_0.png └── forestDecoration_1.png ├── fonts ├── PressStart2P.ttf └── main.tres ├── default_env.tres ├── goap ├── goals │ ├── relax.gd │ ├── calm_down.gd │ ├── has_firepit.gd │ └── keep_fed.gd ├── actions │ ├── calm_down.gd │ ├── find_cover.gd │ ├── find_food.gd │ ├── build_firepit.gd │ ├── chop_tree.gd │ └── collect_from_wood_stock.gd ├── goap.gd ├── goal.gd ├── action.gd ├── agent.gd └── action_planner.gd ├── .gitignore ├── icon.png.import ├── screenshot.png.import ├── world └── world_state.gd ├── LICENSE ├── project.godot └── README.md /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viniciusgerevini/godot-goap/HEAD/icon.png -------------------------------------------------------------------------------- /scenes/mushroom.gd: -------------------------------------------------------------------------------- 1 | extends StaticBody2D 2 | 3 | @export var nutrition = 30 4 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viniciusgerevini/godot-goap/HEAD/screenshot.png -------------------------------------------------------------------------------- /sprites/forest_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viniciusgerevini/godot-goap/HEAD/sprites/forest_.png -------------------------------------------------------------------------------- /sprites/golem_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viniciusgerevini/godot-goap/HEAD/sprites/golem_.png -------------------------------------------------------------------------------- /sprites/satyr_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viniciusgerevini/godot-goap/HEAD/sprites/satyr_.png -------------------------------------------------------------------------------- /sprites/troll_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viniciusgerevini/godot-goap/HEAD/sprites/troll_.png -------------------------------------------------------------------------------- /fonts/PressStart2P.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viniciusgerevini/godot-goap/HEAD/fonts/PressStart2P.ttf -------------------------------------------------------------------------------- /sprites/forestDecoration_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viniciusgerevini/godot-goap/HEAD/sprites/forestDecoration_0.png -------------------------------------------------------------------------------- /sprites/forestDecoration_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viniciusgerevini/godot-goap/HEAD/sprites/forestDecoration_1.png -------------------------------------------------------------------------------- /scenes/firepit.gd: -------------------------------------------------------------------------------- 1 | extends Node2D 2 | 3 | func _process(_delta): 4 | $label.text = str(ceil($timer.time_left)) 5 | 6 | func _on_timer_timeout(): 7 | queue_free() 8 | -------------------------------------------------------------------------------- /default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=3 uid="uid://ca8g62ni4p0x"] 2 | 3 | [sub_resource type="Sky" id="1"] 4 | 5 | [resource] 6 | background_mode = 2 7 | sky = SubResource("1") 8 | -------------------------------------------------------------------------------- /fonts/main.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="FontFile" load_steps=2 format=2] 2 | 3 | [ext_resource path="res://fonts/PressStart2P.ttf" type="FontFile" id=1] 4 | 5 | [resource] 6 | size = 8 7 | font_data = ExtResource( 1 ) 8 | -------------------------------------------------------------------------------- /scenes/tree.gd: -------------------------------------------------------------------------------- 1 | extends StaticBody2D 2 | 3 | 4 | var _hp = 3 5 | 6 | 7 | func chop(): 8 | if not $chop_cooldown.is_stopped(): 9 | return false 10 | 11 | _hp -= 1 12 | if _hp == 0: 13 | queue_free() 14 | return true 15 | $chop_cooldown.start() 16 | return false 17 | -------------------------------------------------------------------------------- /goap/goals/relax.gd: -------------------------------------------------------------------------------- 1 | extends GoapGoal 2 | 3 | class_name RelaxGoal 4 | 5 | func get_clazz(): return "RelaxGoal" 6 | 7 | # relax will always be available 8 | func is_valid() -> bool: 9 | return true 10 | 11 | 12 | # relax has lower priority compared to other goals 13 | func priority() -> int: 14 | return 0 15 | -------------------------------------------------------------------------------- /goap/goals/calm_down.gd: -------------------------------------------------------------------------------- 1 | extends GoapGoal 2 | 3 | class_name CalmDownGoal 4 | 5 | func get_clazz(): return "CalmDownGoal" 6 | 7 | func is_valid() -> bool: 8 | return WorldState.get_state("is_frightened", false) 9 | 10 | 11 | func priority() -> int: 12 | return 10 13 | 14 | 15 | func get_desired_state() -> Dictionary: 16 | return { 17 | "is_frightened": false 18 | } 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Godot-specific ignores 2 | .godot 3 | .import/ 4 | */*.import 5 | output/ 6 | export.cfg 7 | export_presets.cfg 8 | 9 | # Imported translations (automatically generated from CSV files) 10 | *.translation 11 | 12 | # Mono-specific ignores 13 | .mono/ 14 | data_*/ 15 | mono_crash.*.json 16 | 17 | # System/tool-specific ignores 18 | .directory 19 | *~ 20 | 21 | build/ 22 | -------------------------------------------------------------------------------- /goap/goals/has_firepit.gd: -------------------------------------------------------------------------------- 1 | extends GoapGoal 2 | 3 | class_name KeepFirepitBurningGoal 4 | 5 | func get_clazz(): return "KeepFirepitBurningGoal" 6 | 7 | 8 | func is_valid() -> bool: 9 | return WorldState.get_elements("firepit").size() == 0 10 | 11 | 12 | func priority() -> int: 13 | return 1 14 | 15 | 16 | func get_desired_state() -> Dictionary: 17 | return { 18 | "has_firepit": true 19 | } 20 | -------------------------------------------------------------------------------- /goap/actions/calm_down.gd: -------------------------------------------------------------------------------- 1 | extends GoapAction 2 | 3 | class_name CalmDownAction 4 | 5 | 6 | func get_clazz(): return "CalmDownAction" 7 | 8 | 9 | func get_cost(_blackboard) -> int: 10 | return 1 11 | 12 | 13 | func get_preconditions() -> Dictionary: 14 | return { 15 | "protected": true 16 | } 17 | 18 | 19 | func get_effects() -> Dictionary: 20 | return { 21 | "is_frightened": false 22 | } 23 | 24 | 25 | func perform(actor, _delta) -> bool: 26 | return actor.calm_down() 27 | -------------------------------------------------------------------------------- /scenes/cover.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://f8u5kas7gd2y"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://fu2s7ethsm63" path="res://sprites/forestDecoration_1.png" id="1"] 4 | 5 | [sub_resource type="AtlasTexture" id="1"] 6 | atlas = ExtResource("1") 7 | region = Rect2(32, 90, 48, 34) 8 | 9 | [node name="cover" type="Node2D" groups=["cover"]] 10 | 11 | [node name="Sprite2D" type="Sprite2D" parent="."] 12 | texture_filter = 1 13 | position = Vector2(0, -13) 14 | texture = SubResource("1") 15 | -------------------------------------------------------------------------------- /goap/goals/keep_fed.gd: -------------------------------------------------------------------------------- 1 | extends GoapGoal 2 | 3 | class_name KeepFedGoal 4 | 5 | func get_clazz(): return "KeepFedGoal" 6 | 7 | # This is not a valid goal when hunger is less than 50. 8 | func is_valid() -> bool: 9 | return WorldState.get_state("hunger", 0) > 50 and WorldState.get_elements("food").size() > 0 10 | 11 | 12 | func priority() -> int: 13 | return 1 if WorldState.get_state("hunger", 0) < 75 else 2 14 | 15 | 16 | func get_desired_state() -> Dictionary: 17 | return { 18 | "is_hungry": false 19 | } 20 | -------------------------------------------------------------------------------- /goap/actions/find_cover.gd: -------------------------------------------------------------------------------- 1 | extends GoapAction 2 | 3 | class_name FindCoverAction 4 | 5 | 6 | func get_clazz(): return "FindCoverAction" 7 | 8 | 9 | func get_cost(_blackboard) -> int: 10 | return 1 11 | 12 | 13 | func get_preconditions() -> Dictionary: 14 | return {} 15 | 16 | 17 | func get_effects() -> Dictionary: 18 | return { 19 | "protected": true 20 | } 21 | 22 | 23 | func perform(actor, delta) -> bool: 24 | var closest_cover = WorldState.get_closest_element("cover", actor) 25 | 26 | if closest_cover == null: 27 | return false 28 | 29 | if closest_cover.position.distance_to(actor.position) < 1: 30 | return true 31 | 32 | actor.move_to(actor.position.direction_to(closest_cover.position), delta) 33 | return false 34 | -------------------------------------------------------------------------------- /scenes/wood_stock.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=3 uid="uid://bqquv121e1b0j"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://b153nqpuv83gr" path="res://sprites/forestDecoration_0.png" id="1"] 4 | 5 | [sub_resource type="AtlasTexture" id="1"] 6 | atlas = ExtResource("1") 7 | region = Rect2(96, 113, 16, 14) 8 | 9 | [sub_resource type="RectangleShape2D" id="2"] 10 | size = Vector2(7.14782, 6.62437) 11 | 12 | [node name="wood_stock" type="StaticBody2D" groups=["wood_stock"]] 13 | collision_layer = 4 14 | collision_mask = 0 15 | 16 | [node name="Sprite2D" type="Sprite2D" parent="."] 17 | texture_filter = 1 18 | texture = SubResource("1") 19 | 20 | [node name="CollisionShape2D" type="CollisionShape2D" parent="."] 21 | shape = SubResource("2") 22 | -------------------------------------------------------------------------------- /goap/goap.gd: -------------------------------------------------------------------------------- 1 | # This class is an Autoload accessible globaly. 2 | # It initialises a GoapActionPlanner with the available 3 | # actions. 4 | # 5 | # In your game, you might want to have different planners 6 | # for different enemy/npc types, and even change the set 7 | # of actions in runtime. 8 | # 9 | # This example keeps things simple, creating only one planner 10 | # with pre-defined actions. 11 | # 12 | extends Node 13 | 14 | var _action_planner = GoapActionPlanner.new() 15 | 16 | func _ready(): 17 | _action_planner.set_actions([ 18 | BuildFirepitAction.new(), 19 | ChopTreeAction.new(), 20 | CollectFromWoodStockAction.new(), 21 | CalmDownAction.new(), 22 | FindCoverAction.new(), 23 | FindFoodAction.new(), 24 | ]) 25 | 26 | 27 | func get_action_planner() -> GoapActionPlanner: 28 | return _action_planner 29 | -------------------------------------------------------------------------------- /goap/actions/find_food.gd: -------------------------------------------------------------------------------- 1 | extends GoapAction 2 | 3 | class_name FindFoodAction 4 | 5 | 6 | func get_clazz(): return "FindFoodAction" 7 | 8 | 9 | func get_cost(_blackboard) -> int: 10 | return 1 11 | 12 | 13 | func get_preconditions() -> Dictionary: 14 | return {} 15 | 16 | 17 | func get_effects() -> Dictionary: 18 | return { 19 | "is_hungry": false 20 | } 21 | 22 | 23 | func perform(actor, delta) -> bool: 24 | var closest_food = WorldState.get_closest_element("food", actor) 25 | 26 | if closest_food == null: 27 | return false 28 | 29 | if closest_food.position.distance_to(actor.position) < 5: 30 | WorldState.set_state("hunger", WorldState.get_state("hunger") - closest_food.nutrition) 31 | closest_food.queue_free() 32 | return true 33 | 34 | actor.move_to(actor.position.direction_to(closest_food.position), delta) 35 | return false 36 | -------------------------------------------------------------------------------- /scenes/mushroom.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=5 format=3 uid="uid://b1xnqbmsxtk2j"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://b153nqpuv83gr" path="res://sprites/forestDecoration_0.png" id="1"] 4 | [ext_resource type="Script" path="res://scenes/mushroom.gd" id="2"] 5 | 6 | [sub_resource type="AtlasTexture" id="1"] 7 | atlas = ExtResource("1") 8 | region = Rect2(129.383, 17.4272, 7.61745, 10.3949) 9 | 10 | [sub_resource type="RectangleShape2D" id="2"] 11 | size = Vector2(3.23322, 4.70181) 12 | 13 | [node name="mushroom" type="StaticBody2D" groups=["food"]] 14 | collision_layer = 4 15 | collision_mask = 0 16 | script = ExtResource("2") 17 | 18 | [node name="Sprite2D" type="Sprite2D" parent="."] 19 | texture_filter = 1 20 | texture = SubResource("1") 21 | 22 | [node name="CollisionShape2D" type="CollisionShape2D" parent="."] 23 | shape = SubResource("2") 24 | -------------------------------------------------------------------------------- /icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dcbjq47b1fdrt" 6 | path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://icon.png" 14 | dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /screenshot.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c84xmkd3ut4vj" 6 | path="res://.godot/imported/screenshot.png-024a21af5d37bf0f0dd0e2bccdd149d0.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://screenshot.png" 14 | dest_files=["res://.godot/imported/screenshot.png-024a21af5d37bf0f0dd0e2bccdd149d0.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /goap/goal.gd: -------------------------------------------------------------------------------- 1 | # 2 | # Goal contract 3 | # 4 | extends Node 5 | 6 | class_name GoapGoal 7 | 8 | 9 | # 10 | # This indicates if the goal should be considered or not. 11 | # Sometimes instead of changing the priority, it is easier to 12 | # not even consider the goal. i.e. Ignore combat related goals 13 | # when there are not enemies nearby. 14 | # 15 | func is_valid() -> bool: 16 | return true 17 | 18 | # 19 | # Returns goals priority. This priority can be dynamic. Check 20 | # `./goals/keep_fed.gd` for an example of dynamic priority. 21 | # 22 | func priority() -> int: 23 | return 1 24 | 25 | # 26 | # Plan's desired state. This is usually referred as desired world 27 | # state, but it doesn't need to match the raw world state. 28 | # 29 | # For example, in your world state you may store "hunger" as a number, but inside your 30 | # goap you can deal with it as "is_hungry". 31 | func get_desired_state() -> Dictionary: 32 | return {} 33 | -------------------------------------------------------------------------------- /scenes/tree.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=5 format=3 uid="uid://b17kgpyktoyps"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://b153nqpuv83gr" path="res://sprites/forestDecoration_0.png" id="1"] 4 | [ext_resource type="Script" path="res://scenes/tree.gd" id="2"] 5 | 6 | [sub_resource type="AtlasTexture" id="1"] 7 | atlas = ExtResource("1") 8 | region = Rect2(19, 52.3951, 10, 23.6049) 9 | 10 | [sub_resource type="RectangleShape2D" id="2"] 11 | size = Vector2(5.36829, 10.1774) 12 | 13 | [node name="tree" type="StaticBody2D" groups=["tree"]] 14 | collision_layer = 4 15 | collision_mask = 0 16 | script = ExtResource("2") 17 | 18 | [node name="Sprite2D" type="Sprite2D" parent="."] 19 | texture_filter = 1 20 | position = Vector2(0, -10) 21 | texture = SubResource("1") 22 | 23 | [node name="CollisionShape2D" type="CollisionShape2D" parent="."] 24 | position = Vector2(0, -9) 25 | shape = SubResource("2") 26 | 27 | [node name="chop_cooldown" type="Timer" parent="."] 28 | one_shot = true 29 | -------------------------------------------------------------------------------- /scenes/main.gd: -------------------------------------------------------------------------------- 1 | extends Node2D 2 | 3 | 4 | @onready var _hunger_field = $HUD/VBoxContainer/MarginContainer/HBoxContainer/hunger 5 | 6 | 7 | func _on_hanger_timer_timeout(): 8 | _hunger_field.value = WorldState.get_state("hunger", 0) 9 | if _hunger_field.value < 100: 10 | _hunger_field.value += 2 11 | 12 | WorldState.set_state("hunger", _hunger_field.value) 13 | 14 | 15 | func _on_reload_pressed(): 16 | WorldState.clear_state() 17 | # warning-ignore:return_value_discarded 18 | self.get_tree().reload_current_scene() 19 | 20 | 21 | func _on_pause_pressed(): 22 | get_tree().paused = not get_tree().paused 23 | $HUD/VBoxContainer/MarginContainer/HBoxContainer/pause.text = ( 24 | "Resume" if get_tree().paused else "Pause" 25 | ) 26 | 27 | 28 | func _on_console_pressed(): 29 | var console = get_tree().get_nodes_in_group("console")[0] 30 | console.visible = not console.visible 31 | $HUD/VBoxContainer/MarginContainer/HBoxContainer/console.text = ( 32 | "Hide Console" if console.visible else "Show Console" 33 | ) 34 | -------------------------------------------------------------------------------- /world/world_state.gd: -------------------------------------------------------------------------------- 1 | extends Node 2 | 3 | var _state = { 4 | } 5 | 6 | 7 | func get_state(state_name, default = null): 8 | return _state.get(state_name, default) 9 | 10 | 11 | func set_state(state_name, value): 12 | _state[state_name] = value 13 | 14 | 15 | func clear_state(): 16 | _state = {} 17 | 18 | 19 | func get_elements(group_name): 20 | return self.get_tree().get_nodes_in_group(group_name) 21 | 22 | 23 | func get_closest_element(group_name, reference): 24 | var elements = get_elements(group_name) 25 | var closest_element 26 | var closest_distance = 10000000 27 | 28 | for element in elements: 29 | var distance = reference.position.distance_to(element.position) 30 | if distance < closest_distance: 31 | closest_distance = distance 32 | closest_element = element 33 | 34 | return closest_element 35 | 36 | 37 | func console_message(object): 38 | var console = get_tree().get_nodes_in_group("console")[0] as TextEdit 39 | console.text += "\n%s" % str(object) 40 | console.set_caret_line(console.get_line_count()) 41 | -------------------------------------------------------------------------------- /goap/actions/build_firepit.gd: -------------------------------------------------------------------------------- 1 | extends GoapAction 2 | 3 | class_name BuildFirepitAction 4 | 5 | const Firepit = preload("res://scenes/firepit.tscn") 6 | 7 | 8 | func get_clazz(): return "BuildFirepitAction" 9 | 10 | 11 | func get_cost(_blackboard) -> int: 12 | return 1 13 | 14 | 15 | func get_preconditions() -> Dictionary: 16 | return { 17 | "has_wood": true 18 | } 19 | 20 | 21 | func get_effects() -> Dictionary: 22 | return { 23 | "has_firepit": true 24 | } 25 | 26 | 27 | func perform(actor, delta) -> bool: 28 | var _closest_spot = WorldState.get_closest_element("firepit_spot", actor) 29 | 30 | if _closest_spot == null: 31 | return false 32 | 33 | if _closest_spot.position.distance_to(actor.position) < 20: 34 | var firepit = Firepit.instantiate() 35 | actor.get_parent().add_child(firepit) 36 | firepit.position = _closest_spot.position 37 | firepit.z_index = _closest_spot.z_index 38 | WorldState.set_state("has_wood", false) 39 | return true 40 | 41 | actor.move_to(actor.position.direction_to(_closest_spot.position), delta) 42 | 43 | return false 44 | -------------------------------------------------------------------------------- /goap/actions/chop_tree.gd: -------------------------------------------------------------------------------- 1 | extends GoapAction 2 | 3 | class_name ChopTreeAction 4 | 5 | func get_clazz(): return "ChopTreeAction" 6 | 7 | 8 | func is_valid() -> bool: 9 | return WorldState.get_elements("tree").size() > 0 10 | 11 | 12 | func get_cost(blackboard) -> int: 13 | if blackboard.has("position"): 14 | var closest_tree = WorldState.get_closest_element("tree", blackboard) 15 | return int(closest_tree.position.distance_to(blackboard.position) / 7) 16 | return 3 17 | 18 | 19 | func get_preconditions() -> Dictionary: 20 | return {} 21 | 22 | 23 | func get_effects() -> Dictionary: 24 | return { 25 | "has_wood": true 26 | } 27 | 28 | 29 | func perform(actor, delta) -> bool: 30 | var _closest_tree = WorldState.get_closest_element("tree", actor) 31 | 32 | if _closest_tree: 33 | if _closest_tree.position.distance_to(actor.position) < 10: 34 | if actor.chop_tree(_closest_tree): 35 | WorldState.set_state("has_wood", true) 36 | return true 37 | return false 38 | else: 39 | actor.move_to(actor.position.direction_to(_closest_tree.position), delta) 40 | 41 | return false 42 | -------------------------------------------------------------------------------- /goap/actions/collect_from_wood_stock.gd: -------------------------------------------------------------------------------- 1 | extends GoapAction 2 | 3 | class_name CollectFromWoodStockAction 4 | 5 | func get_clazz(): return "CollectFromWoodStockAction" 6 | 7 | 8 | func is_valid() -> bool: 9 | return WorldState.get_elements("wood_stock").size() > 0 10 | 11 | 12 | func get_cost(blackboard) -> int: 13 | if blackboard.has("position"): 14 | var closest_tree = WorldState.get_closest_element("wood_stock", blackboard) 15 | return int(closest_tree.position.distance_to(blackboard.position) / 5) 16 | return 5 17 | 18 | 19 | func get_preconditions() -> Dictionary: 20 | return {} 21 | 22 | 23 | func get_effects() -> Dictionary: 24 | return { 25 | "has_wood": true, 26 | } 27 | 28 | 29 | func perform(actor, delta) -> bool: 30 | var closest_stock = WorldState.get_closest_element("wood_stock", actor) 31 | 32 | if closest_stock: 33 | if closest_stock.position.distance_to(actor.position) < 10: 34 | closest_stock.queue_free() 35 | WorldState.set_state("has_wood", true) 36 | return true 37 | else: 38 | actor.move_to(actor.position.direction_to(closest_stock.position), delta) 39 | 40 | return false 41 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2021 Vinicius Gerevini 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /scenes/troll.gd: -------------------------------------------------------------------------------- 1 | # This NPC does not use GOAP. 2 | # This is just a simple script which chooses 3 | # a random position in the scene to move to. 4 | extends CharacterBody2D 5 | 6 | var _target 7 | 8 | 9 | func _ready(): 10 | _pick_random_position() 11 | $body.play("run") 12 | 13 | 14 | func _process(delta): 15 | if self.position.distance_to(_target) > 1 : 16 | var direction = self.position.direction_to(_target) 17 | if direction.x > 0: 18 | turn_right() 19 | else: 20 | turn_left() 21 | 22 | # warning-ignore:return_value_discarded 23 | move_and_collide(direction * delta * 100) 24 | else: 25 | $body.play("idle") 26 | $rest_timer.start() 27 | set_process(false) 28 | 29 | 30 | func _pick_random_position(): 31 | randomize() 32 | _target = Vector2(randi() % 445 + 5, randi() % 245 + 5) 33 | 34 | 35 | func _on_rest_timer_timeout(): 36 | _pick_random_position() 37 | $body.play("run") 38 | set_process(true) 39 | 40 | 41 | func turn_right(): 42 | if not $body.flip_h: 43 | return 44 | 45 | $body.flip_h = false 46 | $RayCast2D.target_position *= -1 47 | 48 | 49 | func turn_left(): 50 | if $body.flip_h: 51 | return 52 | 53 | $body.flip_h = true 54 | $RayCast2D.target_position *= -1 55 | -------------------------------------------------------------------------------- /goap/action.gd: -------------------------------------------------------------------------------- 1 | # 2 | # Action Contract 3 | # 4 | extends Node 5 | 6 | class_name GoapAction 7 | 8 | 9 | # 10 | # This indicates if the action should be considered or not. 11 | # 12 | # Currently I'm using this method only during planning, but it could 13 | # also be used during execution to abort the plan in case the world state 14 | # does not allow this action anymore. 15 | # 16 | func is_valid() -> bool: 17 | return true 18 | 19 | 20 | # 21 | # Action Cost. This is a function so it handles situational costs, when the world 22 | # state is considered when calculating the cost. 23 | # 24 | # Check "./actions/chop_tree.gd" for a situational cost example. 25 | # 26 | func get_cost(_blackboard) -> int: 27 | return 1000 28 | 29 | # 30 | # Action requirements. 31 | # Example: 32 | # { 33 | # "has_wood": true 34 | # } 35 | # 36 | func get_preconditions() -> Dictionary: 37 | return {} 38 | 39 | 40 | # 41 | # What conditions this action satisfies 42 | # 43 | # Example: 44 | # { 45 | # "has_wood": true 46 | # } 47 | func get_effects() -> Dictionary: 48 | return {} 49 | 50 | 51 | # 52 | # Action implementation called on every loop. 53 | # "actor" is the NPC using the AI 54 | # "delta" is the time in seconds since last loop. 55 | # 56 | # Returns true when the task is complete. 57 | # 58 | # Check "./actions/chop_tree.gd" for example. 59 | # 60 | # I decided to have actions owning their logic, but this 61 | # is up to you. You could have another script to handle this 62 | # or even let your NPC decide how to handle the action. In other words, 63 | # your NPC could just receive the action name and decide what to do. 64 | # 65 | func perform(_actor, _delta) -> bool: 66 | return false 67 | -------------------------------------------------------------------------------- /project.godot: -------------------------------------------------------------------------------- 1 | ; Engine configuration file. 2 | ; It's best edited using the editor UI and not directly, 3 | ; since the parameters that go here are not all obvious. 4 | ; 5 | ; Format: 6 | ; [section] ; section goes between [] 7 | ; param=value ; assign values to parameters 8 | 9 | config_version=5 10 | 11 | [application] 12 | 13 | config/name="godot-goal-oriented-action-planning" 14 | run/main_scene="res://scenes/main.tscn" 15 | config/features=PackedStringArray("4.0") 16 | config/icon="res://icon.png" 17 | 18 | [autoload] 19 | 20 | WorldState="*res://world/world_state.gd" 21 | Goap="*res://goap/goap.gd" 22 | 23 | [display] 24 | 25 | window/size/viewport_width=480 26 | window/size/viewport_height=270 27 | window/size/window_width_override=1280 28 | window/size/window_height_override=720 29 | window/stretch/mode="canvas_items" 30 | window/stretch/aspect="keep_width" 31 | 32 | [importer_defaults] 33 | 34 | texture={ 35 | "compress/bptc_ldr": 0, 36 | "compress/hdr_mode": 0, 37 | "compress/lossy_quality": 0.7, 38 | "compress/mode": 0, 39 | "compress/normal_map": 0, 40 | "detect_3d": true, 41 | "flags/anisotropic": false, 42 | "flags/filter": false, 43 | "flags/mipmaps": false, 44 | "flags/repeat": 0, 45 | "flags/srgb": 2, 46 | "process/HDR_as_SRGB": false, 47 | "process/fix_alpha_border": true, 48 | "process/invert_color": false, 49 | "process/premult_alpha": false, 50 | "size_limit": 0, 51 | "stream": false, 52 | "svg/scale": 1.0 53 | } 54 | 55 | [physics] 56 | 57 | common/enable_pause_aware_picking=true 58 | 59 | [rendering] 60 | 61 | environment/defaults/default_clear_color=Color(0.333333, 0.490196, 0.333333, 1) 62 | environment/defaults/default_environment="res://default_env.tres" 63 | -------------------------------------------------------------------------------- /scenes/firepit.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=8 format=3 uid="uid://civweqo7663sk"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://b153nqpuv83gr" path="res://sprites/forestDecoration_0.png" id="1"] 4 | [ext_resource type="Script" path="res://scenes/firepit.gd" id="2"] 5 | 6 | [sub_resource type="AtlasTexture" id="1"] 7 | atlas = ExtResource("1") 8 | region = Rect2(96, 140, 16, 35) 9 | 10 | [sub_resource type="AtlasTexture" id="2"] 11 | atlas = ExtResource("1") 12 | region = Rect2(112, 140, 16, 35) 13 | 14 | [sub_resource type="AtlasTexture" id="3"] 15 | atlas = ExtResource("1") 16 | region = Rect2(128, 140, 16, 35) 17 | 18 | [sub_resource type="AtlasTexture" id="4"] 19 | atlas = ExtResource("1") 20 | region = Rect2(144, 140, 16, 35) 21 | 22 | [sub_resource type="SpriteFrames" id="5"] 23 | animations = [{ 24 | "frames": [{ 25 | "duration": 1.0, 26 | "texture": SubResource("1") 27 | }, { 28 | "duration": 1.0, 29 | "texture": SubResource("2") 30 | }, { 31 | "duration": 1.0, 32 | "texture": SubResource("3") 33 | }, { 34 | "duration": 1.0, 35 | "texture": SubResource("4") 36 | }], 37 | "loop": true, 38 | "name": &"default", 39 | "speed": 10.0 40 | }] 41 | 42 | [node name="firepit" type="Node2D" groups=["firepit"]] 43 | texture_filter = 1 44 | script = ExtResource("2") 45 | 46 | [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] 47 | sprite_frames = SubResource("5") 48 | 49 | [node name="timer" type="Timer" parent="."] 50 | wait_time = 10.0 51 | one_shot = true 52 | autostart = true 53 | 54 | [node name="label" type="Label" parent="."] 55 | offset_left = -19.0 56 | offset_top = -35.0 57 | offset_right = 21.0 58 | offset_bottom = -9.0 59 | text = "10" 60 | horizontal_alignment = 1 61 | 62 | [connection signal="timeout" from="timer" to="." method="_on_timer_timeout"] 63 | -------------------------------------------------------------------------------- /goap/agent.gd: -------------------------------------------------------------------------------- 1 | # 2 | # This script integrates the actor (NPC) with goap. 3 | # In your implementation you could have this logic 4 | # inside your NPC script. 5 | # 6 | # As good practice, I suggest leaving it isolated like 7 | # this, so it makes re-use easy and it doesn't get tied 8 | # to unrelated implementation details (movement, collisions, etc) 9 | extends Node 10 | 11 | class_name GoapAgent 12 | 13 | var _goals 14 | var _current_goal 15 | var _current_plan 16 | var _current_plan_step = 0 17 | 18 | var _actor 19 | 20 | # 21 | # On every loop this script checks if the current goal is still 22 | # the highest priority. if it's not, it requests the action planner a new plan 23 | # for the new high priority goal. 24 | # 25 | func _process(delta): 26 | var goal = _get_best_goal() 27 | if _current_goal == null or goal != _current_goal: 28 | # You can set in the blackboard any relevant information you want to use 29 | # when calculating action costs and status. I'm not sure here is the best 30 | # place to leave it, but I kept here to keep things simple. 31 | var blackboard = { 32 | "position": _actor.position, 33 | } 34 | 35 | for s in WorldState._state: 36 | blackboard[s] = WorldState._state[s] 37 | 38 | _current_goal = goal 39 | _current_plan = Goap.get_action_planner().get_plan(_current_goal, blackboard) 40 | _current_plan_step = 0 41 | else: 42 | _follow_plan(_current_plan, delta) 43 | 44 | 45 | func init(actor, goals: Array): 46 | _actor = actor 47 | _goals = goals 48 | 49 | 50 | # 51 | # Returns the highest priority goal available. 52 | # 53 | func _get_best_goal(): 54 | var highest_priority 55 | 56 | for goal in _goals: 57 | if goal.is_valid() and (highest_priority == null or goal.priority() > highest_priority.priority()): 58 | highest_priority = goal 59 | 60 | return highest_priority 61 | 62 | 63 | # 64 | # Executes plan. This function is called on every game loop. 65 | # "plan" is the current list of actions, and delta is the time since last loop. 66 | # 67 | # Every action exposes a function called perform, which will return true when 68 | # the job is complete, so the agent can jump to the next action in the list. 69 | # 70 | func _follow_plan(plan, delta): 71 | if plan.size() == 0: 72 | return 73 | 74 | var is_step_complete = plan[_current_plan_step].perform(_actor, delta) 75 | if is_step_complete and _current_plan_step < plan.size() - 1: 76 | _current_plan_step += 1 77 | -------------------------------------------------------------------------------- /scenes/satyr.gd: -------------------------------------------------------------------------------- 1 | # 2 | # This NPC uses GOAP as AI. This script handles 3 | # Only NPC related stuff, like moving and animations. 4 | 5 | # All AI related code is inside GoapAgent. 6 | # 7 | # This is optional, but I usually like to have my AI code 8 | # separated from the "dumb" modules that handle the basic low 9 | # level stuff, this allows me to use the same Agent in different 10 | # nodes. 11 | # 12 | extends CharacterBody2D 13 | 14 | var is_moving = false 15 | var is_attacking = false 16 | 17 | func _ready(): 18 | # Here is where I define which goals are available for this 19 | # npc. In this implementation, goals priority are calculated 20 | # dynamically. Depending on your use case you might want to 21 | # have a way to define different goal priorities depending on 22 | # npc. 23 | var agent = GoapAgent.new() 24 | agent.init(self, [ 25 | KeepFirepitBurningGoal.new(), 26 | KeepFedGoal.new(), 27 | CalmDownGoal.new(), 28 | RelaxGoal.new() 29 | ]) 30 | 31 | add_child(agent) 32 | 33 | 34 | func _process(_delta): 35 | $labels/labels/afraid_label.visible = WorldState.get_state("is_frightened", false) 36 | $labels/labels/hungry_label.visible = WorldState.get_state("hunger", 0) >= 50 37 | 38 | if is_attacking: 39 | $body.play("attack") 40 | elif is_moving: 41 | is_moving = false 42 | else: 43 | $body.play("idle") 44 | 45 | 46 | 47 | func move_to(direction, delta): 48 | is_moving = true 49 | is_attacking = false 50 | $body.play("run") 51 | if direction.x > 0: 52 | turn_right() 53 | else: 54 | turn_left() 55 | 56 | # warning-ignore:return_value_discarded 57 | move_and_collide(direction * delta * 100) 58 | 59 | 60 | 61 | func turn_right(): 62 | if not $body.flip_h: 63 | return 64 | 65 | $body.flip_h = false 66 | 67 | 68 | func turn_left(): 69 | if $body.flip_h: 70 | return 71 | 72 | $body.flip_h = true 73 | 74 | 75 | func chop_tree(tree): 76 | var is_finished = tree.chop() 77 | is_attacking = not is_finished 78 | return is_finished 79 | 80 | 81 | func calm_down(): 82 | if WorldState.get_state("is_frightened") == false: 83 | return true 84 | 85 | if $calm_down_timer.is_stopped(): 86 | $calm_down_timer.start() 87 | 88 | return false 89 | 90 | 91 | func _on_detection_radius_body_entered(body): 92 | if body.is_in_group("troll"): 93 | WorldState.set_state("is_frightened", true) 94 | 95 | 96 | func _on_calm_down_timer_timeout(): 97 | WorldState.set_state("is_frightened", false) 98 | -------------------------------------------------------------------------------- /scenes/troll.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=13 format=3 uid="uid://bnysn00thw3g2"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://dg7jc6voq4lg3" path="res://sprites/troll_.png" id="1"] 4 | [ext_resource type="Script" path="res://scenes/troll.gd" id="2"] 5 | 6 | [sub_resource type="AtlasTexture" id="1"] 7 | atlas = ExtResource("1") 8 | region = Rect2(0, 0, 24, 24) 9 | 10 | [sub_resource type="AtlasTexture" id="2"] 11 | atlas = ExtResource("1") 12 | region = Rect2(24, 0, 24, 24) 13 | 14 | [sub_resource type="AtlasTexture" id="3"] 15 | atlas = ExtResource("1") 16 | region = Rect2(48, 0, 24, 24) 17 | 18 | [sub_resource type="AtlasTexture" id="4"] 19 | atlas = ExtResource("1") 20 | region = Rect2(72, 0, 24, 24) 21 | 22 | [sub_resource type="AtlasTexture" id="5"] 23 | atlas = ExtResource("1") 24 | region = Rect2(0, 48, 24, 24) 25 | 26 | [sub_resource type="AtlasTexture" id="6"] 27 | atlas = ExtResource("1") 28 | region = Rect2(24, 48, 24, 24) 29 | 30 | [sub_resource type="AtlasTexture" id="7"] 31 | atlas = ExtResource("1") 32 | region = Rect2(48, 48, 24, 24) 33 | 34 | [sub_resource type="AtlasTexture" id="8"] 35 | atlas = ExtResource("1") 36 | region = Rect2(72, 48, 24, 24) 37 | 38 | [sub_resource type="SpriteFrames" id="9"] 39 | animations = [{ 40 | "frames": [{ 41 | "duration": 1.0, 42 | "texture": SubResource("1") 43 | }, { 44 | "duration": 1.0, 45 | "texture": SubResource("2") 46 | }, { 47 | "duration": 1.0, 48 | "texture": SubResource("3") 49 | }, { 50 | "duration": 1.0, 51 | "texture": SubResource("4") 52 | }], 53 | "loop": true, 54 | "name": &"idle", 55 | "speed": 5.0 56 | }, { 57 | "frames": [{ 58 | "duration": 1.0, 59 | "texture": SubResource("5") 60 | }, { 61 | "duration": 1.0, 62 | "texture": SubResource("6") 63 | }, { 64 | "duration": 1.0, 65 | "texture": SubResource("7") 66 | }, { 67 | "duration": 1.0, 68 | "texture": SubResource("8") 69 | }], 70 | "loop": true, 71 | "name": &"run", 72 | "speed": 10.0 73 | }] 74 | 75 | [sub_resource type="RectangleShape2D" id="10"] 76 | size = Vector2(5.08686, 7.07948) 77 | 78 | [node name="troll" type="CharacterBody2D" groups=["troll"]] 79 | collision_layer = 2 80 | collision_mask = 0 81 | script = ExtResource("2") 82 | 83 | [node name="body" type="AnimatedSprite2D" parent="."] 84 | texture_filter = 1 85 | position = Vector2(0, -12) 86 | sprite_frames = SubResource("9") 87 | animation = &"idle" 88 | 89 | [node name="CollisionShape2D" type="CollisionShape2D" parent="."] 90 | position = Vector2(0, -7) 91 | shape = SubResource("10") 92 | 93 | [node name="RayCast2D" type="RayCast2D" parent="."] 94 | position = Vector2(0, -7) 95 | target_position = Vector2(10, 0) 96 | collision_mask = 6 97 | 98 | [node name="rest_timer" type="Timer" parent="."] 99 | wait_time = 3.0 100 | one_shot = true 101 | 102 | [connection signal="timeout" from="rest_timer" to="." method="_on_rest_timer_timeout"] 103 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Godot Goal Oriented Action Planning Example 2 | 3 | ![Screenshot](./screenshot.png) 4 | 5 | This is the GOAP example implemented for [this video](https://youtu.be/LhnlNKWh7oc). If you have any comments and suggestion that video's comments section may 6 | be the best place for them. 7 | 8 | This is a personal experiment not tested in high load scenarios. 9 | The code is fully documented to explain the reasoning behind the implementation. 10 | 11 | You can find a live demo [here](https://viniciusgerevini.github.io/godot-goap). 12 | 13 | The main branch works on Godot 4. For Godot 3, check the [godot_3](https://github.com/viniciusgerevini/godot-goap/tree/godot_3) branch. Godot 3 is the version shown in the demo video. 14 | 15 | ## What the example does 16 | 17 | The main NPC (`./scenes/satyr.tscn`) needs to keep a firepit burning all the time. 18 | 19 | This NPC has the following goals (higher numbers are higher priority): 20 | 21 | - Keep Fire Pit Burning (priority 1) 22 | - Keep Fed (priority 1 when hungry, 2 when very hungry) 23 | - Calm Down (priority 10): When afraid 24 | - Relax (priority 0): When there is nothing else to do 25 | 26 | There is another NPC (not using goap), the Troll, which keeps wandering in the scene. If they get 27 | too close to the Satyr, they enter in a frightned state. 28 | 29 | ## How it works 30 | 31 | You can find all actions available at `./goap/actions/` and goals at `./goap/goals/`. 32 | 33 | The `GoapAgent`(`./goap/agent.gd`) class integrates the NPC with the planner. It is responsible by requesting 34 | plans and making sure the highest priority goal is being handled. 35 | 36 | The `GoapActionPlanner`(`./goap/action_planner.gd`) is the heart of this implementation. When a plan is requested it first 37 | creates a graph with all valid paths. Then it walks the graph building plans (list of actions) while summing their costs. 38 | Finally, it returns the cheapest plan, which is executed by the agent. 39 | 40 | In this implementation, I decided to have the action logic inside the action script. All actions have a `perform` method which receives an `actor` and a `delta`. 41 | Maybe I was biased by my Behavior Tree implementation, but I like the idea of actions being stateless and not including low level details. 42 | 43 | Check the scripts for comments with contextual information. 44 | 45 | 46 | ## Can I use this in my project? 47 | 48 | I only own the code, assets are from [analogstudios_](https://analogstudios.itch.io/). 49 | 50 | Feel free to use this code as you see fit. Keep in mind this is an experiment and many edge cases are not being handled. Some are commented in the code, 51 | some others I might not have thought of. Also, I haven't tested it in stress situations. 52 | 53 | There is no need for attribution. Anyway, in case you do something cool with it, let me know. I'd love to see it. 54 | 55 | If you like this kind of content you might like my [youtube channel](http://youtube.com/c/ThisIsVini) or my [Twitter](https://twitter.com/vini_gerevini). 56 | 57 | -------------------------------------------------------------------------------- /scenes/satyr.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=18 format=3 uid="uid://cr6noovmcl47a"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://cdu4syw57sypi" path="res://sprites/satyr_.png" id="1"] 4 | [ext_resource type="Script" path="res://scenes/satyr.gd" id="2"] 5 | 6 | [sub_resource type="AtlasTexture" id="9"] 7 | atlas = ExtResource("1") 8 | region = Rect2(0, 96, 24, 24) 9 | 10 | [sub_resource type="AtlasTexture" id="10"] 11 | atlas = ExtResource("1") 12 | region = Rect2(24, 96, 24, 24) 13 | 14 | [sub_resource type="AtlasTexture" id="11"] 15 | atlas = ExtResource("1") 16 | region = Rect2(48, 96, 24, 24) 17 | 18 | [sub_resource type="AtlasTexture" id="12"] 19 | atlas = ExtResource("1") 20 | region = Rect2(72, 96, 24, 24) 21 | 22 | [sub_resource type="AtlasTexture" id="1"] 23 | atlas = ExtResource("1") 24 | region = Rect2(0, 0, 24, 24) 25 | 26 | [sub_resource type="AtlasTexture" id="2"] 27 | atlas = ExtResource("1") 28 | region = Rect2(24, 0, 24, 24) 29 | 30 | [sub_resource type="AtlasTexture" id="3"] 31 | atlas = ExtResource("1") 32 | region = Rect2(48, 0, 24, 24) 33 | 34 | [sub_resource type="AtlasTexture" id="4"] 35 | atlas = ExtResource("1") 36 | region = Rect2(72, 0, 24, 24) 37 | 38 | [sub_resource type="AtlasTexture" id="5"] 39 | atlas = ExtResource("1") 40 | region = Rect2(0, 48, 24, 24) 41 | 42 | [sub_resource type="AtlasTexture" id="6"] 43 | atlas = ExtResource("1") 44 | region = Rect2(24, 48, 24, 24) 45 | 46 | [sub_resource type="AtlasTexture" id="7"] 47 | atlas = ExtResource("1") 48 | region = Rect2(48, 48, 24, 24) 49 | 50 | [sub_resource type="AtlasTexture" id="8"] 51 | atlas = ExtResource("1") 52 | region = Rect2(72, 48, 24, 24) 53 | 54 | [sub_resource type="SpriteFrames" id="13"] 55 | animations = [{ 56 | "frames": [{ 57 | "duration": 1.0, 58 | "texture": SubResource("9") 59 | }, { 60 | "duration": 1.0, 61 | "texture": SubResource("10") 62 | }, { 63 | "duration": 1.0, 64 | "texture": SubResource("11") 65 | }, { 66 | "duration": 1.0, 67 | "texture": SubResource("12") 68 | }, { 69 | "duration": 1.0, 70 | "texture": SubResource("9") 71 | }], 72 | "loop": true, 73 | "name": &"attack", 74 | "speed": 5.0 75 | }, { 76 | "frames": [{ 77 | "duration": 1.0, 78 | "texture": SubResource("1") 79 | }, { 80 | "duration": 1.0, 81 | "texture": SubResource("2") 82 | }, { 83 | "duration": 1.0, 84 | "texture": SubResource("3") 85 | }, { 86 | "duration": 1.0, 87 | "texture": SubResource("4") 88 | }], 89 | "loop": true, 90 | "name": &"idle", 91 | "speed": 5.0 92 | }, { 93 | "frames": [{ 94 | "duration": 1.0, 95 | "texture": SubResource("5") 96 | }, { 97 | "duration": 1.0, 98 | "texture": SubResource("6") 99 | }, { 100 | "duration": 1.0, 101 | "texture": SubResource("7") 102 | }, { 103 | "duration": 1.0, 104 | "texture": SubResource("8") 105 | }], 106 | "loop": true, 107 | "name": &"run", 108 | "speed": 10.0 109 | }] 110 | 111 | [sub_resource type="RectangleShape2D" id="14"] 112 | size = Vector2(5.08686, 7.07948) 113 | 114 | [sub_resource type="CircleShape2D" id="15"] 115 | radius = 54.6939 116 | 117 | [node name="satyr" type="CharacterBody2D"] 118 | script = ExtResource("2") 119 | 120 | [node name="body" type="AnimatedSprite2D" parent="."] 121 | texture_filter = 1 122 | position = Vector2(0, -12) 123 | sprite_frames = SubResource("13") 124 | animation = &"idle" 125 | frame = 1 126 | 127 | [node name="CollisionShape2D" type="CollisionShape2D" parent="."] 128 | position = Vector2(0, -7) 129 | shape = SubResource("14") 130 | 131 | [node name="detection_radius" type="Area2D" parent="."] 132 | position = Vector2(0, -7) 133 | collision_mask = 2 134 | 135 | [node name="CollisionShape2D" type="CollisionShape2D" parent="detection_radius"] 136 | shape = SubResource("15") 137 | 138 | [node name="calm_down_timer" type="Timer" parent="."] 139 | wait_time = 5.0 140 | one_shot = true 141 | 142 | [node name="labels" type="Node2D" parent="."] 143 | z_index = 100 144 | 145 | [node name="labels" type="VBoxContainer" parent="labels"] 146 | custom_minimum_size = Vector2(50, 40) 147 | offset_left = -25.0 148 | offset_top = -58.0 149 | offset_right = 25.0 150 | offset_bottom = -18.0 151 | grow_horizontal = 0 152 | grow_vertical = 0 153 | alignment = 2 154 | 155 | [node name="hungry_label" type="Label" parent="labels/labels"] 156 | visible = false 157 | layout_mode = 2 158 | text = "Hungry" 159 | 160 | [node name="afraid_label" type="Label" parent="labels/labels"] 161 | visible = false 162 | layout_mode = 2 163 | text = "Afraid" 164 | 165 | [connection signal="body_entered" from="detection_radius" to="." method="_on_detection_radius_body_entered"] 166 | [connection signal="timeout" from="calm_down_timer" to="." method="_on_calm_down_timer_timeout"] 167 | -------------------------------------------------------------------------------- /goap/action_planner.gd: -------------------------------------------------------------------------------- 1 | # 2 | # Planner. Goap's heart. 3 | # 4 | extends Node 5 | 6 | class_name GoapActionPlanner 7 | 8 | var _actions: Array 9 | 10 | 11 | # 12 | # set actions available for planning. 13 | # this can be changed in runtime for more dynamic options. 14 | # 15 | func set_actions(actions: Array): 16 | _actions = actions 17 | 18 | 19 | # 20 | # Receives a Goal and an optional blackboard. 21 | # Returns a list of actions to be executed. 22 | # 23 | func get_plan(goal: GoapGoal, blackboard = {}) -> Array: 24 | print("Goal: %s" % goal.get_clazz()) 25 | WorldState.console_message("Goal: %s" % goal.get_clazz()) 26 | var desired_state = goal.get_desired_state().duplicate() 27 | 28 | if desired_state.is_empty(): 29 | return [] 30 | 31 | return _find_best_plan(goal, desired_state, blackboard) 32 | 33 | 34 | 35 | func _find_best_plan(goal, desired_state, blackboard): 36 | # goal is set as root action. It does feel weird 37 | # but the code is simpler this way. 38 | var root = { 39 | "action": goal, 40 | "state": desired_state, 41 | "children": [] 42 | } 43 | 44 | # build plans will populate root with children. 45 | # In case it doesn't find a valid path, it will return false. 46 | if _build_plans(root, blackboard.duplicate()): 47 | var plans = _transform_tree_into_array(root, blackboard) 48 | return _get_cheapest_plan(plans) 49 | 50 | return [] 51 | 52 | 53 | # 54 | # Compares plan's cost and returns 55 | # actions included in the cheapest one. 56 | # 57 | func _get_cheapest_plan(plans): 58 | var best_plan 59 | for p in plans: 60 | _print_plan(p) 61 | if best_plan == null or p.cost < best_plan.cost: 62 | best_plan = p 63 | return best_plan.actions 64 | 65 | 66 | # 67 | # Builds graph with actions. Only includes valid plans (plans 68 | # that achieve the goal). 69 | # 70 | # Returns true if the path has a solution. 71 | # 72 | # This function uses recursion to build the graph. This is 73 | # necessary because any new action included in the graph may 74 | # add pre-conditions to the desired state that can be satisfied 75 | # by previously considered actions, meaning, on every step we 76 | # need to iterate from the beginning to find all solutions. 77 | # 78 | # Be aware that for simplicity, the current implementation is not protected from 79 | # circular dependencies. This is easy to implement though. 80 | # 81 | func _build_plans(step, blackboard): 82 | var has_followup = false 83 | 84 | # each node in the graph has it's own desired state. 85 | var state = step.state.duplicate() 86 | # checks if the blackboard contains data that can 87 | # satisfy the current state. 88 | for s in step.state: 89 | if state[s] == blackboard.get(s): 90 | state.erase(s) 91 | 92 | # if the state is empty, it means this branch already 93 | # found the solution, so it doesn't need to look for 94 | # more actions 95 | if state.is_empty(): 96 | return true 97 | 98 | for action in _actions: 99 | if not action.is_valid(): 100 | continue 101 | 102 | var should_use_action = false 103 | var effects = action.get_effects() 104 | var desired_state = state.duplicate() 105 | 106 | # check if action should be used, i.e. it 107 | # satisfies at least one condition from the 108 | # desired state 109 | for s in desired_state: 110 | if desired_state[s] == effects.get(s): 111 | desired_state.erase(s) 112 | should_use_action = true 113 | 114 | if should_use_action: 115 | # adds actions pre-conditions to the desired state 116 | var preconditions = action.get_preconditions() 117 | for p in preconditions: 118 | desired_state[p] = preconditions[p] 119 | 120 | var s = { 121 | "action": action, 122 | "state": desired_state, 123 | "children": [] 124 | } 125 | 126 | # if desired state is empty, it means this action 127 | # can be included in the graph. 128 | # if it's not empty, _build_plans is called again (recursively) so 129 | # it can try to find actions to satisfy this current state. In case 130 | # it can't find anything, this action won't be included in the graph. 131 | if desired_state.is_empty() or _build_plans(s, blackboard.duplicate()): 132 | step.children.push_back(s) 133 | has_followup = true 134 | 135 | return has_followup 136 | 137 | 138 | # 139 | # Transforms graph with actions into list of actions and calculates 140 | # the cost by summing actions' cost 141 | # 142 | # Returns list of plans. 143 | # 144 | func _transform_tree_into_array(p, blackboard): 145 | var plans = [] 146 | 147 | if p.children.size() == 0: 148 | plans.push_back({ "actions": [p.action], "cost": p.action.get_cost(blackboard) }) 149 | return plans 150 | 151 | for c in p.children: 152 | for child_plan in _transform_tree_into_array(c, blackboard): 153 | if p.action.has_method("get_cost"): 154 | child_plan.actions.push_back(p.action) 155 | child_plan.cost += p.action.get_cost(blackboard) 156 | plans.push_back(child_plan) 157 | return plans 158 | 159 | 160 | # 161 | # Prints plan. Used for Debugging only. 162 | # 163 | func _print_plan(plan): 164 | var actions = [] 165 | for a in plan.actions: 166 | actions.push_back(a.get_clazz()) 167 | print({"cost": plan.cost, "actions": actions}) 168 | WorldState.console_message({"cost": plan.cost, "actions": actions}) 169 | -------------------------------------------------------------------------------- /scenes/main.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=40 format=3 uid="uid://b5kiptbuouxhc"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://b2ami8x4mxfta" path="res://sprites/forest_.png" id="1"] 4 | [ext_resource type="Texture2D" uid="uid://b153nqpuv83gr" path="res://sprites/forestDecoration_0.png" id="2"] 5 | [ext_resource type="PackedScene" uid="uid://bnysn00thw3g2" path="res://scenes/troll.tscn" id="3"] 6 | [ext_resource type="PackedScene" uid="uid://cr6noovmcl47a" path="res://scenes/satyr.tscn" id="4"] 7 | [ext_resource type="PackedScene" uid="uid://b17kgpyktoyps" path="res://scenes/tree.tscn" id="5"] 8 | [ext_resource type="PackedScene" uid="uid://bqquv121e1b0j" path="res://scenes/wood_stock.tscn" id="6"] 9 | [ext_resource type="PackedScene" uid="uid://b1xnqbmsxtk2j" path="res://scenes/mushroom.tscn" id="7"] 10 | [ext_resource type="Script" path="res://scenes/main.gd" id="8"] 11 | [ext_resource type="PackedScene" uid="uid://f8u5kas7gd2y" path="res://scenes/cover.tscn" id="9"] 12 | 13 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_2f1t7"] 14 | texture = ExtResource("1") 15 | margins = Vector2i(16, 352) 16 | 0:0/next_alternative_id = 8 17 | 0:0/0 = 0 18 | 0:0/1 = 1 19 | 0:0/1/flip_h = true 20 | 0:0/2 = 2 21 | 0:0/2/flip_v = true 22 | 0:0/3 = 3 23 | 0:0/3/flip_h = true 24 | 0:0/3/flip_v = true 25 | 0:0/4 = 4 26 | 0:0/4/transpose = true 27 | 0:0/5 = 5 28 | 0:0/5/flip_h = true 29 | 0:0/5/transpose = true 30 | 0:0/6 = 6 31 | 0:0/6/flip_v = true 32 | 0:0/6/transpose = true 33 | 0:0/7 = 7 34 | 0:0/7/flip_h = true 35 | 0:0/7/flip_v = true 36 | 0:0/7/transpose = true 37 | 0:1/next_alternative_id = 8 38 | 0:1/0 = 0 39 | 0:1/1 = 1 40 | 0:1/1/flip_h = true 41 | 0:1/2 = 2 42 | 0:1/2/flip_v = true 43 | 0:1/3 = 3 44 | 0:1/3/flip_h = true 45 | 0:1/3/flip_v = true 46 | 0:1/4 = 4 47 | 0:1/4/transpose = true 48 | 0:1/5 = 5 49 | 0:1/5/flip_h = true 50 | 0:1/5/transpose = true 51 | 0:1/6 = 6 52 | 0:1/6/flip_v = true 53 | 0:1/6/transpose = true 54 | 0:1/7 = 7 55 | 0:1/7/flip_h = true 56 | 0:1/7/flip_v = true 57 | 0:1/7/transpose = true 58 | 0:2/next_alternative_id = 8 59 | 0:2/0 = 0 60 | 0:2/1 = 1 61 | 0:2/1/flip_h = true 62 | 0:2/2 = 2 63 | 0:2/2/flip_v = true 64 | 0:2/3 = 3 65 | 0:2/3/flip_h = true 66 | 0:2/3/flip_v = true 67 | 0:2/4 = 4 68 | 0:2/4/transpose = true 69 | 0:2/5 = 5 70 | 0:2/5/flip_h = true 71 | 0:2/5/transpose = true 72 | 0:2/6 = 6 73 | 0:2/6/flip_v = true 74 | 0:2/6/transpose = true 75 | 0:2/7 = 7 76 | 0:2/7/flip_h = true 77 | 0:2/7/flip_v = true 78 | 0:2/7/transpose = true 79 | 0:3/next_alternative_id = 8 80 | 0:3/0 = 0 81 | 0:3/1 = 1 82 | 0:3/1/flip_h = true 83 | 0:3/2 = 2 84 | 0:3/2/flip_v = true 85 | 0:3/3 = 3 86 | 0:3/3/flip_h = true 87 | 0:3/3/flip_v = true 88 | 0:3/4 = 4 89 | 0:3/4/transpose = true 90 | 0:3/5 = 5 91 | 0:3/5/flip_h = true 92 | 0:3/5/transpose = true 93 | 0:3/6 = 6 94 | 0:3/6/flip_v = true 95 | 0:3/6/transpose = true 96 | 0:3/7 = 7 97 | 0:3/7/flip_h = true 98 | 0:3/7/flip_v = true 99 | 0:3/7/transpose = true 100 | 0:4/next_alternative_id = 8 101 | 0:4/0 = 0 102 | 0:4/1 = 1 103 | 0:4/1/flip_h = true 104 | 0:4/2 = 2 105 | 0:4/2/flip_v = true 106 | 0:4/3 = 3 107 | 0:4/3/flip_h = true 108 | 0:4/3/flip_v = true 109 | 0:4/4 = 4 110 | 0:4/4/transpose = true 111 | 0:4/5 = 5 112 | 0:4/5/flip_h = true 113 | 0:4/5/transpose = true 114 | 0:4/6 = 6 115 | 0:4/6/flip_v = true 116 | 0:4/6/transpose = true 117 | 0:4/7 = 7 118 | 0:4/7/flip_h = true 119 | 0:4/7/flip_v = true 120 | 0:4/7/transpose = true 121 | 0:5/next_alternative_id = 8 122 | 0:5/0 = 0 123 | 0:5/1 = 1 124 | 0:5/1/flip_h = true 125 | 0:5/2 = 2 126 | 0:5/2/flip_v = true 127 | 0:5/3 = 3 128 | 0:5/3/flip_h = true 129 | 0:5/3/flip_v = true 130 | 0:5/4 = 4 131 | 0:5/4/transpose = true 132 | 0:5/5 = 5 133 | 0:5/5/flip_h = true 134 | 0:5/5/transpose = true 135 | 0:5/6 = 6 136 | 0:5/6/flip_v = true 137 | 0:5/6/transpose = true 138 | 0:5/7 = 7 139 | 0:5/7/flip_h = true 140 | 0:5/7/flip_v = true 141 | 0:5/7/transpose = true 142 | 0:6/next_alternative_id = 8 143 | 0:6/0 = 0 144 | 0:6/1 = 1 145 | 0:6/1/flip_h = true 146 | 0:6/2 = 2 147 | 0:6/2/flip_v = true 148 | 0:6/3 = 3 149 | 0:6/3/flip_h = true 150 | 0:6/3/flip_v = true 151 | 0:6/4 = 4 152 | 0:6/4/transpose = true 153 | 0:6/5 = 5 154 | 0:6/5/flip_h = true 155 | 0:6/5/transpose = true 156 | 0:6/6 = 6 157 | 0:6/6/flip_v = true 158 | 0:6/6/transpose = true 159 | 0:6/7 = 7 160 | 0:6/7/flip_h = true 161 | 0:6/7/flip_v = true 162 | 0:6/7/transpose = true 163 | 0:7/next_alternative_id = 8 164 | 0:7/0 = 0 165 | 0:7/1 = 1 166 | 0:7/1/flip_h = true 167 | 0:7/2 = 2 168 | 0:7/2/flip_v = true 169 | 0:7/3 = 3 170 | 0:7/3/flip_h = true 171 | 0:7/3/flip_v = true 172 | 0:7/4 = 4 173 | 0:7/4/transpose = true 174 | 0:7/5 = 5 175 | 0:7/5/flip_h = true 176 | 0:7/5/transpose = true 177 | 0:7/6 = 6 178 | 0:7/6/flip_v = true 179 | 0:7/6/transpose = true 180 | 0:7/7 = 7 181 | 0:7/7/flip_h = true 182 | 0:7/7/flip_v = true 183 | 0:7/7/transpose = true 184 | 0:8/next_alternative_id = 8 185 | 0:8/0 = 0 186 | 0:8/1 = 1 187 | 0:8/1/flip_h = true 188 | 0:8/2 = 2 189 | 0:8/2/flip_v = true 190 | 0:8/3 = 3 191 | 0:8/3/flip_h = true 192 | 0:8/3/flip_v = true 193 | 0:8/4 = 4 194 | 0:8/4/transpose = true 195 | 0:8/5 = 5 196 | 0:8/5/flip_h = true 197 | 0:8/5/transpose = true 198 | 0:8/6 = 6 199 | 0:8/6/flip_v = true 200 | 0:8/6/transpose = true 201 | 0:8/7 = 7 202 | 0:8/7/flip_h = true 203 | 0:8/7/flip_v = true 204 | 0:8/7/transpose = true 205 | 0:9/next_alternative_id = 8 206 | 0:9/0 = 0 207 | 0:9/1 = 1 208 | 0:9/1/flip_h = true 209 | 0:9/2 = 2 210 | 0:9/2/flip_v = true 211 | 0:9/3 = 3 212 | 0:9/3/flip_h = true 213 | 0:9/3/flip_v = true 214 | 0:9/4 = 4 215 | 0:9/4/transpose = true 216 | 0:9/5 = 5 217 | 0:9/5/flip_h = true 218 | 0:9/5/transpose = true 219 | 0:9/6 = 6 220 | 0:9/6/flip_v = true 221 | 0:9/6/transpose = true 222 | 0:9/7 = 7 223 | 0:9/7/flip_h = true 224 | 0:9/7/flip_v = true 225 | 0:9/7/transpose = true 226 | 0:10/next_alternative_id = 8 227 | 0:10/0 = 0 228 | 0:10/1 = 1 229 | 0:10/1/flip_h = true 230 | 0:10/2 = 2 231 | 0:10/2/flip_v = true 232 | 0:10/3 = 3 233 | 0:10/3/flip_h = true 234 | 0:10/3/flip_v = true 235 | 0:10/4 = 4 236 | 0:10/4/transpose = true 237 | 0:10/5 = 5 238 | 0:10/5/flip_h = true 239 | 0:10/5/transpose = true 240 | 0:10/6 = 6 241 | 0:10/6/flip_v = true 242 | 0:10/6/transpose = true 243 | 0:10/7 = 7 244 | 0:10/7/flip_h = true 245 | 0:10/7/flip_v = true 246 | 0:10/7/transpose = true 247 | 0:11/next_alternative_id = 8 248 | 0:11/0 = 0 249 | 0:11/1 = 1 250 | 0:11/1/flip_h = true 251 | 0:11/2 = 2 252 | 0:11/2/flip_v = true 253 | 0:11/3 = 3 254 | 0:11/3/flip_h = true 255 | 0:11/3/flip_v = true 256 | 0:11/4 = 4 257 | 0:11/4/transpose = true 258 | 0:11/5 = 5 259 | 0:11/5/flip_h = true 260 | 0:11/5/transpose = true 261 | 0:11/6 = 6 262 | 0:11/6/flip_v = true 263 | 0:11/6/transpose = true 264 | 0:11/7 = 7 265 | 0:11/7/flip_h = true 266 | 0:11/7/flip_v = true 267 | 0:11/7/transpose = true 268 | 0:12/next_alternative_id = 8 269 | 0:12/0 = 0 270 | 0:12/1 = 1 271 | 0:12/1/flip_h = true 272 | 0:12/2 = 2 273 | 0:12/2/flip_v = true 274 | 0:12/3 = 3 275 | 0:12/3/flip_h = true 276 | 0:12/3/flip_v = true 277 | 0:12/4 = 4 278 | 0:12/4/transpose = true 279 | 0:12/5 = 5 280 | 0:12/5/flip_h = true 281 | 0:12/5/transpose = true 282 | 0:12/6 = 6 283 | 0:12/6/flip_v = true 284 | 0:12/6/transpose = true 285 | 0:12/7 = 7 286 | 0:12/7/flip_h = true 287 | 0:12/7/flip_v = true 288 | 0:12/7/transpose = true 289 | 1:0/next_alternative_id = 8 290 | 1:0/0 = 0 291 | 1:0/1 = 1 292 | 1:0/1/flip_h = true 293 | 1:0/2 = 2 294 | 1:0/2/flip_v = true 295 | 1:0/3 = 3 296 | 1:0/3/flip_h = true 297 | 1:0/3/flip_v = true 298 | 1:0/4 = 4 299 | 1:0/4/transpose = true 300 | 1:0/5 = 5 301 | 1:0/5/flip_h = true 302 | 1:0/5/transpose = true 303 | 1:0/6 = 6 304 | 1:0/6/flip_v = true 305 | 1:0/6/transpose = true 306 | 1:0/7 = 7 307 | 1:0/7/flip_h = true 308 | 1:0/7/flip_v = true 309 | 1:0/7/transpose = true 310 | 1:1/next_alternative_id = 8 311 | 1:1/0 = 0 312 | 1:1/1 = 1 313 | 1:1/1/flip_h = true 314 | 1:1/2 = 2 315 | 1:1/2/flip_v = true 316 | 1:1/3 = 3 317 | 1:1/3/flip_h = true 318 | 1:1/3/flip_v = true 319 | 1:1/4 = 4 320 | 1:1/4/transpose = true 321 | 1:1/5 = 5 322 | 1:1/5/flip_h = true 323 | 1:1/5/transpose = true 324 | 1:1/6 = 6 325 | 1:1/6/flip_v = true 326 | 1:1/6/transpose = true 327 | 1:1/7 = 7 328 | 1:1/7/flip_h = true 329 | 1:1/7/flip_v = true 330 | 1:1/7/transpose = true 331 | 1:2/next_alternative_id = 8 332 | 1:2/0 = 0 333 | 1:2/1 = 1 334 | 1:2/1/flip_h = true 335 | 1:2/2 = 2 336 | 1:2/2/flip_v = true 337 | 1:2/3 = 3 338 | 1:2/3/flip_h = true 339 | 1:2/3/flip_v = true 340 | 1:2/4 = 4 341 | 1:2/4/transpose = true 342 | 1:2/5 = 5 343 | 1:2/5/flip_h = true 344 | 1:2/5/transpose = true 345 | 1:2/6 = 6 346 | 1:2/6/flip_v = true 347 | 1:2/6/transpose = true 348 | 1:2/7 = 7 349 | 1:2/7/flip_h = true 350 | 1:2/7/flip_v = true 351 | 1:2/7/transpose = true 352 | 1:3/next_alternative_id = 8 353 | 1:3/0 = 0 354 | 1:3/1 = 1 355 | 1:3/1/flip_h = true 356 | 1:3/2 = 2 357 | 1:3/2/flip_v = true 358 | 1:3/3 = 3 359 | 1:3/3/flip_h = true 360 | 1:3/3/flip_v = true 361 | 1:3/4 = 4 362 | 1:3/4/transpose = true 363 | 1:3/5 = 5 364 | 1:3/5/flip_h = true 365 | 1:3/5/transpose = true 366 | 1:3/6 = 6 367 | 1:3/6/flip_v = true 368 | 1:3/6/transpose = true 369 | 1:3/7 = 7 370 | 1:3/7/flip_h = true 371 | 1:3/7/flip_v = true 372 | 1:3/7/transpose = true 373 | 1:4/next_alternative_id = 8 374 | 1:4/0 = 0 375 | 1:4/1 = 1 376 | 1:4/1/flip_h = true 377 | 1:4/2 = 2 378 | 1:4/2/flip_v = true 379 | 1:4/3 = 3 380 | 1:4/3/flip_h = true 381 | 1:4/3/flip_v = true 382 | 1:4/4 = 4 383 | 1:4/4/transpose = true 384 | 1:4/5 = 5 385 | 1:4/5/flip_h = true 386 | 1:4/5/transpose = true 387 | 1:4/6 = 6 388 | 1:4/6/flip_v = true 389 | 1:4/6/transpose = true 390 | 1:4/7 = 7 391 | 1:4/7/flip_h = true 392 | 1:4/7/flip_v = true 393 | 1:4/7/transpose = true 394 | 1:5/next_alternative_id = 8 395 | 1:5/0 = 0 396 | 1:5/1 = 1 397 | 1:5/1/flip_h = true 398 | 1:5/2 = 2 399 | 1:5/2/flip_v = true 400 | 1:5/3 = 3 401 | 1:5/3/flip_h = true 402 | 1:5/3/flip_v = true 403 | 1:5/4 = 4 404 | 1:5/4/transpose = true 405 | 1:5/5 = 5 406 | 1:5/5/flip_h = true 407 | 1:5/5/transpose = true 408 | 1:5/6 = 6 409 | 1:5/6/flip_v = true 410 | 1:5/6/transpose = true 411 | 1:5/7 = 7 412 | 1:5/7/flip_h = true 413 | 1:5/7/flip_v = true 414 | 1:5/7/transpose = true 415 | 1:6/next_alternative_id = 8 416 | 1:6/0 = 0 417 | 1:6/1 = 1 418 | 1:6/1/flip_h = true 419 | 1:6/2 = 2 420 | 1:6/2/flip_v = true 421 | 1:6/3 = 3 422 | 1:6/3/flip_h = true 423 | 1:6/3/flip_v = true 424 | 1:6/4 = 4 425 | 1:6/4/transpose = true 426 | 1:6/5 = 5 427 | 1:6/5/flip_h = true 428 | 1:6/5/transpose = true 429 | 1:6/6 = 6 430 | 1:6/6/flip_v = true 431 | 1:6/6/transpose = true 432 | 1:6/7 = 7 433 | 1:6/7/flip_h = true 434 | 1:6/7/flip_v = true 435 | 1:6/7/transpose = true 436 | 1:7/next_alternative_id = 8 437 | 1:7/0 = 0 438 | 1:7/1 = 1 439 | 1:7/1/flip_h = true 440 | 1:7/2 = 2 441 | 1:7/2/flip_v = true 442 | 1:7/3 = 3 443 | 1:7/3/flip_h = true 444 | 1:7/3/flip_v = true 445 | 1:7/4 = 4 446 | 1:7/4/transpose = true 447 | 1:7/5 = 5 448 | 1:7/5/flip_h = true 449 | 1:7/5/transpose = true 450 | 1:7/6 = 6 451 | 1:7/6/flip_v = true 452 | 1:7/6/transpose = true 453 | 1:7/7 = 7 454 | 1:7/7/flip_h = true 455 | 1:7/7/flip_v = true 456 | 1:7/7/transpose = true 457 | 1:8/next_alternative_id = 8 458 | 1:8/0 = 0 459 | 1:8/1 = 1 460 | 1:8/1/flip_h = true 461 | 1:8/2 = 2 462 | 1:8/2/flip_v = true 463 | 1:8/3 = 3 464 | 1:8/3/flip_h = true 465 | 1:8/3/flip_v = true 466 | 1:8/4 = 4 467 | 1:8/4/transpose = true 468 | 1:8/5 = 5 469 | 1:8/5/flip_h = true 470 | 1:8/5/transpose = true 471 | 1:8/6 = 6 472 | 1:8/6/flip_v = true 473 | 1:8/6/transpose = true 474 | 1:8/7 = 7 475 | 1:8/7/flip_h = true 476 | 1:8/7/flip_v = true 477 | 1:8/7/transpose = true 478 | 1:9/next_alternative_id = 8 479 | 1:9/0 = 0 480 | 1:9/1 = 1 481 | 1:9/1/flip_h = true 482 | 1:9/2 = 2 483 | 1:9/2/flip_v = true 484 | 1:9/3 = 3 485 | 1:9/3/flip_h = true 486 | 1:9/3/flip_v = true 487 | 1:9/4 = 4 488 | 1:9/4/transpose = true 489 | 1:9/5 = 5 490 | 1:9/5/flip_h = true 491 | 1:9/5/transpose = true 492 | 1:9/6 = 6 493 | 1:9/6/flip_v = true 494 | 1:9/6/transpose = true 495 | 1:9/7 = 7 496 | 1:9/7/flip_h = true 497 | 1:9/7/flip_v = true 498 | 1:9/7/transpose = true 499 | 1:10/next_alternative_id = 8 500 | 1:10/0 = 0 501 | 1:10/1 = 1 502 | 1:10/1/flip_h = true 503 | 1:10/2 = 2 504 | 1:10/2/flip_v = true 505 | 1:10/3 = 3 506 | 1:10/3/flip_h = true 507 | 1:10/3/flip_v = true 508 | 1:10/4 = 4 509 | 1:10/4/transpose = true 510 | 1:10/5 = 5 511 | 1:10/5/flip_h = true 512 | 1:10/5/transpose = true 513 | 1:10/6 = 6 514 | 1:10/6/flip_v = true 515 | 1:10/6/transpose = true 516 | 1:10/7 = 7 517 | 1:10/7/flip_h = true 518 | 1:10/7/flip_v = true 519 | 1:10/7/transpose = true 520 | 1:11/next_alternative_id = 8 521 | 1:11/0 = 0 522 | 1:11/1 = 1 523 | 1:11/1/flip_h = true 524 | 1:11/2 = 2 525 | 1:11/2/flip_v = true 526 | 1:11/3 = 3 527 | 1:11/3/flip_h = true 528 | 1:11/3/flip_v = true 529 | 1:11/4 = 4 530 | 1:11/4/transpose = true 531 | 1:11/5 = 5 532 | 1:11/5/flip_h = true 533 | 1:11/5/transpose = true 534 | 1:11/6 = 6 535 | 1:11/6/flip_v = true 536 | 1:11/6/transpose = true 537 | 1:11/7 = 7 538 | 1:11/7/flip_h = true 539 | 1:11/7/flip_v = true 540 | 1:11/7/transpose = true 541 | 1:12/next_alternative_id = 8 542 | 1:12/0 = 0 543 | 1:12/1 = 1 544 | 1:12/1/flip_h = true 545 | 1:12/2 = 2 546 | 1:12/2/flip_v = true 547 | 1:12/3 = 3 548 | 1:12/3/flip_h = true 549 | 1:12/3/flip_v = true 550 | 1:12/4 = 4 551 | 1:12/4/transpose = true 552 | 1:12/5 = 5 553 | 1:12/5/flip_h = true 554 | 1:12/5/transpose = true 555 | 1:12/6 = 6 556 | 1:12/6/flip_v = true 557 | 1:12/6/transpose = true 558 | 1:12/7 = 7 559 | 1:12/7/flip_h = true 560 | 1:12/7/flip_v = true 561 | 1:12/7/transpose = true 562 | 2:0/next_alternative_id = 8 563 | 2:0/0 = 0 564 | 2:0/1 = 1 565 | 2:0/1/flip_h = true 566 | 2:0/2 = 2 567 | 2:0/2/flip_v = true 568 | 2:0/3 = 3 569 | 2:0/3/flip_h = true 570 | 2:0/3/flip_v = true 571 | 2:0/4 = 4 572 | 2:0/4/transpose = true 573 | 2:0/5 = 5 574 | 2:0/5/flip_h = true 575 | 2:0/5/transpose = true 576 | 2:0/6 = 6 577 | 2:0/6/flip_v = true 578 | 2:0/6/transpose = true 579 | 2:0/7 = 7 580 | 2:0/7/flip_h = true 581 | 2:0/7/flip_v = true 582 | 2:0/7/transpose = true 583 | 2:1/next_alternative_id = 8 584 | 2:1/0 = 0 585 | 2:1/1 = 1 586 | 2:1/1/flip_h = true 587 | 2:1/2 = 2 588 | 2:1/2/flip_v = true 589 | 2:1/3 = 3 590 | 2:1/3/flip_h = true 591 | 2:1/3/flip_v = true 592 | 2:1/4 = 4 593 | 2:1/4/transpose = true 594 | 2:1/5 = 5 595 | 2:1/5/flip_h = true 596 | 2:1/5/transpose = true 597 | 2:1/6 = 6 598 | 2:1/6/flip_v = true 599 | 2:1/6/transpose = true 600 | 2:1/7 = 7 601 | 2:1/7/flip_h = true 602 | 2:1/7/flip_v = true 603 | 2:1/7/transpose = true 604 | 2:2/next_alternative_id = 8 605 | 2:2/0 = 0 606 | 2:2/1 = 1 607 | 2:2/1/flip_h = true 608 | 2:2/2 = 2 609 | 2:2/2/flip_v = true 610 | 2:2/3 = 3 611 | 2:2/3/flip_h = true 612 | 2:2/3/flip_v = true 613 | 2:2/4 = 4 614 | 2:2/4/transpose = true 615 | 2:2/5 = 5 616 | 2:2/5/flip_h = true 617 | 2:2/5/transpose = true 618 | 2:2/6 = 6 619 | 2:2/6/flip_v = true 620 | 2:2/6/transpose = true 621 | 2:2/7 = 7 622 | 2:2/7/flip_h = true 623 | 2:2/7/flip_v = true 624 | 2:2/7/transpose = true 625 | 2:3/next_alternative_id = 8 626 | 2:3/0 = 0 627 | 2:3/1 = 1 628 | 2:3/1/flip_h = true 629 | 2:3/2 = 2 630 | 2:3/2/flip_v = true 631 | 2:3/3 = 3 632 | 2:3/3/flip_h = true 633 | 2:3/3/flip_v = true 634 | 2:3/4 = 4 635 | 2:3/4/transpose = true 636 | 2:3/5 = 5 637 | 2:3/5/flip_h = true 638 | 2:3/5/transpose = true 639 | 2:3/6 = 6 640 | 2:3/6/flip_v = true 641 | 2:3/6/transpose = true 642 | 2:3/7 = 7 643 | 2:3/7/flip_h = true 644 | 2:3/7/flip_v = true 645 | 2:3/7/transpose = true 646 | 2:4/next_alternative_id = 8 647 | 2:4/0 = 0 648 | 2:4/1 = 1 649 | 2:4/1/flip_h = true 650 | 2:4/2 = 2 651 | 2:4/2/flip_v = true 652 | 2:4/3 = 3 653 | 2:4/3/flip_h = true 654 | 2:4/3/flip_v = true 655 | 2:4/4 = 4 656 | 2:4/4/transpose = true 657 | 2:4/5 = 5 658 | 2:4/5/flip_h = true 659 | 2:4/5/transpose = true 660 | 2:4/6 = 6 661 | 2:4/6/flip_v = true 662 | 2:4/6/transpose = true 663 | 2:4/7 = 7 664 | 2:4/7/flip_h = true 665 | 2:4/7/flip_v = true 666 | 2:4/7/transpose = true 667 | 2:5/next_alternative_id = 8 668 | 2:5/0 = 0 669 | 2:5/1 = 1 670 | 2:5/1/flip_h = true 671 | 2:5/2 = 2 672 | 2:5/2/flip_v = true 673 | 2:5/3 = 3 674 | 2:5/3/flip_h = true 675 | 2:5/3/flip_v = true 676 | 2:5/4 = 4 677 | 2:5/4/transpose = true 678 | 2:5/5 = 5 679 | 2:5/5/flip_h = true 680 | 2:5/5/transpose = true 681 | 2:5/6 = 6 682 | 2:5/6/flip_v = true 683 | 2:5/6/transpose = true 684 | 2:5/7 = 7 685 | 2:5/7/flip_h = true 686 | 2:5/7/flip_v = true 687 | 2:5/7/transpose = true 688 | 2:6/next_alternative_id = 8 689 | 2:6/0 = 0 690 | 2:6/1 = 1 691 | 2:6/1/flip_h = true 692 | 2:6/2 = 2 693 | 2:6/2/flip_v = true 694 | 2:6/3 = 3 695 | 2:6/3/flip_h = true 696 | 2:6/3/flip_v = true 697 | 2:6/4 = 4 698 | 2:6/4/transpose = true 699 | 2:6/5 = 5 700 | 2:6/5/flip_h = true 701 | 2:6/5/transpose = true 702 | 2:6/6 = 6 703 | 2:6/6/flip_v = true 704 | 2:6/6/transpose = true 705 | 2:6/7 = 7 706 | 2:6/7/flip_h = true 707 | 2:6/7/flip_v = true 708 | 2:6/7/transpose = true 709 | 2:7/next_alternative_id = 8 710 | 2:7/0 = 0 711 | 2:7/1 = 1 712 | 2:7/1/flip_h = true 713 | 2:7/2 = 2 714 | 2:7/2/flip_v = true 715 | 2:7/3 = 3 716 | 2:7/3/flip_h = true 717 | 2:7/3/flip_v = true 718 | 2:7/4 = 4 719 | 2:7/4/transpose = true 720 | 2:7/5 = 5 721 | 2:7/5/flip_h = true 722 | 2:7/5/transpose = true 723 | 2:7/6 = 6 724 | 2:7/6/flip_v = true 725 | 2:7/6/transpose = true 726 | 2:7/7 = 7 727 | 2:7/7/flip_h = true 728 | 2:7/7/flip_v = true 729 | 2:7/7/transpose = true 730 | 2:8/next_alternative_id = 8 731 | 2:8/0 = 0 732 | 2:8/1 = 1 733 | 2:8/1/flip_h = true 734 | 2:8/2 = 2 735 | 2:8/2/flip_v = true 736 | 2:8/3 = 3 737 | 2:8/3/flip_h = true 738 | 2:8/3/flip_v = true 739 | 2:8/4 = 4 740 | 2:8/4/transpose = true 741 | 2:8/5 = 5 742 | 2:8/5/flip_h = true 743 | 2:8/5/transpose = true 744 | 2:8/6 = 6 745 | 2:8/6/flip_v = true 746 | 2:8/6/transpose = true 747 | 2:8/7 = 7 748 | 2:8/7/flip_h = true 749 | 2:8/7/flip_v = true 750 | 2:8/7/transpose = true 751 | 2:9/next_alternative_id = 8 752 | 2:9/0 = 0 753 | 2:9/1 = 1 754 | 2:9/1/flip_h = true 755 | 2:9/2 = 2 756 | 2:9/2/flip_v = true 757 | 2:9/3 = 3 758 | 2:9/3/flip_h = true 759 | 2:9/3/flip_v = true 760 | 2:9/4 = 4 761 | 2:9/4/transpose = true 762 | 2:9/5 = 5 763 | 2:9/5/flip_h = true 764 | 2:9/5/transpose = true 765 | 2:9/6 = 6 766 | 2:9/6/flip_v = true 767 | 2:9/6/transpose = true 768 | 2:9/7 = 7 769 | 2:9/7/flip_h = true 770 | 2:9/7/flip_v = true 771 | 2:9/7/transpose = true 772 | 2:10/next_alternative_id = 8 773 | 2:10/0 = 0 774 | 2:10/1 = 1 775 | 2:10/1/flip_h = true 776 | 2:10/2 = 2 777 | 2:10/2/flip_v = true 778 | 2:10/3 = 3 779 | 2:10/3/flip_h = true 780 | 2:10/3/flip_v = true 781 | 2:10/4 = 4 782 | 2:10/4/transpose = true 783 | 2:10/5 = 5 784 | 2:10/5/flip_h = true 785 | 2:10/5/transpose = true 786 | 2:10/6 = 6 787 | 2:10/6/flip_v = true 788 | 2:10/6/transpose = true 789 | 2:10/7 = 7 790 | 2:10/7/flip_h = true 791 | 2:10/7/flip_v = true 792 | 2:10/7/transpose = true 793 | 2:11/next_alternative_id = 8 794 | 2:11/0 = 0 795 | 2:11/1 = 1 796 | 2:11/1/flip_h = true 797 | 2:11/2 = 2 798 | 2:11/2/flip_v = true 799 | 2:11/3 = 3 800 | 2:11/3/flip_h = true 801 | 2:11/3/flip_v = true 802 | 2:11/4 = 4 803 | 2:11/4/transpose = true 804 | 2:11/5 = 5 805 | 2:11/5/flip_h = true 806 | 2:11/5/transpose = true 807 | 2:11/6 = 6 808 | 2:11/6/flip_v = true 809 | 2:11/6/transpose = true 810 | 2:11/7 = 7 811 | 2:11/7/flip_h = true 812 | 2:11/7/flip_v = true 813 | 2:11/7/transpose = true 814 | 2:12/next_alternative_id = 8 815 | 2:12/0 = 0 816 | 2:12/1 = 1 817 | 2:12/1/flip_h = true 818 | 2:12/2 = 2 819 | 2:12/2/flip_v = true 820 | 2:12/3 = 3 821 | 2:12/3/flip_h = true 822 | 2:12/3/flip_v = true 823 | 2:12/4 = 4 824 | 2:12/4/transpose = true 825 | 2:12/5 = 5 826 | 2:12/5/flip_h = true 827 | 2:12/5/transpose = true 828 | 2:12/6 = 6 829 | 2:12/6/flip_v = true 830 | 2:12/6/transpose = true 831 | 2:12/7 = 7 832 | 2:12/7/flip_h = true 833 | 2:12/7/flip_v = true 834 | 2:12/7/transpose = true 835 | 3:0/next_alternative_id = 8 836 | 3:0/0 = 0 837 | 3:0/1 = 1 838 | 3:0/1/flip_h = true 839 | 3:0/2 = 2 840 | 3:0/2/flip_v = true 841 | 3:0/3 = 3 842 | 3:0/3/flip_h = true 843 | 3:0/3/flip_v = true 844 | 3:0/4 = 4 845 | 3:0/4/transpose = true 846 | 3:0/5 = 5 847 | 3:0/5/flip_h = true 848 | 3:0/5/transpose = true 849 | 3:0/6 = 6 850 | 3:0/6/flip_v = true 851 | 3:0/6/transpose = true 852 | 3:0/7 = 7 853 | 3:0/7/flip_h = true 854 | 3:0/7/flip_v = true 855 | 3:0/7/transpose = true 856 | 3:1/next_alternative_id = 8 857 | 3:1/0 = 0 858 | 3:1/1 = 1 859 | 3:1/1/flip_h = true 860 | 3:1/2 = 2 861 | 3:1/2/flip_v = true 862 | 3:1/3 = 3 863 | 3:1/3/flip_h = true 864 | 3:1/3/flip_v = true 865 | 3:1/4 = 4 866 | 3:1/4/transpose = true 867 | 3:1/5 = 5 868 | 3:1/5/flip_h = true 869 | 3:1/5/transpose = true 870 | 3:1/6 = 6 871 | 3:1/6/flip_v = true 872 | 3:1/6/transpose = true 873 | 3:1/7 = 7 874 | 3:1/7/flip_h = true 875 | 3:1/7/flip_v = true 876 | 3:1/7/transpose = true 877 | 3:2/next_alternative_id = 8 878 | 3:2/0 = 0 879 | 3:2/1 = 1 880 | 3:2/1/flip_h = true 881 | 3:2/2 = 2 882 | 3:2/2/flip_v = true 883 | 3:2/3 = 3 884 | 3:2/3/flip_h = true 885 | 3:2/3/flip_v = true 886 | 3:2/4 = 4 887 | 3:2/4/transpose = true 888 | 3:2/5 = 5 889 | 3:2/5/flip_h = true 890 | 3:2/5/transpose = true 891 | 3:2/6 = 6 892 | 3:2/6/flip_v = true 893 | 3:2/6/transpose = true 894 | 3:2/7 = 7 895 | 3:2/7/flip_h = true 896 | 3:2/7/flip_v = true 897 | 3:2/7/transpose = true 898 | 3:3/next_alternative_id = 8 899 | 3:3/0 = 0 900 | 3:3/1 = 1 901 | 3:3/1/flip_h = true 902 | 3:3/2 = 2 903 | 3:3/2/flip_v = true 904 | 3:3/3 = 3 905 | 3:3/3/flip_h = true 906 | 3:3/3/flip_v = true 907 | 3:3/4 = 4 908 | 3:3/4/transpose = true 909 | 3:3/5 = 5 910 | 3:3/5/flip_h = true 911 | 3:3/5/transpose = true 912 | 3:3/6 = 6 913 | 3:3/6/flip_v = true 914 | 3:3/6/transpose = true 915 | 3:3/7 = 7 916 | 3:3/7/flip_h = true 917 | 3:3/7/flip_v = true 918 | 3:3/7/transpose = true 919 | 3:4/next_alternative_id = 8 920 | 3:4/0 = 0 921 | 3:4/1 = 1 922 | 3:4/1/flip_h = true 923 | 3:4/2 = 2 924 | 3:4/2/flip_v = true 925 | 3:4/3 = 3 926 | 3:4/3/flip_h = true 927 | 3:4/3/flip_v = true 928 | 3:4/4 = 4 929 | 3:4/4/transpose = true 930 | 3:4/5 = 5 931 | 3:4/5/flip_h = true 932 | 3:4/5/transpose = true 933 | 3:4/6 = 6 934 | 3:4/6/flip_v = true 935 | 3:4/6/transpose = true 936 | 3:4/7 = 7 937 | 3:4/7/flip_h = true 938 | 3:4/7/flip_v = true 939 | 3:4/7/transpose = true 940 | 3:5/next_alternative_id = 8 941 | 3:5/0 = 0 942 | 3:5/1 = 1 943 | 3:5/1/flip_h = true 944 | 3:5/2 = 2 945 | 3:5/2/flip_v = true 946 | 3:5/3 = 3 947 | 3:5/3/flip_h = true 948 | 3:5/3/flip_v = true 949 | 3:5/4 = 4 950 | 3:5/4/transpose = true 951 | 3:5/5 = 5 952 | 3:5/5/flip_h = true 953 | 3:5/5/transpose = true 954 | 3:5/6 = 6 955 | 3:5/6/flip_v = true 956 | 3:5/6/transpose = true 957 | 3:5/7 = 7 958 | 3:5/7/flip_h = true 959 | 3:5/7/flip_v = true 960 | 3:5/7/transpose = true 961 | 3:6/next_alternative_id = 8 962 | 3:6/0 = 0 963 | 3:6/1 = 1 964 | 3:6/1/flip_h = true 965 | 3:6/2 = 2 966 | 3:6/2/flip_v = true 967 | 3:6/3 = 3 968 | 3:6/3/flip_h = true 969 | 3:6/3/flip_v = true 970 | 3:6/4 = 4 971 | 3:6/4/transpose = true 972 | 3:6/5 = 5 973 | 3:6/5/flip_h = true 974 | 3:6/5/transpose = true 975 | 3:6/6 = 6 976 | 3:6/6/flip_v = true 977 | 3:6/6/transpose = true 978 | 3:6/7 = 7 979 | 3:6/7/flip_h = true 980 | 3:6/7/flip_v = true 981 | 3:6/7/transpose = true 982 | 3:7/next_alternative_id = 8 983 | 3:7/0 = 0 984 | 3:7/1 = 1 985 | 3:7/1/flip_h = true 986 | 3:7/2 = 2 987 | 3:7/2/flip_v = true 988 | 3:7/3 = 3 989 | 3:7/3/flip_h = true 990 | 3:7/3/flip_v = true 991 | 3:7/4 = 4 992 | 3:7/4/transpose = true 993 | 3:7/5 = 5 994 | 3:7/5/flip_h = true 995 | 3:7/5/transpose = true 996 | 3:7/6 = 6 997 | 3:7/6/flip_v = true 998 | 3:7/6/transpose = true 999 | 3:7/7 = 7 1000 | 3:7/7/flip_h = true 1001 | 3:7/7/flip_v = true 1002 | 3:7/7/transpose = true 1003 | 3:8/next_alternative_id = 8 1004 | 3:8/0 = 0 1005 | 3:8/1 = 1 1006 | 3:8/1/flip_h = true 1007 | 3:8/2 = 2 1008 | 3:8/2/flip_v = true 1009 | 3:8/3 = 3 1010 | 3:8/3/flip_h = true 1011 | 3:8/3/flip_v = true 1012 | 3:8/4 = 4 1013 | 3:8/4/transpose = true 1014 | 3:8/5 = 5 1015 | 3:8/5/flip_h = true 1016 | 3:8/5/transpose = true 1017 | 3:8/6 = 6 1018 | 3:8/6/flip_v = true 1019 | 3:8/6/transpose = true 1020 | 3:8/7 = 7 1021 | 3:8/7/flip_h = true 1022 | 3:8/7/flip_v = true 1023 | 3:8/7/transpose = true 1024 | 3:9/next_alternative_id = 8 1025 | 3:9/0 = 0 1026 | 3:9/1 = 1 1027 | 3:9/1/flip_h = true 1028 | 3:9/2 = 2 1029 | 3:9/2/flip_v = true 1030 | 3:9/3 = 3 1031 | 3:9/3/flip_h = true 1032 | 3:9/3/flip_v = true 1033 | 3:9/4 = 4 1034 | 3:9/4/transpose = true 1035 | 3:9/5 = 5 1036 | 3:9/5/flip_h = true 1037 | 3:9/5/transpose = true 1038 | 3:9/6 = 6 1039 | 3:9/6/flip_v = true 1040 | 3:9/6/transpose = true 1041 | 3:9/7 = 7 1042 | 3:9/7/flip_h = true 1043 | 3:9/7/flip_v = true 1044 | 3:9/7/transpose = true 1045 | 3:10/next_alternative_id = 8 1046 | 3:10/0 = 0 1047 | 3:10/1 = 1 1048 | 3:10/1/flip_h = true 1049 | 3:10/2 = 2 1050 | 3:10/2/flip_v = true 1051 | 3:10/3 = 3 1052 | 3:10/3/flip_h = true 1053 | 3:10/3/flip_v = true 1054 | 3:10/4 = 4 1055 | 3:10/4/transpose = true 1056 | 3:10/5 = 5 1057 | 3:10/5/flip_h = true 1058 | 3:10/5/transpose = true 1059 | 3:10/6 = 6 1060 | 3:10/6/flip_v = true 1061 | 3:10/6/transpose = true 1062 | 3:10/7 = 7 1063 | 3:10/7/flip_h = true 1064 | 3:10/7/flip_v = true 1065 | 3:10/7/transpose = true 1066 | 3:11/next_alternative_id = 8 1067 | 3:11/0 = 0 1068 | 3:11/1 = 1 1069 | 3:11/1/flip_h = true 1070 | 3:11/2 = 2 1071 | 3:11/2/flip_v = true 1072 | 3:11/3 = 3 1073 | 3:11/3/flip_h = true 1074 | 3:11/3/flip_v = true 1075 | 3:11/4 = 4 1076 | 3:11/4/transpose = true 1077 | 3:11/5 = 5 1078 | 3:11/5/flip_h = true 1079 | 3:11/5/transpose = true 1080 | 3:11/6 = 6 1081 | 3:11/6/flip_v = true 1082 | 3:11/6/transpose = true 1083 | 3:11/7 = 7 1084 | 3:11/7/flip_h = true 1085 | 3:11/7/flip_v = true 1086 | 3:11/7/transpose = true 1087 | 3:12/next_alternative_id = 8 1088 | 3:12/0 = 0 1089 | 3:12/1 = 1 1090 | 3:12/1/flip_h = true 1091 | 3:12/2 = 2 1092 | 3:12/2/flip_v = true 1093 | 3:12/3 = 3 1094 | 3:12/3/flip_h = true 1095 | 3:12/3/flip_v = true 1096 | 3:12/4 = 4 1097 | 3:12/4/transpose = true 1098 | 3:12/5 = 5 1099 | 3:12/5/flip_h = true 1100 | 3:12/5/transpose = true 1101 | 3:12/6 = 6 1102 | 3:12/6/flip_v = true 1103 | 3:12/6/transpose = true 1104 | 3:12/7 = 7 1105 | 3:12/7/flip_h = true 1106 | 3:12/7/flip_v = true 1107 | 3:12/7/transpose = true 1108 | 4:0/next_alternative_id = 8 1109 | 4:0/0 = 0 1110 | 4:0/1 = 1 1111 | 4:0/1/flip_h = true 1112 | 4:0/2 = 2 1113 | 4:0/2/flip_v = true 1114 | 4:0/3 = 3 1115 | 4:0/3/flip_h = true 1116 | 4:0/3/flip_v = true 1117 | 4:0/4 = 4 1118 | 4:0/4/transpose = true 1119 | 4:0/5 = 5 1120 | 4:0/5/flip_h = true 1121 | 4:0/5/transpose = true 1122 | 4:0/6 = 6 1123 | 4:0/6/flip_v = true 1124 | 4:0/6/transpose = true 1125 | 4:0/7 = 7 1126 | 4:0/7/flip_h = true 1127 | 4:0/7/flip_v = true 1128 | 4:0/7/transpose = true 1129 | 4:1/next_alternative_id = 8 1130 | 4:1/0 = 0 1131 | 4:1/1 = 1 1132 | 4:1/1/flip_h = true 1133 | 4:1/2 = 2 1134 | 4:1/2/flip_v = true 1135 | 4:1/3 = 3 1136 | 4:1/3/flip_h = true 1137 | 4:1/3/flip_v = true 1138 | 4:1/4 = 4 1139 | 4:1/4/transpose = true 1140 | 4:1/5 = 5 1141 | 4:1/5/flip_h = true 1142 | 4:1/5/transpose = true 1143 | 4:1/6 = 6 1144 | 4:1/6/flip_v = true 1145 | 4:1/6/transpose = true 1146 | 4:1/7 = 7 1147 | 4:1/7/flip_h = true 1148 | 4:1/7/flip_v = true 1149 | 4:1/7/transpose = true 1150 | 4:2/next_alternative_id = 8 1151 | 4:2/0 = 0 1152 | 4:2/1 = 1 1153 | 4:2/1/flip_h = true 1154 | 4:2/2 = 2 1155 | 4:2/2/flip_v = true 1156 | 4:2/3 = 3 1157 | 4:2/3/flip_h = true 1158 | 4:2/3/flip_v = true 1159 | 4:2/4 = 4 1160 | 4:2/4/transpose = true 1161 | 4:2/5 = 5 1162 | 4:2/5/flip_h = true 1163 | 4:2/5/transpose = true 1164 | 4:2/6 = 6 1165 | 4:2/6/flip_v = true 1166 | 4:2/6/transpose = true 1167 | 4:2/7 = 7 1168 | 4:2/7/flip_h = true 1169 | 4:2/7/flip_v = true 1170 | 4:2/7/transpose = true 1171 | 4:3/next_alternative_id = 8 1172 | 4:3/0 = 0 1173 | 4:3/1 = 1 1174 | 4:3/1/flip_h = true 1175 | 4:3/2 = 2 1176 | 4:3/2/flip_v = true 1177 | 4:3/3 = 3 1178 | 4:3/3/flip_h = true 1179 | 4:3/3/flip_v = true 1180 | 4:3/4 = 4 1181 | 4:3/4/transpose = true 1182 | 4:3/5 = 5 1183 | 4:3/5/flip_h = true 1184 | 4:3/5/transpose = true 1185 | 4:3/6 = 6 1186 | 4:3/6/flip_v = true 1187 | 4:3/6/transpose = true 1188 | 4:3/7 = 7 1189 | 4:3/7/flip_h = true 1190 | 4:3/7/flip_v = true 1191 | 4:3/7/transpose = true 1192 | 4:4/next_alternative_id = 8 1193 | 4:4/0 = 0 1194 | 4:4/1 = 1 1195 | 4:4/1/flip_h = true 1196 | 4:4/2 = 2 1197 | 4:4/2/flip_v = true 1198 | 4:4/3 = 3 1199 | 4:4/3/flip_h = true 1200 | 4:4/3/flip_v = true 1201 | 4:4/4 = 4 1202 | 4:4/4/transpose = true 1203 | 4:4/5 = 5 1204 | 4:4/5/flip_h = true 1205 | 4:4/5/transpose = true 1206 | 4:4/6 = 6 1207 | 4:4/6/flip_v = true 1208 | 4:4/6/transpose = true 1209 | 4:4/7 = 7 1210 | 4:4/7/flip_h = true 1211 | 4:4/7/flip_v = true 1212 | 4:4/7/transpose = true 1213 | 4:5/next_alternative_id = 8 1214 | 4:5/0 = 0 1215 | 4:5/1 = 1 1216 | 4:5/1/flip_h = true 1217 | 4:5/2 = 2 1218 | 4:5/2/flip_v = true 1219 | 4:5/3 = 3 1220 | 4:5/3/flip_h = true 1221 | 4:5/3/flip_v = true 1222 | 4:5/4 = 4 1223 | 4:5/4/transpose = true 1224 | 4:5/5 = 5 1225 | 4:5/5/flip_h = true 1226 | 4:5/5/transpose = true 1227 | 4:5/6 = 6 1228 | 4:5/6/flip_v = true 1229 | 4:5/6/transpose = true 1230 | 4:5/7 = 7 1231 | 4:5/7/flip_h = true 1232 | 4:5/7/flip_v = true 1233 | 4:5/7/transpose = true 1234 | 4:6/next_alternative_id = 8 1235 | 4:6/0 = 0 1236 | 4:6/1 = 1 1237 | 4:6/1/flip_h = true 1238 | 4:6/2 = 2 1239 | 4:6/2/flip_v = true 1240 | 4:6/3 = 3 1241 | 4:6/3/flip_h = true 1242 | 4:6/3/flip_v = true 1243 | 4:6/4 = 4 1244 | 4:6/4/transpose = true 1245 | 4:6/5 = 5 1246 | 4:6/5/flip_h = true 1247 | 4:6/5/transpose = true 1248 | 4:6/6 = 6 1249 | 4:6/6/flip_v = true 1250 | 4:6/6/transpose = true 1251 | 4:6/7 = 7 1252 | 4:6/7/flip_h = true 1253 | 4:6/7/flip_v = true 1254 | 4:6/7/transpose = true 1255 | 4:7/next_alternative_id = 8 1256 | 4:7/0 = 0 1257 | 4:7/1 = 1 1258 | 4:7/1/flip_h = true 1259 | 4:7/2 = 2 1260 | 4:7/2/flip_v = true 1261 | 4:7/3 = 3 1262 | 4:7/3/flip_h = true 1263 | 4:7/3/flip_v = true 1264 | 4:7/4 = 4 1265 | 4:7/4/transpose = true 1266 | 4:7/5 = 5 1267 | 4:7/5/flip_h = true 1268 | 4:7/5/transpose = true 1269 | 4:7/6 = 6 1270 | 4:7/6/flip_v = true 1271 | 4:7/6/transpose = true 1272 | 4:7/7 = 7 1273 | 4:7/7/flip_h = true 1274 | 4:7/7/flip_v = true 1275 | 4:7/7/transpose = true 1276 | 4:8/next_alternative_id = 8 1277 | 4:8/0 = 0 1278 | 4:8/1 = 1 1279 | 4:8/1/flip_h = true 1280 | 4:8/2 = 2 1281 | 4:8/2/flip_v = true 1282 | 4:8/3 = 3 1283 | 4:8/3/flip_h = true 1284 | 4:8/3/flip_v = true 1285 | 4:8/4 = 4 1286 | 4:8/4/transpose = true 1287 | 4:8/5 = 5 1288 | 4:8/5/flip_h = true 1289 | 4:8/5/transpose = true 1290 | 4:8/6 = 6 1291 | 4:8/6/flip_v = true 1292 | 4:8/6/transpose = true 1293 | 4:8/7 = 7 1294 | 4:8/7/flip_h = true 1295 | 4:8/7/flip_v = true 1296 | 4:8/7/transpose = true 1297 | 4:9/next_alternative_id = 8 1298 | 4:9/0 = 0 1299 | 4:9/1 = 1 1300 | 4:9/1/flip_h = true 1301 | 4:9/2 = 2 1302 | 4:9/2/flip_v = true 1303 | 4:9/3 = 3 1304 | 4:9/3/flip_h = true 1305 | 4:9/3/flip_v = true 1306 | 4:9/4 = 4 1307 | 4:9/4/transpose = true 1308 | 4:9/5 = 5 1309 | 4:9/5/flip_h = true 1310 | 4:9/5/transpose = true 1311 | 4:9/6 = 6 1312 | 4:9/6/flip_v = true 1313 | 4:9/6/transpose = true 1314 | 4:9/7 = 7 1315 | 4:9/7/flip_h = true 1316 | 4:9/7/flip_v = true 1317 | 4:9/7/transpose = true 1318 | 4:10/next_alternative_id = 8 1319 | 4:10/0 = 0 1320 | 4:10/1 = 1 1321 | 4:10/1/flip_h = true 1322 | 4:10/2 = 2 1323 | 4:10/2/flip_v = true 1324 | 4:10/3 = 3 1325 | 4:10/3/flip_h = true 1326 | 4:10/3/flip_v = true 1327 | 4:10/4 = 4 1328 | 4:10/4/transpose = true 1329 | 4:10/5 = 5 1330 | 4:10/5/flip_h = true 1331 | 4:10/5/transpose = true 1332 | 4:10/6 = 6 1333 | 4:10/6/flip_v = true 1334 | 4:10/6/transpose = true 1335 | 4:10/7 = 7 1336 | 4:10/7/flip_h = true 1337 | 4:10/7/flip_v = true 1338 | 4:10/7/transpose = true 1339 | 4:11/next_alternative_id = 8 1340 | 4:11/0 = 0 1341 | 4:11/1 = 1 1342 | 4:11/1/flip_h = true 1343 | 4:11/2 = 2 1344 | 4:11/2/flip_v = true 1345 | 4:11/3 = 3 1346 | 4:11/3/flip_h = true 1347 | 4:11/3/flip_v = true 1348 | 4:11/4 = 4 1349 | 4:11/4/transpose = true 1350 | 4:11/5 = 5 1351 | 4:11/5/flip_h = true 1352 | 4:11/5/transpose = true 1353 | 4:11/6 = 6 1354 | 4:11/6/flip_v = true 1355 | 4:11/6/transpose = true 1356 | 4:11/7 = 7 1357 | 4:11/7/flip_h = true 1358 | 4:11/7/flip_v = true 1359 | 4:11/7/transpose = true 1360 | 4:12/next_alternative_id = 8 1361 | 4:12/0 = 0 1362 | 4:12/1 = 1 1363 | 4:12/1/flip_h = true 1364 | 4:12/2 = 2 1365 | 4:12/2/flip_v = true 1366 | 4:12/3 = 3 1367 | 4:12/3/flip_h = true 1368 | 4:12/3/flip_v = true 1369 | 4:12/4 = 4 1370 | 4:12/4/transpose = true 1371 | 4:12/5 = 5 1372 | 4:12/5/flip_h = true 1373 | 4:12/5/transpose = true 1374 | 4:12/6 = 6 1375 | 4:12/6/flip_v = true 1376 | 4:12/6/transpose = true 1377 | 4:12/7 = 7 1378 | 4:12/7/flip_h = true 1379 | 4:12/7/flip_v = true 1380 | 4:12/7/transpose = true 1381 | 5:0/next_alternative_id = 8 1382 | 5:0/0 = 0 1383 | 5:0/1 = 1 1384 | 5:0/1/flip_h = true 1385 | 5:0/2 = 2 1386 | 5:0/2/flip_v = true 1387 | 5:0/3 = 3 1388 | 5:0/3/flip_h = true 1389 | 5:0/3/flip_v = true 1390 | 5:0/4 = 4 1391 | 5:0/4/transpose = true 1392 | 5:0/5 = 5 1393 | 5:0/5/flip_h = true 1394 | 5:0/5/transpose = true 1395 | 5:0/6 = 6 1396 | 5:0/6/flip_v = true 1397 | 5:0/6/transpose = true 1398 | 5:0/7 = 7 1399 | 5:0/7/flip_h = true 1400 | 5:0/7/flip_v = true 1401 | 5:0/7/transpose = true 1402 | 5:1/next_alternative_id = 8 1403 | 5:1/0 = 0 1404 | 5:1/1 = 1 1405 | 5:1/1/flip_h = true 1406 | 5:1/2 = 2 1407 | 5:1/2/flip_v = true 1408 | 5:1/3 = 3 1409 | 5:1/3/flip_h = true 1410 | 5:1/3/flip_v = true 1411 | 5:1/4 = 4 1412 | 5:1/4/transpose = true 1413 | 5:1/5 = 5 1414 | 5:1/5/flip_h = true 1415 | 5:1/5/transpose = true 1416 | 5:1/6 = 6 1417 | 5:1/6/flip_v = true 1418 | 5:1/6/transpose = true 1419 | 5:1/7 = 7 1420 | 5:1/7/flip_h = true 1421 | 5:1/7/flip_v = true 1422 | 5:1/7/transpose = true 1423 | 5:2/next_alternative_id = 8 1424 | 5:2/0 = 0 1425 | 5:2/1 = 1 1426 | 5:2/1/flip_h = true 1427 | 5:2/2 = 2 1428 | 5:2/2/flip_v = true 1429 | 5:2/3 = 3 1430 | 5:2/3/flip_h = true 1431 | 5:2/3/flip_v = true 1432 | 5:2/4 = 4 1433 | 5:2/4/transpose = true 1434 | 5:2/5 = 5 1435 | 5:2/5/flip_h = true 1436 | 5:2/5/transpose = true 1437 | 5:2/6 = 6 1438 | 5:2/6/flip_v = true 1439 | 5:2/6/transpose = true 1440 | 5:2/7 = 7 1441 | 5:2/7/flip_h = true 1442 | 5:2/7/flip_v = true 1443 | 5:2/7/transpose = true 1444 | 5:3/next_alternative_id = 8 1445 | 5:3/0 = 0 1446 | 5:3/1 = 1 1447 | 5:3/1/flip_h = true 1448 | 5:3/2 = 2 1449 | 5:3/2/flip_v = true 1450 | 5:3/3 = 3 1451 | 5:3/3/flip_h = true 1452 | 5:3/3/flip_v = true 1453 | 5:3/4 = 4 1454 | 5:3/4/transpose = true 1455 | 5:3/5 = 5 1456 | 5:3/5/flip_h = true 1457 | 5:3/5/transpose = true 1458 | 5:3/6 = 6 1459 | 5:3/6/flip_v = true 1460 | 5:3/6/transpose = true 1461 | 5:3/7 = 7 1462 | 5:3/7/flip_h = true 1463 | 5:3/7/flip_v = true 1464 | 5:3/7/transpose = true 1465 | 5:4/next_alternative_id = 8 1466 | 5:4/0 = 0 1467 | 5:4/1 = 1 1468 | 5:4/1/flip_h = true 1469 | 5:4/2 = 2 1470 | 5:4/2/flip_v = true 1471 | 5:4/3 = 3 1472 | 5:4/3/flip_h = true 1473 | 5:4/3/flip_v = true 1474 | 5:4/4 = 4 1475 | 5:4/4/transpose = true 1476 | 5:4/5 = 5 1477 | 5:4/5/flip_h = true 1478 | 5:4/5/transpose = true 1479 | 5:4/6 = 6 1480 | 5:4/6/flip_v = true 1481 | 5:4/6/transpose = true 1482 | 5:4/7 = 7 1483 | 5:4/7/flip_h = true 1484 | 5:4/7/flip_v = true 1485 | 5:4/7/transpose = true 1486 | 5:5/next_alternative_id = 8 1487 | 5:5/0 = 0 1488 | 5:5/1 = 1 1489 | 5:5/1/flip_h = true 1490 | 5:5/2 = 2 1491 | 5:5/2/flip_v = true 1492 | 5:5/3 = 3 1493 | 5:5/3/flip_h = true 1494 | 5:5/3/flip_v = true 1495 | 5:5/4 = 4 1496 | 5:5/4/transpose = true 1497 | 5:5/5 = 5 1498 | 5:5/5/flip_h = true 1499 | 5:5/5/transpose = true 1500 | 5:5/6 = 6 1501 | 5:5/6/flip_v = true 1502 | 5:5/6/transpose = true 1503 | 5:5/7 = 7 1504 | 5:5/7/flip_h = true 1505 | 5:5/7/flip_v = true 1506 | 5:5/7/transpose = true 1507 | 5:6/next_alternative_id = 8 1508 | 5:6/0 = 0 1509 | 5:6/1 = 1 1510 | 5:6/1/flip_h = true 1511 | 5:6/2 = 2 1512 | 5:6/2/flip_v = true 1513 | 5:6/3 = 3 1514 | 5:6/3/flip_h = true 1515 | 5:6/3/flip_v = true 1516 | 5:6/4 = 4 1517 | 5:6/4/transpose = true 1518 | 5:6/5 = 5 1519 | 5:6/5/flip_h = true 1520 | 5:6/5/transpose = true 1521 | 5:6/6 = 6 1522 | 5:6/6/flip_v = true 1523 | 5:6/6/transpose = true 1524 | 5:6/7 = 7 1525 | 5:6/7/flip_h = true 1526 | 5:6/7/flip_v = true 1527 | 5:6/7/transpose = true 1528 | 5:7/next_alternative_id = 8 1529 | 5:7/0 = 0 1530 | 5:7/1 = 1 1531 | 5:7/1/flip_h = true 1532 | 5:7/2 = 2 1533 | 5:7/2/flip_v = true 1534 | 5:7/3 = 3 1535 | 5:7/3/flip_h = true 1536 | 5:7/3/flip_v = true 1537 | 5:7/4 = 4 1538 | 5:7/4/transpose = true 1539 | 5:7/5 = 5 1540 | 5:7/5/flip_h = true 1541 | 5:7/5/transpose = true 1542 | 5:7/6 = 6 1543 | 5:7/6/flip_v = true 1544 | 5:7/6/transpose = true 1545 | 5:7/7 = 7 1546 | 5:7/7/flip_h = true 1547 | 5:7/7/flip_v = true 1548 | 5:7/7/transpose = true 1549 | 5:8/next_alternative_id = 8 1550 | 5:8/0 = 0 1551 | 5:8/1 = 1 1552 | 5:8/1/flip_h = true 1553 | 5:8/2 = 2 1554 | 5:8/2/flip_v = true 1555 | 5:8/3 = 3 1556 | 5:8/3/flip_h = true 1557 | 5:8/3/flip_v = true 1558 | 5:8/4 = 4 1559 | 5:8/4/transpose = true 1560 | 5:8/5 = 5 1561 | 5:8/5/flip_h = true 1562 | 5:8/5/transpose = true 1563 | 5:8/6 = 6 1564 | 5:8/6/flip_v = true 1565 | 5:8/6/transpose = true 1566 | 5:8/7 = 7 1567 | 5:8/7/flip_h = true 1568 | 5:8/7/flip_v = true 1569 | 5:8/7/transpose = true 1570 | 5:9/next_alternative_id = 8 1571 | 5:9/0 = 0 1572 | 5:9/1 = 1 1573 | 5:9/1/flip_h = true 1574 | 5:9/2 = 2 1575 | 5:9/2/flip_v = true 1576 | 5:9/3 = 3 1577 | 5:9/3/flip_h = true 1578 | 5:9/3/flip_v = true 1579 | 5:9/4 = 4 1580 | 5:9/4/transpose = true 1581 | 5:9/5 = 5 1582 | 5:9/5/flip_h = true 1583 | 5:9/5/transpose = true 1584 | 5:9/6 = 6 1585 | 5:9/6/flip_v = true 1586 | 5:9/6/transpose = true 1587 | 5:9/7 = 7 1588 | 5:9/7/flip_h = true 1589 | 5:9/7/flip_v = true 1590 | 5:9/7/transpose = true 1591 | 5:10/next_alternative_id = 8 1592 | 5:10/0 = 0 1593 | 5:10/1 = 1 1594 | 5:10/1/flip_h = true 1595 | 5:10/2 = 2 1596 | 5:10/2/flip_v = true 1597 | 5:10/3 = 3 1598 | 5:10/3/flip_h = true 1599 | 5:10/3/flip_v = true 1600 | 5:10/4 = 4 1601 | 5:10/4/transpose = true 1602 | 5:10/5 = 5 1603 | 5:10/5/flip_h = true 1604 | 5:10/5/transpose = true 1605 | 5:10/6 = 6 1606 | 5:10/6/flip_v = true 1607 | 5:10/6/transpose = true 1608 | 5:10/7 = 7 1609 | 5:10/7/flip_h = true 1610 | 5:10/7/flip_v = true 1611 | 5:10/7/transpose = true 1612 | 5:11/next_alternative_id = 8 1613 | 5:11/0 = 0 1614 | 5:11/1 = 1 1615 | 5:11/1/flip_h = true 1616 | 5:11/2 = 2 1617 | 5:11/2/flip_v = true 1618 | 5:11/3 = 3 1619 | 5:11/3/flip_h = true 1620 | 5:11/3/flip_v = true 1621 | 5:11/4 = 4 1622 | 5:11/4/transpose = true 1623 | 5:11/5 = 5 1624 | 5:11/5/flip_h = true 1625 | 5:11/5/transpose = true 1626 | 5:11/6 = 6 1627 | 5:11/6/flip_v = true 1628 | 5:11/6/transpose = true 1629 | 5:11/7 = 7 1630 | 5:11/7/flip_h = true 1631 | 5:11/7/flip_v = true 1632 | 5:11/7/transpose = true 1633 | 5:12/next_alternative_id = 8 1634 | 5:12/0 = 0 1635 | 5:12/1 = 1 1636 | 5:12/1/flip_h = true 1637 | 5:12/2 = 2 1638 | 5:12/2/flip_v = true 1639 | 5:12/3 = 3 1640 | 5:12/3/flip_h = true 1641 | 5:12/3/flip_v = true 1642 | 5:12/4 = 4 1643 | 5:12/4/transpose = true 1644 | 5:12/5 = 5 1645 | 5:12/5/flip_h = true 1646 | 5:12/5/transpose = true 1647 | 5:12/6 = 6 1648 | 5:12/6/flip_v = true 1649 | 5:12/6/transpose = true 1650 | 5:12/7 = 7 1651 | 5:12/7/flip_h = true 1652 | 5:12/7/flip_v = true 1653 | 5:12/7/transpose = true 1654 | 6:0/next_alternative_id = 8 1655 | 6:0/0 = 0 1656 | 6:0/1 = 1 1657 | 6:0/1/flip_h = true 1658 | 6:0/2 = 2 1659 | 6:0/2/flip_v = true 1660 | 6:0/3 = 3 1661 | 6:0/3/flip_h = true 1662 | 6:0/3/flip_v = true 1663 | 6:0/4 = 4 1664 | 6:0/4/transpose = true 1665 | 6:0/5 = 5 1666 | 6:0/5/flip_h = true 1667 | 6:0/5/transpose = true 1668 | 6:0/6 = 6 1669 | 6:0/6/flip_v = true 1670 | 6:0/6/transpose = true 1671 | 6:0/7 = 7 1672 | 6:0/7/flip_h = true 1673 | 6:0/7/flip_v = true 1674 | 6:0/7/transpose = true 1675 | 6:1/next_alternative_id = 8 1676 | 6:1/0 = 0 1677 | 6:1/1 = 1 1678 | 6:1/1/flip_h = true 1679 | 6:1/2 = 2 1680 | 6:1/2/flip_v = true 1681 | 6:1/3 = 3 1682 | 6:1/3/flip_h = true 1683 | 6:1/3/flip_v = true 1684 | 6:1/4 = 4 1685 | 6:1/4/transpose = true 1686 | 6:1/5 = 5 1687 | 6:1/5/flip_h = true 1688 | 6:1/5/transpose = true 1689 | 6:1/6 = 6 1690 | 6:1/6/flip_v = true 1691 | 6:1/6/transpose = true 1692 | 6:1/7 = 7 1693 | 6:1/7/flip_h = true 1694 | 6:1/7/flip_v = true 1695 | 6:1/7/transpose = true 1696 | 6:2/next_alternative_id = 8 1697 | 6:2/0 = 0 1698 | 6:2/1 = 1 1699 | 6:2/1/flip_h = true 1700 | 6:2/2 = 2 1701 | 6:2/2/flip_v = true 1702 | 6:2/3 = 3 1703 | 6:2/3/flip_h = true 1704 | 6:2/3/flip_v = true 1705 | 6:2/4 = 4 1706 | 6:2/4/transpose = true 1707 | 6:2/5 = 5 1708 | 6:2/5/flip_h = true 1709 | 6:2/5/transpose = true 1710 | 6:2/6 = 6 1711 | 6:2/6/flip_v = true 1712 | 6:2/6/transpose = true 1713 | 6:2/7 = 7 1714 | 6:2/7/flip_h = true 1715 | 6:2/7/flip_v = true 1716 | 6:2/7/transpose = true 1717 | 6:3/next_alternative_id = 8 1718 | 6:3/0 = 0 1719 | 6:3/1 = 1 1720 | 6:3/1/flip_h = true 1721 | 6:3/2 = 2 1722 | 6:3/2/flip_v = true 1723 | 6:3/3 = 3 1724 | 6:3/3/flip_h = true 1725 | 6:3/3/flip_v = true 1726 | 6:3/4 = 4 1727 | 6:3/4/transpose = true 1728 | 6:3/5 = 5 1729 | 6:3/5/flip_h = true 1730 | 6:3/5/transpose = true 1731 | 6:3/6 = 6 1732 | 6:3/6/flip_v = true 1733 | 6:3/6/transpose = true 1734 | 6:3/7 = 7 1735 | 6:3/7/flip_h = true 1736 | 6:3/7/flip_v = true 1737 | 6:3/7/transpose = true 1738 | 6:4/next_alternative_id = 8 1739 | 6:4/0 = 0 1740 | 6:4/1 = 1 1741 | 6:4/1/flip_h = true 1742 | 6:4/2 = 2 1743 | 6:4/2/flip_v = true 1744 | 6:4/3 = 3 1745 | 6:4/3/flip_h = true 1746 | 6:4/3/flip_v = true 1747 | 6:4/4 = 4 1748 | 6:4/4/transpose = true 1749 | 6:4/5 = 5 1750 | 6:4/5/flip_h = true 1751 | 6:4/5/transpose = true 1752 | 6:4/6 = 6 1753 | 6:4/6/flip_v = true 1754 | 6:4/6/transpose = true 1755 | 6:4/7 = 7 1756 | 6:4/7/flip_h = true 1757 | 6:4/7/flip_v = true 1758 | 6:4/7/transpose = true 1759 | 6:5/next_alternative_id = 8 1760 | 6:5/0 = 0 1761 | 6:5/1 = 1 1762 | 6:5/1/flip_h = true 1763 | 6:5/2 = 2 1764 | 6:5/2/flip_v = true 1765 | 6:5/3 = 3 1766 | 6:5/3/flip_h = true 1767 | 6:5/3/flip_v = true 1768 | 6:5/4 = 4 1769 | 6:5/4/transpose = true 1770 | 6:5/5 = 5 1771 | 6:5/5/flip_h = true 1772 | 6:5/5/transpose = true 1773 | 6:5/6 = 6 1774 | 6:5/6/flip_v = true 1775 | 6:5/6/transpose = true 1776 | 6:5/7 = 7 1777 | 6:5/7/flip_h = true 1778 | 6:5/7/flip_v = true 1779 | 6:5/7/transpose = true 1780 | 6:6/next_alternative_id = 8 1781 | 6:6/0 = 0 1782 | 6:6/1 = 1 1783 | 6:6/1/flip_h = true 1784 | 6:6/2 = 2 1785 | 6:6/2/flip_v = true 1786 | 6:6/3 = 3 1787 | 6:6/3/flip_h = true 1788 | 6:6/3/flip_v = true 1789 | 6:6/4 = 4 1790 | 6:6/4/transpose = true 1791 | 6:6/5 = 5 1792 | 6:6/5/flip_h = true 1793 | 6:6/5/transpose = true 1794 | 6:6/6 = 6 1795 | 6:6/6/flip_v = true 1796 | 6:6/6/transpose = true 1797 | 6:6/7 = 7 1798 | 6:6/7/flip_h = true 1799 | 6:6/7/flip_v = true 1800 | 6:6/7/transpose = true 1801 | 6:7/next_alternative_id = 8 1802 | 6:7/0 = 0 1803 | 6:7/1 = 1 1804 | 6:7/1/flip_h = true 1805 | 6:7/2 = 2 1806 | 6:7/2/flip_v = true 1807 | 6:7/3 = 3 1808 | 6:7/3/flip_h = true 1809 | 6:7/3/flip_v = true 1810 | 6:7/4 = 4 1811 | 6:7/4/transpose = true 1812 | 6:7/5 = 5 1813 | 6:7/5/flip_h = true 1814 | 6:7/5/transpose = true 1815 | 6:7/6 = 6 1816 | 6:7/6/flip_v = true 1817 | 6:7/6/transpose = true 1818 | 6:7/7 = 7 1819 | 6:7/7/flip_h = true 1820 | 6:7/7/flip_v = true 1821 | 6:7/7/transpose = true 1822 | 6:8/next_alternative_id = 8 1823 | 6:8/0 = 0 1824 | 6:8/1 = 1 1825 | 6:8/1/flip_h = true 1826 | 6:8/2 = 2 1827 | 6:8/2/flip_v = true 1828 | 6:8/3 = 3 1829 | 6:8/3/flip_h = true 1830 | 6:8/3/flip_v = true 1831 | 6:8/4 = 4 1832 | 6:8/4/transpose = true 1833 | 6:8/5 = 5 1834 | 6:8/5/flip_h = true 1835 | 6:8/5/transpose = true 1836 | 6:8/6 = 6 1837 | 6:8/6/flip_v = true 1838 | 6:8/6/transpose = true 1839 | 6:8/7 = 7 1840 | 6:8/7/flip_h = true 1841 | 6:8/7/flip_v = true 1842 | 6:8/7/transpose = true 1843 | 6:9/next_alternative_id = 8 1844 | 6:9/0 = 0 1845 | 6:9/1 = 1 1846 | 6:9/1/flip_h = true 1847 | 6:9/2 = 2 1848 | 6:9/2/flip_v = true 1849 | 6:9/3 = 3 1850 | 6:9/3/flip_h = true 1851 | 6:9/3/flip_v = true 1852 | 6:9/4 = 4 1853 | 6:9/4/transpose = true 1854 | 6:9/5 = 5 1855 | 6:9/5/flip_h = true 1856 | 6:9/5/transpose = true 1857 | 6:9/6 = 6 1858 | 6:9/6/flip_v = true 1859 | 6:9/6/transpose = true 1860 | 6:9/7 = 7 1861 | 6:9/7/flip_h = true 1862 | 6:9/7/flip_v = true 1863 | 6:9/7/transpose = true 1864 | 6:10/next_alternative_id = 8 1865 | 6:10/0 = 0 1866 | 6:10/1 = 1 1867 | 6:10/1/flip_h = true 1868 | 6:10/2 = 2 1869 | 6:10/2/flip_v = true 1870 | 6:10/3 = 3 1871 | 6:10/3/flip_h = true 1872 | 6:10/3/flip_v = true 1873 | 6:10/4 = 4 1874 | 6:10/4/transpose = true 1875 | 6:10/5 = 5 1876 | 6:10/5/flip_h = true 1877 | 6:10/5/transpose = true 1878 | 6:10/6 = 6 1879 | 6:10/6/flip_v = true 1880 | 6:10/6/transpose = true 1881 | 6:10/7 = 7 1882 | 6:10/7/flip_h = true 1883 | 6:10/7/flip_v = true 1884 | 6:10/7/transpose = true 1885 | 6:11/next_alternative_id = 8 1886 | 6:11/0 = 0 1887 | 6:11/1 = 1 1888 | 6:11/1/flip_h = true 1889 | 6:11/2 = 2 1890 | 6:11/2/flip_v = true 1891 | 6:11/3 = 3 1892 | 6:11/3/flip_h = true 1893 | 6:11/3/flip_v = true 1894 | 6:11/4 = 4 1895 | 6:11/4/transpose = true 1896 | 6:11/5 = 5 1897 | 6:11/5/flip_h = true 1898 | 6:11/5/transpose = true 1899 | 6:11/6 = 6 1900 | 6:11/6/flip_v = true 1901 | 6:11/6/transpose = true 1902 | 6:11/7 = 7 1903 | 6:11/7/flip_h = true 1904 | 6:11/7/flip_v = true 1905 | 6:11/7/transpose = true 1906 | 6:12/next_alternative_id = 8 1907 | 6:12/0 = 0 1908 | 6:12/1 = 1 1909 | 6:12/1/flip_h = true 1910 | 6:12/2 = 2 1911 | 6:12/2/flip_v = true 1912 | 6:12/3 = 3 1913 | 6:12/3/flip_h = true 1914 | 6:12/3/flip_v = true 1915 | 6:12/4 = 4 1916 | 6:12/4/transpose = true 1917 | 6:12/5 = 5 1918 | 6:12/5/flip_h = true 1919 | 6:12/5/transpose = true 1920 | 6:12/6 = 6 1921 | 6:12/6/flip_v = true 1922 | 6:12/6/transpose = true 1923 | 6:12/7 = 7 1924 | 6:12/7/flip_h = true 1925 | 6:12/7/flip_v = true 1926 | 6:12/7/transpose = true 1927 | 7:0/next_alternative_id = 8 1928 | 7:0/0 = 0 1929 | 7:0/1 = 1 1930 | 7:0/1/flip_h = true 1931 | 7:0/2 = 2 1932 | 7:0/2/flip_v = true 1933 | 7:0/3 = 3 1934 | 7:0/3/flip_h = true 1935 | 7:0/3/flip_v = true 1936 | 7:0/4 = 4 1937 | 7:0/4/transpose = true 1938 | 7:0/5 = 5 1939 | 7:0/5/flip_h = true 1940 | 7:0/5/transpose = true 1941 | 7:0/6 = 6 1942 | 7:0/6/flip_v = true 1943 | 7:0/6/transpose = true 1944 | 7:0/7 = 7 1945 | 7:0/7/flip_h = true 1946 | 7:0/7/flip_v = true 1947 | 7:0/7/transpose = true 1948 | 7:1/next_alternative_id = 8 1949 | 7:1/0 = 0 1950 | 7:1/1 = 1 1951 | 7:1/1/flip_h = true 1952 | 7:1/2 = 2 1953 | 7:1/2/flip_v = true 1954 | 7:1/3 = 3 1955 | 7:1/3/flip_h = true 1956 | 7:1/3/flip_v = true 1957 | 7:1/4 = 4 1958 | 7:1/4/transpose = true 1959 | 7:1/5 = 5 1960 | 7:1/5/flip_h = true 1961 | 7:1/5/transpose = true 1962 | 7:1/6 = 6 1963 | 7:1/6/flip_v = true 1964 | 7:1/6/transpose = true 1965 | 7:1/7 = 7 1966 | 7:1/7/flip_h = true 1967 | 7:1/7/flip_v = true 1968 | 7:1/7/transpose = true 1969 | 7:2/next_alternative_id = 8 1970 | 7:2/0 = 0 1971 | 7:2/1 = 1 1972 | 7:2/1/flip_h = true 1973 | 7:2/2 = 2 1974 | 7:2/2/flip_v = true 1975 | 7:2/3 = 3 1976 | 7:2/3/flip_h = true 1977 | 7:2/3/flip_v = true 1978 | 7:2/4 = 4 1979 | 7:2/4/transpose = true 1980 | 7:2/5 = 5 1981 | 7:2/5/flip_h = true 1982 | 7:2/5/transpose = true 1983 | 7:2/6 = 6 1984 | 7:2/6/flip_v = true 1985 | 7:2/6/transpose = true 1986 | 7:2/7 = 7 1987 | 7:2/7/flip_h = true 1988 | 7:2/7/flip_v = true 1989 | 7:2/7/transpose = true 1990 | 7:3/next_alternative_id = 8 1991 | 7:3/0 = 0 1992 | 7:3/1 = 1 1993 | 7:3/1/flip_h = true 1994 | 7:3/2 = 2 1995 | 7:3/2/flip_v = true 1996 | 7:3/3 = 3 1997 | 7:3/3/flip_h = true 1998 | 7:3/3/flip_v = true 1999 | 7:3/4 = 4 2000 | 7:3/4/transpose = true 2001 | 7:3/5 = 5 2002 | 7:3/5/flip_h = true 2003 | 7:3/5/transpose = true 2004 | 7:3/6 = 6 2005 | 7:3/6/flip_v = true 2006 | 7:3/6/transpose = true 2007 | 7:3/7 = 7 2008 | 7:3/7/flip_h = true 2009 | 7:3/7/flip_v = true 2010 | 7:3/7/transpose = true 2011 | 7:4/next_alternative_id = 8 2012 | 7:4/0 = 0 2013 | 7:4/1 = 1 2014 | 7:4/1/flip_h = true 2015 | 7:4/2 = 2 2016 | 7:4/2/flip_v = true 2017 | 7:4/3 = 3 2018 | 7:4/3/flip_h = true 2019 | 7:4/3/flip_v = true 2020 | 7:4/4 = 4 2021 | 7:4/4/transpose = true 2022 | 7:4/5 = 5 2023 | 7:4/5/flip_h = true 2024 | 7:4/5/transpose = true 2025 | 7:4/6 = 6 2026 | 7:4/6/flip_v = true 2027 | 7:4/6/transpose = true 2028 | 7:4/7 = 7 2029 | 7:4/7/flip_h = true 2030 | 7:4/7/flip_v = true 2031 | 7:4/7/transpose = true 2032 | 7:5/next_alternative_id = 8 2033 | 7:5/0 = 0 2034 | 7:5/1 = 1 2035 | 7:5/1/flip_h = true 2036 | 7:5/2 = 2 2037 | 7:5/2/flip_v = true 2038 | 7:5/3 = 3 2039 | 7:5/3/flip_h = true 2040 | 7:5/3/flip_v = true 2041 | 7:5/4 = 4 2042 | 7:5/4/transpose = true 2043 | 7:5/5 = 5 2044 | 7:5/5/flip_h = true 2045 | 7:5/5/transpose = true 2046 | 7:5/6 = 6 2047 | 7:5/6/flip_v = true 2048 | 7:5/6/transpose = true 2049 | 7:5/7 = 7 2050 | 7:5/7/flip_h = true 2051 | 7:5/7/flip_v = true 2052 | 7:5/7/transpose = true 2053 | 7:6/next_alternative_id = 8 2054 | 7:6/0 = 0 2055 | 7:6/1 = 1 2056 | 7:6/1/flip_h = true 2057 | 7:6/2 = 2 2058 | 7:6/2/flip_v = true 2059 | 7:6/3 = 3 2060 | 7:6/3/flip_h = true 2061 | 7:6/3/flip_v = true 2062 | 7:6/4 = 4 2063 | 7:6/4/transpose = true 2064 | 7:6/5 = 5 2065 | 7:6/5/flip_h = true 2066 | 7:6/5/transpose = true 2067 | 7:6/6 = 6 2068 | 7:6/6/flip_v = true 2069 | 7:6/6/transpose = true 2070 | 7:6/7 = 7 2071 | 7:6/7/flip_h = true 2072 | 7:6/7/flip_v = true 2073 | 7:6/7/transpose = true 2074 | 7:7/next_alternative_id = 8 2075 | 7:7/0 = 0 2076 | 7:7/1 = 1 2077 | 7:7/1/flip_h = true 2078 | 7:7/2 = 2 2079 | 7:7/2/flip_v = true 2080 | 7:7/3 = 3 2081 | 7:7/3/flip_h = true 2082 | 7:7/3/flip_v = true 2083 | 7:7/4 = 4 2084 | 7:7/4/transpose = true 2085 | 7:7/5 = 5 2086 | 7:7/5/flip_h = true 2087 | 7:7/5/transpose = true 2088 | 7:7/6 = 6 2089 | 7:7/6/flip_v = true 2090 | 7:7/6/transpose = true 2091 | 7:7/7 = 7 2092 | 7:7/7/flip_h = true 2093 | 7:7/7/flip_v = true 2094 | 7:7/7/transpose = true 2095 | 7:8/next_alternative_id = 8 2096 | 7:8/0 = 0 2097 | 7:8/1 = 1 2098 | 7:8/1/flip_h = true 2099 | 7:8/2 = 2 2100 | 7:8/2/flip_v = true 2101 | 7:8/3 = 3 2102 | 7:8/3/flip_h = true 2103 | 7:8/3/flip_v = true 2104 | 7:8/4 = 4 2105 | 7:8/4/transpose = true 2106 | 7:8/5 = 5 2107 | 7:8/5/flip_h = true 2108 | 7:8/5/transpose = true 2109 | 7:8/6 = 6 2110 | 7:8/6/flip_v = true 2111 | 7:8/6/transpose = true 2112 | 7:8/7 = 7 2113 | 7:8/7/flip_h = true 2114 | 7:8/7/flip_v = true 2115 | 7:8/7/transpose = true 2116 | 7:9/next_alternative_id = 8 2117 | 7:9/0 = 0 2118 | 7:9/1 = 1 2119 | 7:9/1/flip_h = true 2120 | 7:9/2 = 2 2121 | 7:9/2/flip_v = true 2122 | 7:9/3 = 3 2123 | 7:9/3/flip_h = true 2124 | 7:9/3/flip_v = true 2125 | 7:9/4 = 4 2126 | 7:9/4/transpose = true 2127 | 7:9/5 = 5 2128 | 7:9/5/flip_h = true 2129 | 7:9/5/transpose = true 2130 | 7:9/6 = 6 2131 | 7:9/6/flip_v = true 2132 | 7:9/6/transpose = true 2133 | 7:9/7 = 7 2134 | 7:9/7/flip_h = true 2135 | 7:9/7/flip_v = true 2136 | 7:9/7/transpose = true 2137 | 7:10/next_alternative_id = 8 2138 | 7:10/0 = 0 2139 | 7:10/1 = 1 2140 | 7:10/1/flip_h = true 2141 | 7:10/2 = 2 2142 | 7:10/2/flip_v = true 2143 | 7:10/3 = 3 2144 | 7:10/3/flip_h = true 2145 | 7:10/3/flip_v = true 2146 | 7:10/4 = 4 2147 | 7:10/4/transpose = true 2148 | 7:10/5 = 5 2149 | 7:10/5/flip_h = true 2150 | 7:10/5/transpose = true 2151 | 7:10/6 = 6 2152 | 7:10/6/flip_v = true 2153 | 7:10/6/transpose = true 2154 | 7:10/7 = 7 2155 | 7:10/7/flip_h = true 2156 | 7:10/7/flip_v = true 2157 | 7:10/7/transpose = true 2158 | 7:11/next_alternative_id = 8 2159 | 7:11/0 = 0 2160 | 7:11/1 = 1 2161 | 7:11/1/flip_h = true 2162 | 7:11/2 = 2 2163 | 7:11/2/flip_v = true 2164 | 7:11/3 = 3 2165 | 7:11/3/flip_h = true 2166 | 7:11/3/flip_v = true 2167 | 7:11/4 = 4 2168 | 7:11/4/transpose = true 2169 | 7:11/5 = 5 2170 | 7:11/5/flip_h = true 2171 | 7:11/5/transpose = true 2172 | 7:11/6 = 6 2173 | 7:11/6/flip_v = true 2174 | 7:11/6/transpose = true 2175 | 7:11/7 = 7 2176 | 7:11/7/flip_h = true 2177 | 7:11/7/flip_v = true 2178 | 7:11/7/transpose = true 2179 | 7:12/next_alternative_id = 8 2180 | 7:12/0 = 0 2181 | 7:12/1 = 1 2182 | 7:12/1/flip_h = true 2183 | 7:12/2 = 2 2184 | 7:12/2/flip_v = true 2185 | 7:12/3 = 3 2186 | 7:12/3/flip_h = true 2187 | 7:12/3/flip_v = true 2188 | 7:12/4 = 4 2189 | 7:12/4/transpose = true 2190 | 7:12/5 = 5 2191 | 7:12/5/flip_h = true 2192 | 7:12/5/transpose = true 2193 | 7:12/6 = 6 2194 | 7:12/6/flip_v = true 2195 | 7:12/6/transpose = true 2196 | 7:12/7 = 7 2197 | 7:12/7/flip_h = true 2198 | 7:12/7/flip_v = true 2199 | 7:12/7/transpose = true 2200 | 8:0/next_alternative_id = 8 2201 | 8:0/0 = 0 2202 | 8:0/1 = 1 2203 | 8:0/1/flip_h = true 2204 | 8:0/2 = 2 2205 | 8:0/2/flip_v = true 2206 | 8:0/3 = 3 2207 | 8:0/3/flip_h = true 2208 | 8:0/3/flip_v = true 2209 | 8:0/4 = 4 2210 | 8:0/4/transpose = true 2211 | 8:0/5 = 5 2212 | 8:0/5/flip_h = true 2213 | 8:0/5/transpose = true 2214 | 8:0/6 = 6 2215 | 8:0/6/flip_v = true 2216 | 8:0/6/transpose = true 2217 | 8:0/7 = 7 2218 | 8:0/7/flip_h = true 2219 | 8:0/7/flip_v = true 2220 | 8:0/7/transpose = true 2221 | 8:1/next_alternative_id = 8 2222 | 8:1/0 = 0 2223 | 8:1/1 = 1 2224 | 8:1/1/flip_h = true 2225 | 8:1/2 = 2 2226 | 8:1/2/flip_v = true 2227 | 8:1/3 = 3 2228 | 8:1/3/flip_h = true 2229 | 8:1/3/flip_v = true 2230 | 8:1/4 = 4 2231 | 8:1/4/transpose = true 2232 | 8:1/5 = 5 2233 | 8:1/5/flip_h = true 2234 | 8:1/5/transpose = true 2235 | 8:1/6 = 6 2236 | 8:1/6/flip_v = true 2237 | 8:1/6/transpose = true 2238 | 8:1/7 = 7 2239 | 8:1/7/flip_h = true 2240 | 8:1/7/flip_v = true 2241 | 8:1/7/transpose = true 2242 | 8:2/next_alternative_id = 8 2243 | 8:2/0 = 0 2244 | 8:2/1 = 1 2245 | 8:2/1/flip_h = true 2246 | 8:2/2 = 2 2247 | 8:2/2/flip_v = true 2248 | 8:2/3 = 3 2249 | 8:2/3/flip_h = true 2250 | 8:2/3/flip_v = true 2251 | 8:2/4 = 4 2252 | 8:2/4/transpose = true 2253 | 8:2/5 = 5 2254 | 8:2/5/flip_h = true 2255 | 8:2/5/transpose = true 2256 | 8:2/6 = 6 2257 | 8:2/6/flip_v = true 2258 | 8:2/6/transpose = true 2259 | 8:2/7 = 7 2260 | 8:2/7/flip_h = true 2261 | 8:2/7/flip_v = true 2262 | 8:2/7/transpose = true 2263 | 8:3/next_alternative_id = 8 2264 | 8:3/0 = 0 2265 | 8:3/1 = 1 2266 | 8:3/1/flip_h = true 2267 | 8:3/2 = 2 2268 | 8:3/2/flip_v = true 2269 | 8:3/3 = 3 2270 | 8:3/3/flip_h = true 2271 | 8:3/3/flip_v = true 2272 | 8:3/4 = 4 2273 | 8:3/4/transpose = true 2274 | 8:3/5 = 5 2275 | 8:3/5/flip_h = true 2276 | 8:3/5/transpose = true 2277 | 8:3/6 = 6 2278 | 8:3/6/flip_v = true 2279 | 8:3/6/transpose = true 2280 | 8:3/7 = 7 2281 | 8:3/7/flip_h = true 2282 | 8:3/7/flip_v = true 2283 | 8:3/7/transpose = true 2284 | 8:4/next_alternative_id = 8 2285 | 8:4/0 = 0 2286 | 8:4/1 = 1 2287 | 8:4/1/flip_h = true 2288 | 8:4/2 = 2 2289 | 8:4/2/flip_v = true 2290 | 8:4/3 = 3 2291 | 8:4/3/flip_h = true 2292 | 8:4/3/flip_v = true 2293 | 8:4/4 = 4 2294 | 8:4/4/transpose = true 2295 | 8:4/5 = 5 2296 | 8:4/5/flip_h = true 2297 | 8:4/5/transpose = true 2298 | 8:4/6 = 6 2299 | 8:4/6/flip_v = true 2300 | 8:4/6/transpose = true 2301 | 8:4/7 = 7 2302 | 8:4/7/flip_h = true 2303 | 8:4/7/flip_v = true 2304 | 8:4/7/transpose = true 2305 | 8:5/next_alternative_id = 8 2306 | 8:5/0 = 0 2307 | 8:5/1 = 1 2308 | 8:5/1/flip_h = true 2309 | 8:5/2 = 2 2310 | 8:5/2/flip_v = true 2311 | 8:5/3 = 3 2312 | 8:5/3/flip_h = true 2313 | 8:5/3/flip_v = true 2314 | 8:5/4 = 4 2315 | 8:5/4/transpose = true 2316 | 8:5/5 = 5 2317 | 8:5/5/flip_h = true 2318 | 8:5/5/transpose = true 2319 | 8:5/6 = 6 2320 | 8:5/6/flip_v = true 2321 | 8:5/6/transpose = true 2322 | 8:5/7 = 7 2323 | 8:5/7/flip_h = true 2324 | 8:5/7/flip_v = true 2325 | 8:5/7/transpose = true 2326 | 8:6/next_alternative_id = 8 2327 | 8:6/0 = 0 2328 | 8:6/1 = 1 2329 | 8:6/1/flip_h = true 2330 | 8:6/2 = 2 2331 | 8:6/2/flip_v = true 2332 | 8:6/3 = 3 2333 | 8:6/3/flip_h = true 2334 | 8:6/3/flip_v = true 2335 | 8:6/4 = 4 2336 | 8:6/4/transpose = true 2337 | 8:6/5 = 5 2338 | 8:6/5/flip_h = true 2339 | 8:6/5/transpose = true 2340 | 8:6/6 = 6 2341 | 8:6/6/flip_v = true 2342 | 8:6/6/transpose = true 2343 | 8:6/7 = 7 2344 | 8:6/7/flip_h = true 2345 | 8:6/7/flip_v = true 2346 | 8:6/7/transpose = true 2347 | 8:7/next_alternative_id = 8 2348 | 8:7/0 = 0 2349 | 8:7/1 = 1 2350 | 8:7/1/flip_h = true 2351 | 8:7/2 = 2 2352 | 8:7/2/flip_v = true 2353 | 8:7/3 = 3 2354 | 8:7/3/flip_h = true 2355 | 8:7/3/flip_v = true 2356 | 8:7/4 = 4 2357 | 8:7/4/transpose = true 2358 | 8:7/5 = 5 2359 | 8:7/5/flip_h = true 2360 | 8:7/5/transpose = true 2361 | 8:7/6 = 6 2362 | 8:7/6/flip_v = true 2363 | 8:7/6/transpose = true 2364 | 8:7/7 = 7 2365 | 8:7/7/flip_h = true 2366 | 8:7/7/flip_v = true 2367 | 8:7/7/transpose = true 2368 | 8:8/next_alternative_id = 8 2369 | 8:8/0 = 0 2370 | 8:8/1 = 1 2371 | 8:8/1/flip_h = true 2372 | 8:8/2 = 2 2373 | 8:8/2/flip_v = true 2374 | 8:8/3 = 3 2375 | 8:8/3/flip_h = true 2376 | 8:8/3/flip_v = true 2377 | 8:8/4 = 4 2378 | 8:8/4/transpose = true 2379 | 8:8/5 = 5 2380 | 8:8/5/flip_h = true 2381 | 8:8/5/transpose = true 2382 | 8:8/6 = 6 2383 | 8:8/6/flip_v = true 2384 | 8:8/6/transpose = true 2385 | 8:8/7 = 7 2386 | 8:8/7/flip_h = true 2387 | 8:8/7/flip_v = true 2388 | 8:8/7/transpose = true 2389 | 8:9/next_alternative_id = 8 2390 | 8:9/0 = 0 2391 | 8:9/1 = 1 2392 | 8:9/1/flip_h = true 2393 | 8:9/2 = 2 2394 | 8:9/2/flip_v = true 2395 | 8:9/3 = 3 2396 | 8:9/3/flip_h = true 2397 | 8:9/3/flip_v = true 2398 | 8:9/4 = 4 2399 | 8:9/4/transpose = true 2400 | 8:9/5 = 5 2401 | 8:9/5/flip_h = true 2402 | 8:9/5/transpose = true 2403 | 8:9/6 = 6 2404 | 8:9/6/flip_v = true 2405 | 8:9/6/transpose = true 2406 | 8:9/7 = 7 2407 | 8:9/7/flip_h = true 2408 | 8:9/7/flip_v = true 2409 | 8:9/7/transpose = true 2410 | 8:10/next_alternative_id = 8 2411 | 8:10/0 = 0 2412 | 8:10/1 = 1 2413 | 8:10/1/flip_h = true 2414 | 8:10/2 = 2 2415 | 8:10/2/flip_v = true 2416 | 8:10/3 = 3 2417 | 8:10/3/flip_h = true 2418 | 8:10/3/flip_v = true 2419 | 8:10/4 = 4 2420 | 8:10/4/transpose = true 2421 | 8:10/5 = 5 2422 | 8:10/5/flip_h = true 2423 | 8:10/5/transpose = true 2424 | 8:10/6 = 6 2425 | 8:10/6/flip_v = true 2426 | 8:10/6/transpose = true 2427 | 8:10/7 = 7 2428 | 8:10/7/flip_h = true 2429 | 8:10/7/flip_v = true 2430 | 8:10/7/transpose = true 2431 | 8:11/next_alternative_id = 8 2432 | 8:11/0 = 0 2433 | 8:11/1 = 1 2434 | 8:11/1/flip_h = true 2435 | 8:11/2 = 2 2436 | 8:11/2/flip_v = true 2437 | 8:11/3 = 3 2438 | 8:11/3/flip_h = true 2439 | 8:11/3/flip_v = true 2440 | 8:11/4 = 4 2441 | 8:11/4/transpose = true 2442 | 8:11/5 = 5 2443 | 8:11/5/flip_h = true 2444 | 8:11/5/transpose = true 2445 | 8:11/6 = 6 2446 | 8:11/6/flip_v = true 2447 | 8:11/6/transpose = true 2448 | 8:11/7 = 7 2449 | 8:11/7/flip_h = true 2450 | 8:11/7/flip_v = true 2451 | 8:11/7/transpose = true 2452 | 8:12/next_alternative_id = 8 2453 | 8:12/0 = 0 2454 | 8:12/1 = 1 2455 | 8:12/1/flip_h = true 2456 | 8:12/2 = 2 2457 | 8:12/2/flip_v = true 2458 | 8:12/3 = 3 2459 | 8:12/3/flip_h = true 2460 | 8:12/3/flip_v = true 2461 | 8:12/4 = 4 2462 | 8:12/4/transpose = true 2463 | 8:12/5 = 5 2464 | 8:12/5/flip_h = true 2465 | 8:12/5/transpose = true 2466 | 8:12/6 = 6 2467 | 8:12/6/flip_v = true 2468 | 8:12/6/transpose = true 2469 | 8:12/7 = 7 2470 | 8:12/7/flip_h = true 2471 | 8:12/7/flip_v = true 2472 | 8:12/7/transpose = true 2473 | 9:0/next_alternative_id = 8 2474 | 9:0/0 = 0 2475 | 9:0/1 = 1 2476 | 9:0/1/flip_h = true 2477 | 9:0/2 = 2 2478 | 9:0/2/flip_v = true 2479 | 9:0/3 = 3 2480 | 9:0/3/flip_h = true 2481 | 9:0/3/flip_v = true 2482 | 9:0/4 = 4 2483 | 9:0/4/transpose = true 2484 | 9:0/5 = 5 2485 | 9:0/5/flip_h = true 2486 | 9:0/5/transpose = true 2487 | 9:0/6 = 6 2488 | 9:0/6/flip_v = true 2489 | 9:0/6/transpose = true 2490 | 9:0/7 = 7 2491 | 9:0/7/flip_h = true 2492 | 9:0/7/flip_v = true 2493 | 9:0/7/transpose = true 2494 | 9:1/next_alternative_id = 8 2495 | 9:1/0 = 0 2496 | 9:1/1 = 1 2497 | 9:1/1/flip_h = true 2498 | 9:1/2 = 2 2499 | 9:1/2/flip_v = true 2500 | 9:1/3 = 3 2501 | 9:1/3/flip_h = true 2502 | 9:1/3/flip_v = true 2503 | 9:1/4 = 4 2504 | 9:1/4/transpose = true 2505 | 9:1/5 = 5 2506 | 9:1/5/flip_h = true 2507 | 9:1/5/transpose = true 2508 | 9:1/6 = 6 2509 | 9:1/6/flip_v = true 2510 | 9:1/6/transpose = true 2511 | 9:1/7 = 7 2512 | 9:1/7/flip_h = true 2513 | 9:1/7/flip_v = true 2514 | 9:1/7/transpose = true 2515 | 9:2/next_alternative_id = 8 2516 | 9:2/0 = 0 2517 | 9:2/1 = 1 2518 | 9:2/1/flip_h = true 2519 | 9:2/2 = 2 2520 | 9:2/2/flip_v = true 2521 | 9:2/3 = 3 2522 | 9:2/3/flip_h = true 2523 | 9:2/3/flip_v = true 2524 | 9:2/4 = 4 2525 | 9:2/4/transpose = true 2526 | 9:2/5 = 5 2527 | 9:2/5/flip_h = true 2528 | 9:2/5/transpose = true 2529 | 9:2/6 = 6 2530 | 9:2/6/flip_v = true 2531 | 9:2/6/transpose = true 2532 | 9:2/7 = 7 2533 | 9:2/7/flip_h = true 2534 | 9:2/7/flip_v = true 2535 | 9:2/7/transpose = true 2536 | 9:3/next_alternative_id = 8 2537 | 9:3/0 = 0 2538 | 9:3/1 = 1 2539 | 9:3/1/flip_h = true 2540 | 9:3/2 = 2 2541 | 9:3/2/flip_v = true 2542 | 9:3/3 = 3 2543 | 9:3/3/flip_h = true 2544 | 9:3/3/flip_v = true 2545 | 9:3/4 = 4 2546 | 9:3/4/transpose = true 2547 | 9:3/5 = 5 2548 | 9:3/5/flip_h = true 2549 | 9:3/5/transpose = true 2550 | 9:3/6 = 6 2551 | 9:3/6/flip_v = true 2552 | 9:3/6/transpose = true 2553 | 9:3/7 = 7 2554 | 9:3/7/flip_h = true 2555 | 9:3/7/flip_v = true 2556 | 9:3/7/transpose = true 2557 | 9:4/next_alternative_id = 8 2558 | 9:4/0 = 0 2559 | 9:4/1 = 1 2560 | 9:4/1/flip_h = true 2561 | 9:4/2 = 2 2562 | 9:4/2/flip_v = true 2563 | 9:4/3 = 3 2564 | 9:4/3/flip_h = true 2565 | 9:4/3/flip_v = true 2566 | 9:4/4 = 4 2567 | 9:4/4/transpose = true 2568 | 9:4/5 = 5 2569 | 9:4/5/flip_h = true 2570 | 9:4/5/transpose = true 2571 | 9:4/6 = 6 2572 | 9:4/6/flip_v = true 2573 | 9:4/6/transpose = true 2574 | 9:4/7 = 7 2575 | 9:4/7/flip_h = true 2576 | 9:4/7/flip_v = true 2577 | 9:4/7/transpose = true 2578 | 9:5/next_alternative_id = 8 2579 | 9:5/0 = 0 2580 | 9:5/1 = 1 2581 | 9:5/1/flip_h = true 2582 | 9:5/2 = 2 2583 | 9:5/2/flip_v = true 2584 | 9:5/3 = 3 2585 | 9:5/3/flip_h = true 2586 | 9:5/3/flip_v = true 2587 | 9:5/4 = 4 2588 | 9:5/4/transpose = true 2589 | 9:5/5 = 5 2590 | 9:5/5/flip_h = true 2591 | 9:5/5/transpose = true 2592 | 9:5/6 = 6 2593 | 9:5/6/flip_v = true 2594 | 9:5/6/transpose = true 2595 | 9:5/7 = 7 2596 | 9:5/7/flip_h = true 2597 | 9:5/7/flip_v = true 2598 | 9:5/7/transpose = true 2599 | 9:6/next_alternative_id = 8 2600 | 9:6/0 = 0 2601 | 9:6/1 = 1 2602 | 9:6/1/flip_h = true 2603 | 9:6/2 = 2 2604 | 9:6/2/flip_v = true 2605 | 9:6/3 = 3 2606 | 9:6/3/flip_h = true 2607 | 9:6/3/flip_v = true 2608 | 9:6/4 = 4 2609 | 9:6/4/transpose = true 2610 | 9:6/5 = 5 2611 | 9:6/5/flip_h = true 2612 | 9:6/5/transpose = true 2613 | 9:6/6 = 6 2614 | 9:6/6/flip_v = true 2615 | 9:6/6/transpose = true 2616 | 9:6/7 = 7 2617 | 9:6/7/flip_h = true 2618 | 9:6/7/flip_v = true 2619 | 9:6/7/transpose = true 2620 | 9:7/next_alternative_id = 8 2621 | 9:7/0 = 0 2622 | 9:7/1 = 1 2623 | 9:7/1/flip_h = true 2624 | 9:7/2 = 2 2625 | 9:7/2/flip_v = true 2626 | 9:7/3 = 3 2627 | 9:7/3/flip_h = true 2628 | 9:7/3/flip_v = true 2629 | 9:7/4 = 4 2630 | 9:7/4/transpose = true 2631 | 9:7/5 = 5 2632 | 9:7/5/flip_h = true 2633 | 9:7/5/transpose = true 2634 | 9:7/6 = 6 2635 | 9:7/6/flip_v = true 2636 | 9:7/6/transpose = true 2637 | 9:7/7 = 7 2638 | 9:7/7/flip_h = true 2639 | 9:7/7/flip_v = true 2640 | 9:7/7/transpose = true 2641 | 9:8/next_alternative_id = 8 2642 | 9:8/0 = 0 2643 | 9:8/1 = 1 2644 | 9:8/1/flip_h = true 2645 | 9:8/2 = 2 2646 | 9:8/2/flip_v = true 2647 | 9:8/3 = 3 2648 | 9:8/3/flip_h = true 2649 | 9:8/3/flip_v = true 2650 | 9:8/4 = 4 2651 | 9:8/4/transpose = true 2652 | 9:8/5 = 5 2653 | 9:8/5/flip_h = true 2654 | 9:8/5/transpose = true 2655 | 9:8/6 = 6 2656 | 9:8/6/flip_v = true 2657 | 9:8/6/transpose = true 2658 | 9:8/7 = 7 2659 | 9:8/7/flip_h = true 2660 | 9:8/7/flip_v = true 2661 | 9:8/7/transpose = true 2662 | 9:9/next_alternative_id = 8 2663 | 9:9/0 = 0 2664 | 9:9/1 = 1 2665 | 9:9/1/flip_h = true 2666 | 9:9/2 = 2 2667 | 9:9/2/flip_v = true 2668 | 9:9/3 = 3 2669 | 9:9/3/flip_h = true 2670 | 9:9/3/flip_v = true 2671 | 9:9/4 = 4 2672 | 9:9/4/transpose = true 2673 | 9:9/5 = 5 2674 | 9:9/5/flip_h = true 2675 | 9:9/5/transpose = true 2676 | 9:9/6 = 6 2677 | 9:9/6/flip_v = true 2678 | 9:9/6/transpose = true 2679 | 9:9/7 = 7 2680 | 9:9/7/flip_h = true 2681 | 9:9/7/flip_v = true 2682 | 9:9/7/transpose = true 2683 | 9:10/next_alternative_id = 8 2684 | 9:10/0 = 0 2685 | 9:10/1 = 1 2686 | 9:10/1/flip_h = true 2687 | 9:10/2 = 2 2688 | 9:10/2/flip_v = true 2689 | 9:10/3 = 3 2690 | 9:10/3/flip_h = true 2691 | 9:10/3/flip_v = true 2692 | 9:10/4 = 4 2693 | 9:10/4/transpose = true 2694 | 9:10/5 = 5 2695 | 9:10/5/flip_h = true 2696 | 9:10/5/transpose = true 2697 | 9:10/6 = 6 2698 | 9:10/6/flip_v = true 2699 | 9:10/6/transpose = true 2700 | 9:10/7 = 7 2701 | 9:10/7/flip_h = true 2702 | 9:10/7/flip_v = true 2703 | 9:10/7/transpose = true 2704 | 9:11/next_alternative_id = 8 2705 | 9:11/0 = 0 2706 | 9:11/1 = 1 2707 | 9:11/1/flip_h = true 2708 | 9:11/2 = 2 2709 | 9:11/2/flip_v = true 2710 | 9:11/3 = 3 2711 | 9:11/3/flip_h = true 2712 | 9:11/3/flip_v = true 2713 | 9:11/4 = 4 2714 | 9:11/4/transpose = true 2715 | 9:11/5 = 5 2716 | 9:11/5/flip_h = true 2717 | 9:11/5/transpose = true 2718 | 9:11/6 = 6 2719 | 9:11/6/flip_v = true 2720 | 9:11/6/transpose = true 2721 | 9:11/7 = 7 2722 | 9:11/7/flip_h = true 2723 | 9:11/7/flip_v = true 2724 | 9:11/7/transpose = true 2725 | 9:12/next_alternative_id = 8 2726 | 9:12/0 = 0 2727 | 9:12/1 = 1 2728 | 9:12/1/flip_h = true 2729 | 9:12/2 = 2 2730 | 9:12/2/flip_v = true 2731 | 9:12/3 = 3 2732 | 9:12/3/flip_h = true 2733 | 9:12/3/flip_v = true 2734 | 9:12/4 = 4 2735 | 9:12/4/transpose = true 2736 | 9:12/5 = 5 2737 | 9:12/5/flip_h = true 2738 | 9:12/5/transpose = true 2739 | 9:12/6 = 6 2740 | 9:12/6/flip_v = true 2741 | 9:12/6/transpose = true 2742 | 9:12/7 = 7 2743 | 9:12/7/flip_h = true 2744 | 9:12/7/flip_v = true 2745 | 9:12/7/transpose = true 2746 | 10:0/next_alternative_id = 8 2747 | 10:0/0 = 0 2748 | 10:0/1 = 1 2749 | 10:0/1/flip_h = true 2750 | 10:0/2 = 2 2751 | 10:0/2/flip_v = true 2752 | 10:0/3 = 3 2753 | 10:0/3/flip_h = true 2754 | 10:0/3/flip_v = true 2755 | 10:0/4 = 4 2756 | 10:0/4/transpose = true 2757 | 10:0/5 = 5 2758 | 10:0/5/flip_h = true 2759 | 10:0/5/transpose = true 2760 | 10:0/6 = 6 2761 | 10:0/6/flip_v = true 2762 | 10:0/6/transpose = true 2763 | 10:0/7 = 7 2764 | 10:0/7/flip_h = true 2765 | 10:0/7/flip_v = true 2766 | 10:0/7/transpose = true 2767 | 10:1/next_alternative_id = 8 2768 | 10:1/0 = 0 2769 | 10:1/1 = 1 2770 | 10:1/1/flip_h = true 2771 | 10:1/2 = 2 2772 | 10:1/2/flip_v = true 2773 | 10:1/3 = 3 2774 | 10:1/3/flip_h = true 2775 | 10:1/3/flip_v = true 2776 | 10:1/4 = 4 2777 | 10:1/4/transpose = true 2778 | 10:1/5 = 5 2779 | 10:1/5/flip_h = true 2780 | 10:1/5/transpose = true 2781 | 10:1/6 = 6 2782 | 10:1/6/flip_v = true 2783 | 10:1/6/transpose = true 2784 | 10:1/7 = 7 2785 | 10:1/7/flip_h = true 2786 | 10:1/7/flip_v = true 2787 | 10:1/7/transpose = true 2788 | 10:2/next_alternative_id = 8 2789 | 10:2/0 = 0 2790 | 10:2/1 = 1 2791 | 10:2/1/flip_h = true 2792 | 10:2/2 = 2 2793 | 10:2/2/flip_v = true 2794 | 10:2/3 = 3 2795 | 10:2/3/flip_h = true 2796 | 10:2/3/flip_v = true 2797 | 10:2/4 = 4 2798 | 10:2/4/transpose = true 2799 | 10:2/5 = 5 2800 | 10:2/5/flip_h = true 2801 | 10:2/5/transpose = true 2802 | 10:2/6 = 6 2803 | 10:2/6/flip_v = true 2804 | 10:2/6/transpose = true 2805 | 10:2/7 = 7 2806 | 10:2/7/flip_h = true 2807 | 10:2/7/flip_v = true 2808 | 10:2/7/transpose = true 2809 | 10:3/next_alternative_id = 8 2810 | 10:3/0 = 0 2811 | 10:3/1 = 1 2812 | 10:3/1/flip_h = true 2813 | 10:3/2 = 2 2814 | 10:3/2/flip_v = true 2815 | 10:3/3 = 3 2816 | 10:3/3/flip_h = true 2817 | 10:3/3/flip_v = true 2818 | 10:3/4 = 4 2819 | 10:3/4/transpose = true 2820 | 10:3/5 = 5 2821 | 10:3/5/flip_h = true 2822 | 10:3/5/transpose = true 2823 | 10:3/6 = 6 2824 | 10:3/6/flip_v = true 2825 | 10:3/6/transpose = true 2826 | 10:3/7 = 7 2827 | 10:3/7/flip_h = true 2828 | 10:3/7/flip_v = true 2829 | 10:3/7/transpose = true 2830 | 10:4/next_alternative_id = 8 2831 | 10:4/0 = 0 2832 | 10:4/1 = 1 2833 | 10:4/1/flip_h = true 2834 | 10:4/2 = 2 2835 | 10:4/2/flip_v = true 2836 | 10:4/3 = 3 2837 | 10:4/3/flip_h = true 2838 | 10:4/3/flip_v = true 2839 | 10:4/4 = 4 2840 | 10:4/4/transpose = true 2841 | 10:4/5 = 5 2842 | 10:4/5/flip_h = true 2843 | 10:4/5/transpose = true 2844 | 10:4/6 = 6 2845 | 10:4/6/flip_v = true 2846 | 10:4/6/transpose = true 2847 | 10:4/7 = 7 2848 | 10:4/7/flip_h = true 2849 | 10:4/7/flip_v = true 2850 | 10:4/7/transpose = true 2851 | 10:5/next_alternative_id = 8 2852 | 10:5/0 = 0 2853 | 10:5/1 = 1 2854 | 10:5/1/flip_h = true 2855 | 10:5/2 = 2 2856 | 10:5/2/flip_v = true 2857 | 10:5/3 = 3 2858 | 10:5/3/flip_h = true 2859 | 10:5/3/flip_v = true 2860 | 10:5/4 = 4 2861 | 10:5/4/transpose = true 2862 | 10:5/5 = 5 2863 | 10:5/5/flip_h = true 2864 | 10:5/5/transpose = true 2865 | 10:5/6 = 6 2866 | 10:5/6/flip_v = true 2867 | 10:5/6/transpose = true 2868 | 10:5/7 = 7 2869 | 10:5/7/flip_h = true 2870 | 10:5/7/flip_v = true 2871 | 10:5/7/transpose = true 2872 | 10:6/next_alternative_id = 8 2873 | 10:6/0 = 0 2874 | 10:6/1 = 1 2875 | 10:6/1/flip_h = true 2876 | 10:6/2 = 2 2877 | 10:6/2/flip_v = true 2878 | 10:6/3 = 3 2879 | 10:6/3/flip_h = true 2880 | 10:6/3/flip_v = true 2881 | 10:6/4 = 4 2882 | 10:6/4/transpose = true 2883 | 10:6/5 = 5 2884 | 10:6/5/flip_h = true 2885 | 10:6/5/transpose = true 2886 | 10:6/6 = 6 2887 | 10:6/6/flip_v = true 2888 | 10:6/6/transpose = true 2889 | 10:6/7 = 7 2890 | 10:6/7/flip_h = true 2891 | 10:6/7/flip_v = true 2892 | 10:6/7/transpose = true 2893 | 10:7/next_alternative_id = 8 2894 | 10:7/0 = 0 2895 | 10:7/1 = 1 2896 | 10:7/1/flip_h = true 2897 | 10:7/2 = 2 2898 | 10:7/2/flip_v = true 2899 | 10:7/3 = 3 2900 | 10:7/3/flip_h = true 2901 | 10:7/3/flip_v = true 2902 | 10:7/4 = 4 2903 | 10:7/4/transpose = true 2904 | 10:7/5 = 5 2905 | 10:7/5/flip_h = true 2906 | 10:7/5/transpose = true 2907 | 10:7/6 = 6 2908 | 10:7/6/flip_v = true 2909 | 10:7/6/transpose = true 2910 | 10:7/7 = 7 2911 | 10:7/7/flip_h = true 2912 | 10:7/7/flip_v = true 2913 | 10:7/7/transpose = true 2914 | 10:8/next_alternative_id = 8 2915 | 10:8/0 = 0 2916 | 10:8/1 = 1 2917 | 10:8/1/flip_h = true 2918 | 10:8/2 = 2 2919 | 10:8/2/flip_v = true 2920 | 10:8/3 = 3 2921 | 10:8/3/flip_h = true 2922 | 10:8/3/flip_v = true 2923 | 10:8/4 = 4 2924 | 10:8/4/transpose = true 2925 | 10:8/5 = 5 2926 | 10:8/5/flip_h = true 2927 | 10:8/5/transpose = true 2928 | 10:8/6 = 6 2929 | 10:8/6/flip_v = true 2930 | 10:8/6/transpose = true 2931 | 10:8/7 = 7 2932 | 10:8/7/flip_h = true 2933 | 10:8/7/flip_v = true 2934 | 10:8/7/transpose = true 2935 | 10:9/next_alternative_id = 8 2936 | 10:9/0 = 0 2937 | 10:9/1 = 1 2938 | 10:9/1/flip_h = true 2939 | 10:9/2 = 2 2940 | 10:9/2/flip_v = true 2941 | 10:9/3 = 3 2942 | 10:9/3/flip_h = true 2943 | 10:9/3/flip_v = true 2944 | 10:9/4 = 4 2945 | 10:9/4/transpose = true 2946 | 10:9/5 = 5 2947 | 10:9/5/flip_h = true 2948 | 10:9/5/transpose = true 2949 | 10:9/6 = 6 2950 | 10:9/6/flip_v = true 2951 | 10:9/6/transpose = true 2952 | 10:9/7 = 7 2953 | 10:9/7/flip_h = true 2954 | 10:9/7/flip_v = true 2955 | 10:9/7/transpose = true 2956 | 10:10/next_alternative_id = 8 2957 | 10:10/0 = 0 2958 | 10:10/1 = 1 2959 | 10:10/1/flip_h = true 2960 | 10:10/2 = 2 2961 | 10:10/2/flip_v = true 2962 | 10:10/3 = 3 2963 | 10:10/3/flip_h = true 2964 | 10:10/3/flip_v = true 2965 | 10:10/4 = 4 2966 | 10:10/4/transpose = true 2967 | 10:10/5 = 5 2968 | 10:10/5/flip_h = true 2969 | 10:10/5/transpose = true 2970 | 10:10/6 = 6 2971 | 10:10/6/flip_v = true 2972 | 10:10/6/transpose = true 2973 | 10:10/7 = 7 2974 | 10:10/7/flip_h = true 2975 | 10:10/7/flip_v = true 2976 | 10:10/7/transpose = true 2977 | 10:11/next_alternative_id = 8 2978 | 10:11/0 = 0 2979 | 10:11/1 = 1 2980 | 10:11/1/flip_h = true 2981 | 10:11/2 = 2 2982 | 10:11/2/flip_v = true 2983 | 10:11/3 = 3 2984 | 10:11/3/flip_h = true 2985 | 10:11/3/flip_v = true 2986 | 10:11/4 = 4 2987 | 10:11/4/transpose = true 2988 | 10:11/5 = 5 2989 | 10:11/5/flip_h = true 2990 | 10:11/5/transpose = true 2991 | 10:11/6 = 6 2992 | 10:11/6/flip_v = true 2993 | 10:11/6/transpose = true 2994 | 10:11/7 = 7 2995 | 10:11/7/flip_h = true 2996 | 10:11/7/flip_v = true 2997 | 10:11/7/transpose = true 2998 | 10:12/next_alternative_id = 8 2999 | 10:12/0 = 0 3000 | 10:12/1 = 1 3001 | 10:12/1/flip_h = true 3002 | 10:12/2 = 2 3003 | 10:12/2/flip_v = true 3004 | 10:12/3 = 3 3005 | 10:12/3/flip_h = true 3006 | 10:12/3/flip_v = true 3007 | 10:12/4 = 4 3008 | 10:12/4/transpose = true 3009 | 10:12/5 = 5 3010 | 10:12/5/flip_h = true 3011 | 10:12/5/transpose = true 3012 | 10:12/6 = 6 3013 | 10:12/6/flip_v = true 3014 | 10:12/6/transpose = true 3015 | 10:12/7 = 7 3016 | 10:12/7/flip_h = true 3017 | 10:12/7/flip_v = true 3018 | 10:12/7/transpose = true 3019 | 11:0/next_alternative_id = 8 3020 | 11:0/0 = 0 3021 | 11:0/1 = 1 3022 | 11:0/1/flip_h = true 3023 | 11:0/2 = 2 3024 | 11:0/2/flip_v = true 3025 | 11:0/3 = 3 3026 | 11:0/3/flip_h = true 3027 | 11:0/3/flip_v = true 3028 | 11:0/4 = 4 3029 | 11:0/4/transpose = true 3030 | 11:0/5 = 5 3031 | 11:0/5/flip_h = true 3032 | 11:0/5/transpose = true 3033 | 11:0/6 = 6 3034 | 11:0/6/flip_v = true 3035 | 11:0/6/transpose = true 3036 | 11:0/7 = 7 3037 | 11:0/7/flip_h = true 3038 | 11:0/7/flip_v = true 3039 | 11:0/7/transpose = true 3040 | 11:1/next_alternative_id = 8 3041 | 11:1/0 = 0 3042 | 11:1/1 = 1 3043 | 11:1/1/flip_h = true 3044 | 11:1/2 = 2 3045 | 11:1/2/flip_v = true 3046 | 11:1/3 = 3 3047 | 11:1/3/flip_h = true 3048 | 11:1/3/flip_v = true 3049 | 11:1/4 = 4 3050 | 11:1/4/transpose = true 3051 | 11:1/5 = 5 3052 | 11:1/5/flip_h = true 3053 | 11:1/5/transpose = true 3054 | 11:1/6 = 6 3055 | 11:1/6/flip_v = true 3056 | 11:1/6/transpose = true 3057 | 11:1/7 = 7 3058 | 11:1/7/flip_h = true 3059 | 11:1/7/flip_v = true 3060 | 11:1/7/transpose = true 3061 | 11:2/next_alternative_id = 8 3062 | 11:2/0 = 0 3063 | 11:2/1 = 1 3064 | 11:2/1/flip_h = true 3065 | 11:2/2 = 2 3066 | 11:2/2/flip_v = true 3067 | 11:2/3 = 3 3068 | 11:2/3/flip_h = true 3069 | 11:2/3/flip_v = true 3070 | 11:2/4 = 4 3071 | 11:2/4/transpose = true 3072 | 11:2/5 = 5 3073 | 11:2/5/flip_h = true 3074 | 11:2/5/transpose = true 3075 | 11:2/6 = 6 3076 | 11:2/6/flip_v = true 3077 | 11:2/6/transpose = true 3078 | 11:2/7 = 7 3079 | 11:2/7/flip_h = true 3080 | 11:2/7/flip_v = true 3081 | 11:2/7/transpose = true 3082 | 11:3/next_alternative_id = 8 3083 | 11:3/0 = 0 3084 | 11:3/1 = 1 3085 | 11:3/1/flip_h = true 3086 | 11:3/2 = 2 3087 | 11:3/2/flip_v = true 3088 | 11:3/3 = 3 3089 | 11:3/3/flip_h = true 3090 | 11:3/3/flip_v = true 3091 | 11:3/4 = 4 3092 | 11:3/4/transpose = true 3093 | 11:3/5 = 5 3094 | 11:3/5/flip_h = true 3095 | 11:3/5/transpose = true 3096 | 11:3/6 = 6 3097 | 11:3/6/flip_v = true 3098 | 11:3/6/transpose = true 3099 | 11:3/7 = 7 3100 | 11:3/7/flip_h = true 3101 | 11:3/7/flip_v = true 3102 | 11:3/7/transpose = true 3103 | 11:4/next_alternative_id = 8 3104 | 11:4/0 = 0 3105 | 11:4/1 = 1 3106 | 11:4/1/flip_h = true 3107 | 11:4/2 = 2 3108 | 11:4/2/flip_v = true 3109 | 11:4/3 = 3 3110 | 11:4/3/flip_h = true 3111 | 11:4/3/flip_v = true 3112 | 11:4/4 = 4 3113 | 11:4/4/transpose = true 3114 | 11:4/5 = 5 3115 | 11:4/5/flip_h = true 3116 | 11:4/5/transpose = true 3117 | 11:4/6 = 6 3118 | 11:4/6/flip_v = true 3119 | 11:4/6/transpose = true 3120 | 11:4/7 = 7 3121 | 11:4/7/flip_h = true 3122 | 11:4/7/flip_v = true 3123 | 11:4/7/transpose = true 3124 | 11:5/next_alternative_id = 8 3125 | 11:5/0 = 0 3126 | 11:5/1 = 1 3127 | 11:5/1/flip_h = true 3128 | 11:5/2 = 2 3129 | 11:5/2/flip_v = true 3130 | 11:5/3 = 3 3131 | 11:5/3/flip_h = true 3132 | 11:5/3/flip_v = true 3133 | 11:5/4 = 4 3134 | 11:5/4/transpose = true 3135 | 11:5/5 = 5 3136 | 11:5/5/flip_h = true 3137 | 11:5/5/transpose = true 3138 | 11:5/6 = 6 3139 | 11:5/6/flip_v = true 3140 | 11:5/6/transpose = true 3141 | 11:5/7 = 7 3142 | 11:5/7/flip_h = true 3143 | 11:5/7/flip_v = true 3144 | 11:5/7/transpose = true 3145 | 11:6/next_alternative_id = 8 3146 | 11:6/0 = 0 3147 | 11:6/1 = 1 3148 | 11:6/1/flip_h = true 3149 | 11:6/2 = 2 3150 | 11:6/2/flip_v = true 3151 | 11:6/3 = 3 3152 | 11:6/3/flip_h = true 3153 | 11:6/3/flip_v = true 3154 | 11:6/4 = 4 3155 | 11:6/4/transpose = true 3156 | 11:6/5 = 5 3157 | 11:6/5/flip_h = true 3158 | 11:6/5/transpose = true 3159 | 11:6/6 = 6 3160 | 11:6/6/flip_v = true 3161 | 11:6/6/transpose = true 3162 | 11:6/7 = 7 3163 | 11:6/7/flip_h = true 3164 | 11:6/7/flip_v = true 3165 | 11:6/7/transpose = true 3166 | 11:7/next_alternative_id = 8 3167 | 11:7/0 = 0 3168 | 11:7/1 = 1 3169 | 11:7/1/flip_h = true 3170 | 11:7/2 = 2 3171 | 11:7/2/flip_v = true 3172 | 11:7/3 = 3 3173 | 11:7/3/flip_h = true 3174 | 11:7/3/flip_v = true 3175 | 11:7/4 = 4 3176 | 11:7/4/transpose = true 3177 | 11:7/5 = 5 3178 | 11:7/5/flip_h = true 3179 | 11:7/5/transpose = true 3180 | 11:7/6 = 6 3181 | 11:7/6/flip_v = true 3182 | 11:7/6/transpose = true 3183 | 11:7/7 = 7 3184 | 11:7/7/flip_h = true 3185 | 11:7/7/flip_v = true 3186 | 11:7/7/transpose = true 3187 | 11:8/next_alternative_id = 8 3188 | 11:8/0 = 0 3189 | 11:8/1 = 1 3190 | 11:8/1/flip_h = true 3191 | 11:8/2 = 2 3192 | 11:8/2/flip_v = true 3193 | 11:8/3 = 3 3194 | 11:8/3/flip_h = true 3195 | 11:8/3/flip_v = true 3196 | 11:8/4 = 4 3197 | 11:8/4/transpose = true 3198 | 11:8/5 = 5 3199 | 11:8/5/flip_h = true 3200 | 11:8/5/transpose = true 3201 | 11:8/6 = 6 3202 | 11:8/6/flip_v = true 3203 | 11:8/6/transpose = true 3204 | 11:8/7 = 7 3205 | 11:8/7/flip_h = true 3206 | 11:8/7/flip_v = true 3207 | 11:8/7/transpose = true 3208 | 11:9/next_alternative_id = 8 3209 | 11:9/0 = 0 3210 | 11:9/1 = 1 3211 | 11:9/1/flip_h = true 3212 | 11:9/2 = 2 3213 | 11:9/2/flip_v = true 3214 | 11:9/3 = 3 3215 | 11:9/3/flip_h = true 3216 | 11:9/3/flip_v = true 3217 | 11:9/4 = 4 3218 | 11:9/4/transpose = true 3219 | 11:9/5 = 5 3220 | 11:9/5/flip_h = true 3221 | 11:9/5/transpose = true 3222 | 11:9/6 = 6 3223 | 11:9/6/flip_v = true 3224 | 11:9/6/transpose = true 3225 | 11:9/7 = 7 3226 | 11:9/7/flip_h = true 3227 | 11:9/7/flip_v = true 3228 | 11:9/7/transpose = true 3229 | 11:10/next_alternative_id = 8 3230 | 11:10/0 = 0 3231 | 11:10/1 = 1 3232 | 11:10/1/flip_h = true 3233 | 11:10/2 = 2 3234 | 11:10/2/flip_v = true 3235 | 11:10/3 = 3 3236 | 11:10/3/flip_h = true 3237 | 11:10/3/flip_v = true 3238 | 11:10/4 = 4 3239 | 11:10/4/transpose = true 3240 | 11:10/5 = 5 3241 | 11:10/5/flip_h = true 3242 | 11:10/5/transpose = true 3243 | 11:10/6 = 6 3244 | 11:10/6/flip_v = true 3245 | 11:10/6/transpose = true 3246 | 11:10/7 = 7 3247 | 11:10/7/flip_h = true 3248 | 11:10/7/flip_v = true 3249 | 11:10/7/transpose = true 3250 | 11:11/next_alternative_id = 8 3251 | 11:11/0 = 0 3252 | 11:11/1 = 1 3253 | 11:11/1/flip_h = true 3254 | 11:11/2 = 2 3255 | 11:11/2/flip_v = true 3256 | 11:11/3 = 3 3257 | 11:11/3/flip_h = true 3258 | 11:11/3/flip_v = true 3259 | 11:11/4 = 4 3260 | 11:11/4/transpose = true 3261 | 11:11/5 = 5 3262 | 11:11/5/flip_h = true 3263 | 11:11/5/transpose = true 3264 | 11:11/6 = 6 3265 | 11:11/6/flip_v = true 3266 | 11:11/6/transpose = true 3267 | 11:11/7 = 7 3268 | 11:11/7/flip_h = true 3269 | 11:11/7/flip_v = true 3270 | 11:11/7/transpose = true 3271 | 11:12/next_alternative_id = 8 3272 | 11:12/0 = 0 3273 | 11:12/1 = 1 3274 | 11:12/1/flip_h = true 3275 | 11:12/2 = 2 3276 | 11:12/2/flip_v = true 3277 | 11:12/3 = 3 3278 | 11:12/3/flip_h = true 3279 | 11:12/3/flip_v = true 3280 | 11:12/4 = 4 3281 | 11:12/4/transpose = true 3282 | 11:12/5 = 5 3283 | 11:12/5/flip_h = true 3284 | 11:12/5/transpose = true 3285 | 11:12/6 = 6 3286 | 11:12/6/flip_v = true 3287 | 11:12/6/transpose = true 3288 | 11:12/7 = 7 3289 | 11:12/7/flip_h = true 3290 | 11:12/7/flip_v = true 3291 | 11:12/7/transpose = true 3292 | 12:0/next_alternative_id = 8 3293 | 12:0/0 = 0 3294 | 12:0/1 = 1 3295 | 12:0/1/flip_h = true 3296 | 12:0/2 = 2 3297 | 12:0/2/flip_v = true 3298 | 12:0/3 = 3 3299 | 12:0/3/flip_h = true 3300 | 12:0/3/flip_v = true 3301 | 12:0/4 = 4 3302 | 12:0/4/transpose = true 3303 | 12:0/5 = 5 3304 | 12:0/5/flip_h = true 3305 | 12:0/5/transpose = true 3306 | 12:0/6 = 6 3307 | 12:0/6/flip_v = true 3308 | 12:0/6/transpose = true 3309 | 12:0/7 = 7 3310 | 12:0/7/flip_h = true 3311 | 12:0/7/flip_v = true 3312 | 12:0/7/transpose = true 3313 | 12:1/next_alternative_id = 8 3314 | 12:1/0 = 0 3315 | 12:1/1 = 1 3316 | 12:1/1/flip_h = true 3317 | 12:1/2 = 2 3318 | 12:1/2/flip_v = true 3319 | 12:1/3 = 3 3320 | 12:1/3/flip_h = true 3321 | 12:1/3/flip_v = true 3322 | 12:1/4 = 4 3323 | 12:1/4/transpose = true 3324 | 12:1/5 = 5 3325 | 12:1/5/flip_h = true 3326 | 12:1/5/transpose = true 3327 | 12:1/6 = 6 3328 | 12:1/6/flip_v = true 3329 | 12:1/6/transpose = true 3330 | 12:1/7 = 7 3331 | 12:1/7/flip_h = true 3332 | 12:1/7/flip_v = true 3333 | 12:1/7/transpose = true 3334 | 12:2/next_alternative_id = 8 3335 | 12:2/0 = 0 3336 | 12:2/1 = 1 3337 | 12:2/1/flip_h = true 3338 | 12:2/2 = 2 3339 | 12:2/2/flip_v = true 3340 | 12:2/3 = 3 3341 | 12:2/3/flip_h = true 3342 | 12:2/3/flip_v = true 3343 | 12:2/4 = 4 3344 | 12:2/4/transpose = true 3345 | 12:2/5 = 5 3346 | 12:2/5/flip_h = true 3347 | 12:2/5/transpose = true 3348 | 12:2/6 = 6 3349 | 12:2/6/flip_v = true 3350 | 12:2/6/transpose = true 3351 | 12:2/7 = 7 3352 | 12:2/7/flip_h = true 3353 | 12:2/7/flip_v = true 3354 | 12:2/7/transpose = true 3355 | 12:3/next_alternative_id = 8 3356 | 12:3/0 = 0 3357 | 12:3/1 = 1 3358 | 12:3/1/flip_h = true 3359 | 12:3/2 = 2 3360 | 12:3/2/flip_v = true 3361 | 12:3/3 = 3 3362 | 12:3/3/flip_h = true 3363 | 12:3/3/flip_v = true 3364 | 12:3/4 = 4 3365 | 12:3/4/transpose = true 3366 | 12:3/5 = 5 3367 | 12:3/5/flip_h = true 3368 | 12:3/5/transpose = true 3369 | 12:3/6 = 6 3370 | 12:3/6/flip_v = true 3371 | 12:3/6/transpose = true 3372 | 12:3/7 = 7 3373 | 12:3/7/flip_h = true 3374 | 12:3/7/flip_v = true 3375 | 12:3/7/transpose = true 3376 | 12:4/next_alternative_id = 8 3377 | 12:4/0 = 0 3378 | 12:4/1 = 1 3379 | 12:4/1/flip_h = true 3380 | 12:4/2 = 2 3381 | 12:4/2/flip_v = true 3382 | 12:4/3 = 3 3383 | 12:4/3/flip_h = true 3384 | 12:4/3/flip_v = true 3385 | 12:4/4 = 4 3386 | 12:4/4/transpose = true 3387 | 12:4/5 = 5 3388 | 12:4/5/flip_h = true 3389 | 12:4/5/transpose = true 3390 | 12:4/6 = 6 3391 | 12:4/6/flip_v = true 3392 | 12:4/6/transpose = true 3393 | 12:4/7 = 7 3394 | 12:4/7/flip_h = true 3395 | 12:4/7/flip_v = true 3396 | 12:4/7/transpose = true 3397 | 12:5/next_alternative_id = 8 3398 | 12:5/0 = 0 3399 | 12:5/1 = 1 3400 | 12:5/1/flip_h = true 3401 | 12:5/2 = 2 3402 | 12:5/2/flip_v = true 3403 | 12:5/3 = 3 3404 | 12:5/3/flip_h = true 3405 | 12:5/3/flip_v = true 3406 | 12:5/4 = 4 3407 | 12:5/4/transpose = true 3408 | 12:5/5 = 5 3409 | 12:5/5/flip_h = true 3410 | 12:5/5/transpose = true 3411 | 12:5/6 = 6 3412 | 12:5/6/flip_v = true 3413 | 12:5/6/transpose = true 3414 | 12:5/7 = 7 3415 | 12:5/7/flip_h = true 3416 | 12:5/7/flip_v = true 3417 | 12:5/7/transpose = true 3418 | 12:6/next_alternative_id = 8 3419 | 12:6/0 = 0 3420 | 12:6/1 = 1 3421 | 12:6/1/flip_h = true 3422 | 12:6/2 = 2 3423 | 12:6/2/flip_v = true 3424 | 12:6/3 = 3 3425 | 12:6/3/flip_h = true 3426 | 12:6/3/flip_v = true 3427 | 12:6/4 = 4 3428 | 12:6/4/transpose = true 3429 | 12:6/5 = 5 3430 | 12:6/5/flip_h = true 3431 | 12:6/5/transpose = true 3432 | 12:6/6 = 6 3433 | 12:6/6/flip_v = true 3434 | 12:6/6/transpose = true 3435 | 12:6/7 = 7 3436 | 12:6/7/flip_h = true 3437 | 12:6/7/flip_v = true 3438 | 12:6/7/transpose = true 3439 | 12:7/next_alternative_id = 8 3440 | 12:7/0 = 0 3441 | 12:7/1 = 1 3442 | 12:7/1/flip_h = true 3443 | 12:7/2 = 2 3444 | 12:7/2/flip_v = true 3445 | 12:7/3 = 3 3446 | 12:7/3/flip_h = true 3447 | 12:7/3/flip_v = true 3448 | 12:7/4 = 4 3449 | 12:7/4/transpose = true 3450 | 12:7/5 = 5 3451 | 12:7/5/flip_h = true 3452 | 12:7/5/transpose = true 3453 | 12:7/6 = 6 3454 | 12:7/6/flip_v = true 3455 | 12:7/6/transpose = true 3456 | 12:7/7 = 7 3457 | 12:7/7/flip_h = true 3458 | 12:7/7/flip_v = true 3459 | 12:7/7/transpose = true 3460 | 12:8/next_alternative_id = 8 3461 | 12:8/0 = 0 3462 | 12:8/1 = 1 3463 | 12:8/1/flip_h = true 3464 | 12:8/2 = 2 3465 | 12:8/2/flip_v = true 3466 | 12:8/3 = 3 3467 | 12:8/3/flip_h = true 3468 | 12:8/3/flip_v = true 3469 | 12:8/4 = 4 3470 | 12:8/4/transpose = true 3471 | 12:8/5 = 5 3472 | 12:8/5/flip_h = true 3473 | 12:8/5/transpose = true 3474 | 12:8/6 = 6 3475 | 12:8/6/flip_v = true 3476 | 12:8/6/transpose = true 3477 | 12:8/7 = 7 3478 | 12:8/7/flip_h = true 3479 | 12:8/7/flip_v = true 3480 | 12:8/7/transpose = true 3481 | 12:9/next_alternative_id = 8 3482 | 12:9/0 = 0 3483 | 12:9/1 = 1 3484 | 12:9/1/flip_h = true 3485 | 12:9/2 = 2 3486 | 12:9/2/flip_v = true 3487 | 12:9/3 = 3 3488 | 12:9/3/flip_h = true 3489 | 12:9/3/flip_v = true 3490 | 12:9/4 = 4 3491 | 12:9/4/transpose = true 3492 | 12:9/5 = 5 3493 | 12:9/5/flip_h = true 3494 | 12:9/5/transpose = true 3495 | 12:9/6 = 6 3496 | 12:9/6/flip_v = true 3497 | 12:9/6/transpose = true 3498 | 12:9/7 = 7 3499 | 12:9/7/flip_h = true 3500 | 12:9/7/flip_v = true 3501 | 12:9/7/transpose = true 3502 | 12:10/next_alternative_id = 8 3503 | 12:10/0 = 0 3504 | 12:10/1 = 1 3505 | 12:10/1/flip_h = true 3506 | 12:10/2 = 2 3507 | 12:10/2/flip_v = true 3508 | 12:10/3 = 3 3509 | 12:10/3/flip_h = true 3510 | 12:10/3/flip_v = true 3511 | 12:10/4 = 4 3512 | 12:10/4/transpose = true 3513 | 12:10/5 = 5 3514 | 12:10/5/flip_h = true 3515 | 12:10/5/transpose = true 3516 | 12:10/6 = 6 3517 | 12:10/6/flip_v = true 3518 | 12:10/6/transpose = true 3519 | 12:10/7 = 7 3520 | 12:10/7/flip_h = true 3521 | 12:10/7/flip_v = true 3522 | 12:10/7/transpose = true 3523 | 12:11/next_alternative_id = 8 3524 | 12:11/0 = 0 3525 | 12:11/1 = 1 3526 | 12:11/1/flip_h = true 3527 | 12:11/2 = 2 3528 | 12:11/2/flip_v = true 3529 | 12:11/3 = 3 3530 | 12:11/3/flip_h = true 3531 | 12:11/3/flip_v = true 3532 | 12:11/4 = 4 3533 | 12:11/4/transpose = true 3534 | 12:11/5 = 5 3535 | 12:11/5/flip_h = true 3536 | 12:11/5/transpose = true 3537 | 12:11/6 = 6 3538 | 12:11/6/flip_v = true 3539 | 12:11/6/transpose = true 3540 | 12:11/7 = 7 3541 | 12:11/7/flip_h = true 3542 | 12:11/7/flip_v = true 3543 | 12:11/7/transpose = true 3544 | 12:12/next_alternative_id = 8 3545 | 12:12/0 = 0 3546 | 12:12/1 = 1 3547 | 12:12/1/flip_h = true 3548 | 12:12/2 = 2 3549 | 12:12/2/flip_v = true 3550 | 12:12/3 = 3 3551 | 12:12/3/flip_h = true 3552 | 12:12/3/flip_v = true 3553 | 12:12/4 = 4 3554 | 12:12/4/transpose = true 3555 | 12:12/5 = 5 3556 | 12:12/5/flip_h = true 3557 | 12:12/5/transpose = true 3558 | 12:12/6 = 6 3559 | 12:12/6/flip_v = true 3560 | 12:12/6/transpose = true 3561 | 12:12/7 = 7 3562 | 12:12/7/flip_h = true 3563 | 12:12/7/flip_v = true 3564 | 12:12/7/transpose = true 3565 | 3566 | [sub_resource type="TileSet" id="1"] 3567 | sources/0 = SubResource("TileSetAtlasSource_2f1t7") 3568 | 3569 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_etkdy"] 3570 | texture = ExtResource("2") 3571 | margins = Vector2i(16, 16) 3572 | 0:0/next_alternative_id = 8 3573 | 0:0/0 = 0 3574 | 0:0/1 = 1 3575 | 0:0/1/flip_h = true 3576 | 0:0/2 = 2 3577 | 0:0/2/flip_v = true 3578 | 0:0/3 = 3 3579 | 0:0/3/flip_h = true 3580 | 0:0/3/flip_v = true 3581 | 0:0/4 = 4 3582 | 0:0/4/transpose = true 3583 | 0:0/5 = 5 3584 | 0:0/5/flip_h = true 3585 | 0:0/5/transpose = true 3586 | 0:0/6 = 6 3587 | 0:0/6/flip_v = true 3588 | 0:0/6/transpose = true 3589 | 0:0/7 = 7 3590 | 0:0/7/flip_h = true 3591 | 0:0/7/flip_v = true 3592 | 0:0/7/transpose = true 3593 | 3594 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_heqqt"] 3595 | texture = ExtResource("2") 3596 | margins = Vector2i(32, 16) 3597 | 0:0/next_alternative_id = 8 3598 | 0:0/0 = 0 3599 | 0:0/1 = 1 3600 | 0:0/1/flip_h = true 3601 | 0:0/2 = 2 3602 | 0:0/2/flip_v = true 3603 | 0:0/3 = 3 3604 | 0:0/3/flip_h = true 3605 | 0:0/3/flip_v = true 3606 | 0:0/4 = 4 3607 | 0:0/4/transpose = true 3608 | 0:0/5 = 5 3609 | 0:0/5/flip_h = true 3610 | 0:0/5/transpose = true 3611 | 0:0/6 = 6 3612 | 0:0/6/flip_v = true 3613 | 0:0/6/transpose = true 3614 | 0:0/7 = 7 3615 | 0:0/7/flip_h = true 3616 | 0:0/7/flip_v = true 3617 | 0:0/7/transpose = true 3618 | 3619 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_2gj44"] 3620 | texture = ExtResource("2") 3621 | margins = Vector2i(80, 32) 3622 | 0:0/next_alternative_id = 8 3623 | 0:0/0 = 0 3624 | 0:0/1 = 1 3625 | 0:0/1/flip_h = true 3626 | 0:0/2 = 2 3627 | 0:0/2/flip_v = true 3628 | 0:0/3 = 3 3629 | 0:0/3/flip_h = true 3630 | 0:0/3/flip_v = true 3631 | 0:0/4 = 4 3632 | 0:0/4/transpose = true 3633 | 0:0/5 = 5 3634 | 0:0/5/flip_h = true 3635 | 0:0/5/transpose = true 3636 | 0:0/6 = 6 3637 | 0:0/6/flip_v = true 3638 | 0:0/6/transpose = true 3639 | 0:0/7 = 7 3640 | 0:0/7/flip_h = true 3641 | 0:0/7/flip_v = true 3642 | 0:0/7/transpose = true 3643 | 3644 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_4gme2"] 3645 | texture = ExtResource("2") 3646 | margins = Vector2i(96, 32) 3647 | 0:0/next_alternative_id = 8 3648 | 0:0/0 = 0 3649 | 0:0/1 = 1 3650 | 0:0/1/flip_h = true 3651 | 0:0/2 = 2 3652 | 0:0/2/flip_v = true 3653 | 0:0/3 = 3 3654 | 0:0/3/flip_h = true 3655 | 0:0/3/flip_v = true 3656 | 0:0/4 = 4 3657 | 0:0/4/transpose = true 3658 | 0:0/5 = 5 3659 | 0:0/5/flip_h = true 3660 | 0:0/5/transpose = true 3661 | 0:0/6 = 6 3662 | 0:0/6/flip_v = true 3663 | 0:0/6/transpose = true 3664 | 0:0/7 = 7 3665 | 0:0/7/flip_h = true 3666 | 0:0/7/flip_v = true 3667 | 0:0/7/transpose = true 3668 | 3669 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ik1nd"] 3670 | texture = ExtResource("2") 3671 | margins = Vector2i(112, 32) 3672 | 0:0/next_alternative_id = 8 3673 | 0:0/0 = 0 3674 | 0:0/1 = 1 3675 | 0:0/1/flip_h = true 3676 | 0:0/2 = 2 3677 | 0:0/2/flip_v = true 3678 | 0:0/3 = 3 3679 | 0:0/3/flip_h = true 3680 | 0:0/3/flip_v = true 3681 | 0:0/4 = 4 3682 | 0:0/4/transpose = true 3683 | 0:0/5 = 5 3684 | 0:0/5/flip_h = true 3685 | 0:0/5/transpose = true 3686 | 0:0/6 = 6 3687 | 0:0/6/flip_v = true 3688 | 0:0/6/transpose = true 3689 | 0:0/7 = 7 3690 | 0:0/7/flip_h = true 3691 | 0:0/7/flip_v = true 3692 | 0:0/7/transpose = true 3693 | 3694 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_q6rud"] 3695 | texture = ExtResource("2") 3696 | margins = Vector2i(128, 32) 3697 | 0:0/next_alternative_id = 8 3698 | 0:0/0 = 0 3699 | 0:0/1 = 1 3700 | 0:0/1/flip_h = true 3701 | 0:0/2 = 2 3702 | 0:0/2/flip_v = true 3703 | 0:0/3 = 3 3704 | 0:0/3/flip_h = true 3705 | 0:0/3/flip_v = true 3706 | 0:0/4 = 4 3707 | 0:0/4/transpose = true 3708 | 0:0/5 = 5 3709 | 0:0/5/flip_h = true 3710 | 0:0/5/transpose = true 3711 | 0:0/6 = 6 3712 | 0:0/6/flip_v = true 3713 | 0:0/6/transpose = true 3714 | 0:0/7 = 7 3715 | 0:0/7/flip_h = true 3716 | 0:0/7/flip_v = true 3717 | 0:0/7/transpose = true 3718 | 3719 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ah6dw"] 3720 | texture = ExtResource("2") 3721 | margins = Vector2i(144, 32) 3722 | 0:0/next_alternative_id = 8 3723 | 0:0/0 = 0 3724 | 0:0/1 = 1 3725 | 0:0/1/flip_h = true 3726 | 0:0/2 = 2 3727 | 0:0/2/flip_v = true 3728 | 0:0/3 = 3 3729 | 0:0/3/flip_h = true 3730 | 0:0/3/flip_v = true 3731 | 0:0/4 = 4 3732 | 0:0/4/transpose = true 3733 | 0:0/5 = 5 3734 | 0:0/5/flip_h = true 3735 | 0:0/5/transpose = true 3736 | 0:0/6 = 6 3737 | 0:0/6/flip_v = true 3738 | 0:0/6/transpose = true 3739 | 0:0/7 = 7 3740 | 0:0/7/flip_h = true 3741 | 0:0/7/flip_v = true 3742 | 0:0/7/transpose = true 3743 | 3744 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_khjej"] 3745 | texture = ExtResource("2") 3746 | margins = Vector2i(16, 48) 3747 | texture_region_size = Vector2i(16, 32) 3748 | 0:0/next_alternative_id = 8 3749 | 0:0/0 = 0 3750 | 0:0/1 = 1 3751 | 0:0/1/flip_h = true 3752 | 0:0/2 = 2 3753 | 0:0/2/flip_v = true 3754 | 0:0/3 = 3 3755 | 0:0/3/flip_h = true 3756 | 0:0/3/flip_v = true 3757 | 0:0/4 = 4 3758 | 0:0/4/transpose = true 3759 | 0:0/5 = 5 3760 | 0:0/5/flip_h = true 3761 | 0:0/5/transpose = true 3762 | 0:0/6 = 6 3763 | 0:0/6/flip_v = true 3764 | 0:0/6/transpose = true 3765 | 0:0/7 = 7 3766 | 0:0/7/flip_h = true 3767 | 0:0/7/flip_v = true 3768 | 0:0/7/transpose = true 3769 | 3770 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ffb7i"] 3771 | texture = ExtResource("2") 3772 | margins = Vector2i(32, 48) 3773 | texture_region_size = Vector2i(16, 32) 3774 | 0:0/next_alternative_id = 8 3775 | 0:0/0 = 0 3776 | 0:0/1 = 1 3777 | 0:0/1/flip_h = true 3778 | 0:0/2 = 2 3779 | 0:0/2/flip_v = true 3780 | 0:0/3 = 3 3781 | 0:0/3/flip_h = true 3782 | 0:0/3/flip_v = true 3783 | 0:0/4 = 4 3784 | 0:0/4/transpose = true 3785 | 0:0/5 = 5 3786 | 0:0/5/flip_h = true 3787 | 0:0/5/transpose = true 3788 | 0:0/6 = 6 3789 | 0:0/6/flip_v = true 3790 | 0:0/6/transpose = true 3791 | 0:0/7 = 7 3792 | 0:0/7/flip_h = true 3793 | 0:0/7/flip_v = true 3794 | 0:0/7/transpose = true 3795 | 3796 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_nyc5l"] 3797 | texture = ExtResource("2") 3798 | margins = Vector2i(80, 48) 3799 | texture_region_size = Vector2i(16, 32) 3800 | 0:0/next_alternative_id = 8 3801 | 0:0/0 = 0 3802 | 0:0/1 = 1 3803 | 0:0/1/flip_h = true 3804 | 0:0/2 = 2 3805 | 0:0/2/flip_v = true 3806 | 0:0/3 = 3 3807 | 0:0/3/flip_h = true 3808 | 0:0/3/flip_v = true 3809 | 0:0/4 = 4 3810 | 0:0/4/transpose = true 3811 | 0:0/5 = 5 3812 | 0:0/5/flip_h = true 3813 | 0:0/5/transpose = true 3814 | 0:0/6 = 6 3815 | 0:0/6/flip_v = true 3816 | 0:0/6/transpose = true 3817 | 0:0/7 = 7 3818 | 0:0/7/flip_h = true 3819 | 0:0/7/flip_v = true 3820 | 0:0/7/transpose = true 3821 | 3822 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_atwu8"] 3823 | texture = ExtResource("2") 3824 | margins = Vector2i(16, 80) 3825 | 0:0/next_alternative_id = 8 3826 | 0:0/0 = 0 3827 | 0:0/1 = 1 3828 | 0:0/1/flip_h = true 3829 | 0:0/2 = 2 3830 | 0:0/2/flip_v = true 3831 | 0:0/3 = 3 3832 | 0:0/3/flip_h = true 3833 | 0:0/3/flip_v = true 3834 | 0:0/4 = 4 3835 | 0:0/4/transpose = true 3836 | 0:0/5 = 5 3837 | 0:0/5/flip_h = true 3838 | 0:0/5/transpose = true 3839 | 0:0/6 = 6 3840 | 0:0/6/flip_v = true 3841 | 0:0/6/transpose = true 3842 | 0:0/7 = 7 3843 | 0:0/7/flip_h = true 3844 | 0:0/7/flip_v = true 3845 | 0:0/7/transpose = true 3846 | 3847 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_lhogv"] 3848 | texture = ExtResource("2") 3849 | margins = Vector2i(32, 80) 3850 | 0:0/next_alternative_id = 8 3851 | 0:0/0 = 0 3852 | 0:0/1 = 1 3853 | 0:0/1/flip_h = true 3854 | 0:0/2 = 2 3855 | 0:0/2/flip_v = true 3856 | 0:0/3 = 3 3857 | 0:0/3/flip_h = true 3858 | 0:0/3/flip_v = true 3859 | 0:0/4 = 4 3860 | 0:0/4/transpose = true 3861 | 0:0/5 = 5 3862 | 0:0/5/flip_h = true 3863 | 0:0/5/transpose = true 3864 | 0:0/6 = 6 3865 | 0:0/6/flip_v = true 3866 | 0:0/6/transpose = true 3867 | 0:0/7 = 7 3868 | 0:0/7/flip_h = true 3869 | 0:0/7/flip_v = true 3870 | 0:0/7/transpose = true 3871 | 3872 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_wr2rp"] 3873 | texture = ExtResource("2") 3874 | margins = Vector2i(48, 16) 3875 | 0:0/next_alternative_id = 8 3876 | 0:0/0 = 0 3877 | 0:0/1 = 1 3878 | 0:0/1/flip_h = true 3879 | 0:0/2 = 2 3880 | 0:0/2/flip_v = true 3881 | 0:0/3 = 3 3882 | 0:0/3/flip_h = true 3883 | 0:0/3/flip_v = true 3884 | 0:0/4 = 4 3885 | 0:0/4/transpose = true 3886 | 0:0/5 = 5 3887 | 0:0/5/flip_h = true 3888 | 0:0/5/transpose = true 3889 | 0:0/6 = 6 3890 | 0:0/6/flip_v = true 3891 | 0:0/6/transpose = true 3892 | 0:0/7 = 7 3893 | 0:0/7/flip_h = true 3894 | 0:0/7/flip_v = true 3895 | 0:0/7/transpose = true 3896 | 3897 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_wo5fa"] 3898 | texture = ExtResource("2") 3899 | margins = Vector2i(48, 80) 3900 | 0:0/next_alternative_id = 8 3901 | 0:0/0 = 0 3902 | 0:0/1 = 1 3903 | 0:0/1/flip_h = true 3904 | 0:0/2 = 2 3905 | 0:0/2/flip_v = true 3906 | 0:0/3 = 3 3907 | 0:0/3/flip_h = true 3908 | 0:0/3/flip_v = true 3909 | 0:0/4 = 4 3910 | 0:0/4/transpose = true 3911 | 0:0/5 = 5 3912 | 0:0/5/flip_h = true 3913 | 0:0/5/transpose = true 3914 | 0:0/6 = 6 3915 | 0:0/6/flip_v = true 3916 | 0:0/6/transpose = true 3917 | 0:0/7 = 7 3918 | 0:0/7/flip_h = true 3919 | 0:0/7/flip_v = true 3920 | 0:0/7/transpose = true 3921 | 3922 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kkyw6"] 3923 | texture = ExtResource("2") 3924 | margins = Vector2i(64, 80) 3925 | texture_region_size = Vector2i(32, 32) 3926 | 0:0/next_alternative_id = 8 3927 | 0:0/0 = 0 3928 | 0:0/1 = 1 3929 | 0:0/1/flip_h = true 3930 | 0:0/2 = 2 3931 | 0:0/2/flip_v = true 3932 | 0:0/3 = 3 3933 | 0:0/3/flip_h = true 3934 | 0:0/3/flip_v = true 3935 | 0:0/4 = 4 3936 | 0:0/4/transpose = true 3937 | 0:0/5 = 5 3938 | 0:0/5/flip_h = true 3939 | 0:0/5/transpose = true 3940 | 0:0/6 = 6 3941 | 0:0/6/flip_v = true 3942 | 0:0/6/transpose = true 3943 | 0:0/7 = 7 3944 | 0:0/7/flip_h = true 3945 | 0:0/7/flip_v = true 3946 | 0:0/7/transpose = true 3947 | 3948 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_w8cft"] 3949 | texture = ExtResource("2") 3950 | margins = Vector2i(32, 112) 3951 | 0:0/next_alternative_id = 8 3952 | 0:0/0 = 0 3953 | 0:0/1 = 1 3954 | 0:0/1/flip_h = true 3955 | 0:0/2 = 2 3956 | 0:0/2/flip_v = true 3957 | 0:0/3 = 3 3958 | 0:0/3/flip_h = true 3959 | 0:0/3/flip_v = true 3960 | 0:0/4 = 4 3961 | 0:0/4/transpose = true 3962 | 0:0/5 = 5 3963 | 0:0/5/flip_h = true 3964 | 0:0/5/transpose = true 3965 | 0:0/6 = 6 3966 | 0:0/6/flip_v = true 3967 | 0:0/6/transpose = true 3968 | 0:0/7 = 7 3969 | 0:0/7/flip_h = true 3970 | 0:0/7/flip_v = true 3971 | 0:0/7/transpose = true 3972 | 3973 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_x6xg4"] 3974 | texture = ExtResource("2") 3975 | margins = Vector2i(48, 96) 3976 | texture_region_size = Vector2i(16, 32) 3977 | 0:0/next_alternative_id = 8 3978 | 0:0/0 = 0 3979 | 0:0/1 = 1 3980 | 0:0/1/flip_h = true 3981 | 0:0/2 = 2 3982 | 0:0/2/flip_v = true 3983 | 0:0/3 = 3 3984 | 0:0/3/flip_h = true 3985 | 0:0/3/flip_v = true 3986 | 0:0/4 = 4 3987 | 0:0/4/transpose = true 3988 | 0:0/5 = 5 3989 | 0:0/5/flip_h = true 3990 | 0:0/5/transpose = true 3991 | 0:0/6 = 6 3992 | 0:0/6/flip_v = true 3993 | 0:0/6/transpose = true 3994 | 0:0/7 = 7 3995 | 0:0/7/flip_h = true 3996 | 0:0/7/flip_v = true 3997 | 0:0/7/transpose = true 3998 | 3999 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_5ic4p"] 4000 | texture = ExtResource("2") 4001 | margins = Vector2i(96, 112) 4002 | 0:0/next_alternative_id = 8 4003 | 0:0/0 = 0 4004 | 0:0/1 = 1 4005 | 0:0/1/flip_h = true 4006 | 0:0/2 = 2 4007 | 0:0/2/flip_v = true 4008 | 0:0/3 = 3 4009 | 0:0/3/flip_h = true 4010 | 0:0/3/flip_v = true 4011 | 0:0/4 = 4 4012 | 0:0/4/transpose = true 4013 | 0:0/5 = 5 4014 | 0:0/5/flip_h = true 4015 | 0:0/5/transpose = true 4016 | 0:0/6 = 6 4017 | 0:0/6/flip_v = true 4018 | 0:0/6/transpose = true 4019 | 0:0/7 = 7 4020 | 0:0/7/flip_h = true 4021 | 0:0/7/flip_v = true 4022 | 0:0/7/transpose = true 4023 | 4024 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_o0ei5"] 4025 | texture = ExtResource("2") 4026 | margins = Vector2i(32, 128) 4027 | texture_region_size = Vector2i(32, 32) 4028 | 0:0/next_alternative_id = 8 4029 | 0:0/0 = 0 4030 | 0:0/1 = 1 4031 | 0:0/1/flip_h = true 4032 | 0:0/2 = 2 4033 | 0:0/2/flip_v = true 4034 | 0:0/3 = 3 4035 | 0:0/3/flip_h = true 4036 | 0:0/3/flip_v = true 4037 | 0:0/4 = 4 4038 | 0:0/4/transpose = true 4039 | 0:0/5 = 5 4040 | 0:0/5/flip_h = true 4041 | 0:0/5/transpose = true 4042 | 0:0/6 = 6 4043 | 0:0/6/flip_v = true 4044 | 0:0/6/transpose = true 4045 | 0:0/7 = 7 4046 | 0:0/7/flip_h = true 4047 | 0:0/7/flip_v = true 4048 | 0:0/7/transpose = true 4049 | 4050 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_qcwn3"] 4051 | texture = ExtResource("2") 4052 | margins = Vector2i(64, 128) 4053 | texture_region_size = Vector2i(32, 32) 4054 | 0:0/next_alternative_id = 8 4055 | 0:0/0 = 0 4056 | 0:0/1 = 1 4057 | 0:0/1/flip_h = true 4058 | 0:0/2 = 2 4059 | 0:0/2/flip_v = true 4060 | 0:0/3 = 3 4061 | 0:0/3/flip_h = true 4062 | 0:0/3/flip_v = true 4063 | 0:0/4 = 4 4064 | 0:0/4/transpose = true 4065 | 0:0/5 = 5 4066 | 0:0/5/flip_h = true 4067 | 0:0/5/transpose = true 4068 | 0:0/6 = 6 4069 | 0:0/6/flip_v = true 4070 | 0:0/6/transpose = true 4071 | 0:0/7 = 7 4072 | 0:0/7/flip_h = true 4073 | 0:0/7/flip_v = true 4074 | 0:0/7/transpose = true 4075 | 4076 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_pfsed"] 4077 | texture = ExtResource("2") 4078 | margins = Vector2i(64, 16) 4079 | 0:0/next_alternative_id = 8 4080 | 0:0/0 = 0 4081 | 0:0/1 = 1 4082 | 0:0/1/flip_h = true 4083 | 0:0/2 = 2 4084 | 0:0/2/flip_v = true 4085 | 0:0/3 = 3 4086 | 0:0/3/flip_h = true 4087 | 0:0/3/flip_v = true 4088 | 0:0/4 = 4 4089 | 0:0/4/transpose = true 4090 | 0:0/5 = 5 4091 | 0:0/5/flip_h = true 4092 | 0:0/5/transpose = true 4093 | 0:0/6 = 6 4094 | 0:0/6/flip_v = true 4095 | 0:0/6/transpose = true 4096 | 0:0/7 = 7 4097 | 0:0/7/flip_h = true 4098 | 0:0/7/flip_v = true 4099 | 0:0/7/transpose = true 4100 | 4101 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_g0pgl"] 4102 | texture = ExtResource("2") 4103 | margins = Vector2i(80, 16) 4104 | 0:0/next_alternative_id = 8 4105 | 0:0/0 = 0 4106 | 0:0/1 = 1 4107 | 0:0/1/flip_h = true 4108 | 0:0/2 = 2 4109 | 0:0/2/flip_v = true 4110 | 0:0/3 = 3 4111 | 0:0/3/flip_h = true 4112 | 0:0/3/flip_v = true 4113 | 0:0/4 = 4 4114 | 0:0/4/transpose = true 4115 | 0:0/5 = 5 4116 | 0:0/5/flip_h = true 4117 | 0:0/5/transpose = true 4118 | 0:0/6 = 6 4119 | 0:0/6/flip_v = true 4120 | 0:0/6/transpose = true 4121 | 0:0/7 = 7 4122 | 0:0/7/flip_h = true 4123 | 0:0/7/flip_v = true 4124 | 0:0/7/transpose = true 4125 | 4126 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_bvkfv"] 4127 | texture = ExtResource("2") 4128 | margins = Vector2i(96, 16) 4129 | 0:0/next_alternative_id = 8 4130 | 0:0/0 = 0 4131 | 0:0/1 = 1 4132 | 0:0/1/flip_h = true 4133 | 0:0/2 = 2 4134 | 0:0/2/flip_v = true 4135 | 0:0/3 = 3 4136 | 0:0/3/flip_h = true 4137 | 0:0/3/flip_v = true 4138 | 0:0/4 = 4 4139 | 0:0/4/transpose = true 4140 | 0:0/5 = 5 4141 | 0:0/5/flip_h = true 4142 | 0:0/5/transpose = true 4143 | 0:0/6 = 6 4144 | 0:0/6/flip_v = true 4145 | 0:0/6/transpose = true 4146 | 0:0/7 = 7 4147 | 0:0/7/flip_h = true 4148 | 0:0/7/flip_v = true 4149 | 0:0/7/transpose = true 4150 | 4151 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_3us8s"] 4152 | texture = ExtResource("2") 4153 | margins = Vector2i(112, 16) 4154 | 0:0/next_alternative_id = 8 4155 | 0:0/0 = 0 4156 | 0:0/1 = 1 4157 | 0:0/1/flip_h = true 4158 | 0:0/2 = 2 4159 | 0:0/2/flip_v = true 4160 | 0:0/3 = 3 4161 | 0:0/3/flip_h = true 4162 | 0:0/3/flip_v = true 4163 | 0:0/4 = 4 4164 | 0:0/4/transpose = true 4165 | 0:0/5 = 5 4166 | 0:0/5/flip_h = true 4167 | 0:0/5/transpose = true 4168 | 0:0/6 = 6 4169 | 0:0/6/flip_v = true 4170 | 0:0/6/transpose = true 4171 | 0:0/7 = 7 4172 | 0:0/7/flip_h = true 4173 | 0:0/7/flip_v = true 4174 | 0:0/7/transpose = true 4175 | 4176 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0161x"] 4177 | texture = ExtResource("2") 4178 | margins = Vector2i(128, 16) 4179 | 0:0/next_alternative_id = 8 4180 | 0:0/0 = 0 4181 | 0:0/1 = 1 4182 | 0:0/1/flip_h = true 4183 | 0:0/2 = 2 4184 | 0:0/2/flip_v = true 4185 | 0:0/3 = 3 4186 | 0:0/3/flip_h = true 4187 | 0:0/3/flip_v = true 4188 | 0:0/4 = 4 4189 | 0:0/4/transpose = true 4190 | 0:0/5 = 5 4191 | 0:0/5/flip_h = true 4192 | 0:0/5/transpose = true 4193 | 0:0/6 = 6 4194 | 0:0/6/flip_v = true 4195 | 0:0/6/transpose = true 4196 | 0:0/7 = 7 4197 | 0:0/7/flip_h = true 4198 | 0:0/7/flip_v = true 4199 | 0:0/7/transpose = true 4200 | 4201 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_c5g6o"] 4202 | texture = ExtResource("2") 4203 | margins = Vector2i(144, 16) 4204 | 0:0/next_alternative_id = 8 4205 | 0:0/0 = 0 4206 | 0:0/1 = 1 4207 | 0:0/1/flip_h = true 4208 | 0:0/2 = 2 4209 | 0:0/2/flip_v = true 4210 | 0:0/3 = 3 4211 | 0:0/3/flip_h = true 4212 | 0:0/3/flip_v = true 4213 | 0:0/4 = 4 4214 | 0:0/4/transpose = true 4215 | 0:0/5 = 5 4216 | 0:0/5/flip_h = true 4217 | 0:0/5/transpose = true 4218 | 0:0/6 = 6 4219 | 0:0/6/flip_v = true 4220 | 0:0/6/transpose = true 4221 | 0:0/7 = 7 4222 | 0:0/7/flip_h = true 4223 | 0:0/7/flip_v = true 4224 | 0:0/7/transpose = true 4225 | 4226 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_j0n6s"] 4227 | texture = ExtResource("2") 4228 | margins = Vector2i(64, 32) 4229 | 0:0/next_alternative_id = 8 4230 | 0:0/0 = 0 4231 | 0:0/1 = 1 4232 | 0:0/1/flip_h = true 4233 | 0:0/2 = 2 4234 | 0:0/2/flip_v = true 4235 | 0:0/3 = 3 4236 | 0:0/3/flip_h = true 4237 | 0:0/3/flip_v = true 4238 | 0:0/4 = 4 4239 | 0:0/4/transpose = true 4240 | 0:0/5 = 5 4241 | 0:0/5/flip_h = true 4242 | 0:0/5/transpose = true 4243 | 0:0/6 = 6 4244 | 0:0/6/flip_v = true 4245 | 0:0/6/transpose = true 4246 | 0:0/7 = 7 4247 | 0:0/7/flip_h = true 4248 | 0:0/7/flip_v = true 4249 | 0:0/7/transpose = true 4250 | 4251 | [sub_resource type="TileSet" id="2"] 4252 | sources/0 = SubResource("TileSetAtlasSource_etkdy") 4253 | sources/1 = SubResource("TileSetAtlasSource_heqqt") 4254 | sources/2 = SubResource("TileSetAtlasSource_wr2rp") 4255 | sources/3 = SubResource("TileSetAtlasSource_pfsed") 4256 | sources/4 = SubResource("TileSetAtlasSource_g0pgl") 4257 | sources/5 = SubResource("TileSetAtlasSource_bvkfv") 4258 | sources/6 = SubResource("TileSetAtlasSource_3us8s") 4259 | sources/7 = SubResource("TileSetAtlasSource_0161x") 4260 | sources/8 = SubResource("TileSetAtlasSource_c5g6o") 4261 | sources/9 = SubResource("TileSetAtlasSource_j0n6s") 4262 | sources/10 = SubResource("TileSetAtlasSource_2gj44") 4263 | sources/11 = SubResource("TileSetAtlasSource_4gme2") 4264 | sources/12 = SubResource("TileSetAtlasSource_ik1nd") 4265 | sources/13 = SubResource("TileSetAtlasSource_q6rud") 4266 | sources/14 = SubResource("TileSetAtlasSource_ah6dw") 4267 | sources/15 = SubResource("TileSetAtlasSource_khjej") 4268 | sources/16 = SubResource("TileSetAtlasSource_ffb7i") 4269 | sources/17 = SubResource("TileSetAtlasSource_nyc5l") 4270 | sources/18 = SubResource("TileSetAtlasSource_atwu8") 4271 | sources/19 = SubResource("TileSetAtlasSource_lhogv") 4272 | sources/20 = SubResource("TileSetAtlasSource_wo5fa") 4273 | sources/21 = SubResource("TileSetAtlasSource_kkyw6") 4274 | sources/22 = SubResource("TileSetAtlasSource_w8cft") 4275 | sources/23 = SubResource("TileSetAtlasSource_x6xg4") 4276 | sources/24 = SubResource("TileSetAtlasSource_5ic4p") 4277 | sources/25 = SubResource("TileSetAtlasSource_o0ei5") 4278 | sources/26 = SubResource("TileSetAtlasSource_qcwn3") 4279 | 4280 | [node name="main" type="Node2D"] 4281 | script = ExtResource("8") 4282 | 4283 | [node name="TileMap" type="TileMap" parent="."] 4284 | texture_filter = 1 4285 | tile_set = SubResource("1") 4286 | format = 2 4287 | layer_0/tile_data = PackedInt32Array(-1, 65536, 8, -65536, 65536, 8, -65535, 65536, 8, -65534, 65536, 8, -65533, 65536, 8, -65532, 65536, 8, -65531, 65536, 8, -65530, 65536, 8, -65529, 65536, 8, -65528, 65536, 8, -65527, 65536, 8, -65526, 65536, 8, -65525, 65536, 8, -65524, 65536, 8, -65523, 65536, 8, -65522, 65536, 8, -65521, 65536, 8, -65520, 65536, 8, -65519, 65536, 8, -65518, 65536, 8, -65517, 65536, 8, -65516, 65536, 8, -65515, 65536, 8, -65514, 65536, 8, -65513, 65536, 8, -65512, 65536, 8, -65511, 65536, 8, -65510, 65536, 8, -65509, 65536, 8, -65508, 65536, 8, -65507, 65536, 8, -65506, 65536, 8, 65535, 65536, 8, 0, 0, 7, 1, 65536, 7, 2, 65536, 7, 3, 65536, 7, 4, 65536, 7, 5, 65536, 7, 6, 65536, 7, 7, 65536, 7, 8, 65536, 7, 9, 65536, 7, 10, 65536, 7, 11, 65536, 7, 12, 65536, 7, 13, 65536, 7, 14, 65536, 7, 15, 65536, 7, 16, 65536, 7, 17, 65536, 7, 18, 65536, 7, 19, 65536, 7, 20, 65536, 7, 21, 65536, 7, 22, 65536, 7, 23, 65536, 7, 24, 65536, 7, 25, 65536, 7, 26, 65536, 7, 27, 65536, 7, 28, 65536, 7, 29, 131072, 7, 30, 65536, 8, 131071, 65536, 8, 65536, 0, 11, 65537, 65536, 8, 65538, 65536, 8, 65539, 65536, 8, 65540, 65536, 8, 65541, 65536, 8, 65542, 65536, 8, 65543, 65536, 8, 65544, 65536, 8, 65545, 65536, 8, 65546, 65536, 8, 65547, 65536, 8, 65548, 65536, 8, 65549, 65536, 8, 65550, 65536, 8, 65551, 65536, 8, 65552, 65536, 8, 65553, 65536, 8, 65554, 65536, 8, 65555, 65536, 8, 65556, 65536, 8, 65557, 65536, 8, 65558, 65536, 8, 65559, 65536, 8, 65560, 65536, 8, 65561, 65536, 8, 65562, 65536, 8, 65563, 65536, 8, 65564, 65536, 8, 65565, 131072, 8, 65566, 65536, 8, 196607, 65536, 8, 131072, 0, 11, 131073, 65536, 8, 131074, 65536, 8, 131075, 65536, 8, 131076, 65536, 8, 131077, 65536, 8, 131078, 65536, 8, 131079, 65536, 8, 131080, 65536, 8, 131081, 65536, 8, 131082, 65536, 8, 131083, 65536, 8, 131084, 65536, 8, 131085, 65536, 8, 131086, 65536, 8, 131087, 65536, 8, 131088, 65536, 8, 131089, 65536, 8, 131090, 65536, 8, 131091, 65536, 8, 131092, 65536, 8, 131093, 65536, 8, 131094, 65536, 8, 131095, 65536, 8, 131096, 65536, 8, 131097, 65536, 8, 131098, 65536, 8, 131099, 65536, 8, 131100, 65536, 8, 131101, 131072, 8, 131102, 65536, 8, 262143, 65536, 8, 196608, 0, 11, 196609, 65536, 8, 196610, 65536, 8, 196611, 65536, 8, 196612, 65536, 8, 196613, 65536, 8, 196614, 65536, 8, 196615, 65536, 8, 196616, 65536, 8, 196617, 65536, 8, 196618, 65536, 8, 196619, 65536, 8, 196620, 65536, 8, 196621, 65536, 8, 196622, 65536, 8, 196623, 65536, 8, 196624, 65536, 8, 196625, 65536, 8, 196626, 65536, 8, 196627, 65536, 8, 196628, 65536, 8, 196629, 65536, 8, 196630, 65536, 8, 196631, 65536, 8, 196632, 65536, 8, 196633, 65536, 8, 196634, 65536, 8, 196635, 65536, 8, 196636, 65536, 8, 196637, 131072, 8, 196638, 65536, 8, 327679, 65536, 8, 262144, 0, 11, 262145, 65536, 8, 262146, 65536, 8, 262147, 65536, 8, 262148, 65536, 8, 262149, 65536, 8, 262150, 65536, 8, 262151, 65536, 8, 262152, 65536, 8, 262153, 65536, 8, 262154, 65536, 8, 262155, 65536, 8, 262156, 65536, 8, 262157, 65536, 8, 262158, 65536, 8, 262159, 65536, 8, 262160, 65536, 8, 262161, 65536, 8, 262162, 65536, 8, 262163, 65536, 8, 262164, 65536, 8, 262165, 65536, 8, 262166, 65536, 8, 262167, 65536, 8, 262168, 65536, 8, 262169, 65536, 8, 262170, 65536, 8, 262171, 65536, 8, 262172, 65536, 8, 262173, 131072, 8, 262174, 65536, 8, 393215, 65536, 8, 327680, 0, 11, 327681, 65536, 8, 327682, 65536, 8, 327683, 65536, 8, 327684, 65536, 8, 327685, 65536, 8, 327686, 65536, 8, 327687, 65536, 8, 327688, 65536, 8, 327689, 65536, 8, 327690, 65536, 8, 327691, 65536, 8, 327692, 65536, 8, 327693, 65536, 8, 327694, 65536, 8, 327695, 65536, 8, 327696, 65536, 8, 327697, 65536, 8, 327698, 65536, 8, 327699, 65536, 8, 327700, 65536, 8, 327701, 65536, 8, 327702, 65536, 8, 327703, 65536, 8, 327704, 65536, 8, 327705, 65536, 8, 327706, 65536, 8, 327707, 65536, 8, 327708, 65536, 8, 327709, 131072, 8, 327710, 65536, 8, 458751, 65536, 8, 393216, 0, 11, 393217, 65536, 8, 393218, 65536, 8, 393219, 65536, 8, 393220, 65536, 8, 393221, 65536, 8, 393222, 65536, 8, 393223, 65536, 8, 393224, 65536, 8, 393225, 65536, 8, 393226, 65536, 8, 393227, 65536, 8, 393228, 65536, 8, 393229, 65536, 8, 393230, 65536, 8, 393231, 65536, 8, 393232, 65536, 8, 393233, 65536, 8, 393234, 65536, 8, 393235, 65536, 8, 393236, 65536, 8, 393237, 65536, 8, 393238, 65536, 8, 393239, 65536, 8, 393240, 65536, 8, 393241, 65536, 8, 393242, 65536, 8, 393243, 65536, 8, 393244, 65536, 8, 393245, 131072, 8, 393246, 65536, 8, 524287, 65536, 8, 458752, 0, 11, 458753, 65536, 8, 458754, 65536, 8, 458755, 65536, 8, 458756, 65536, 8, 458757, 65536, 8, 458758, 65536, 8, 458759, 65536, 8, 458760, 65536, 8, 458761, 65536, 8, 458762, 65536, 8, 458763, 65536, 8, 458764, 65536, 8, 458765, 65536, 8, 458766, 65536, 8, 458767, 65536, 8, 458768, 65536, 8, 458769, 65536, 8, 458770, 65536, 8, 458771, 65536, 8, 458772, 65536, 8, 458773, 65536, 8, 458774, 65536, 8, 458775, 65536, 8, 458776, 65536, 8, 458777, 65536, 8, 458778, 65536, 8, 458779, 65536, 8, 458780, 65536, 8, 458781, 131072, 8, 458782, 65536, 8, 589823, 65536, 8, 524288, 0, 11, 524289, 65536, 8, 524290, 65536, 8, 524291, 65536, 8, 524292, 65536, 8, 524293, 65536, 8, 524294, 65536, 8, 524295, 65536, 8, 524296, 65536, 8, 524297, 65536, 8, 524298, 65536, 8, 524299, 65536, 8, 524300, 65536, 8, 524301, 65536, 8, 524302, 65536, 8, 524303, 65536, 8, 524304, 65536, 8, 524305, 65536, 8, 524306, 65536, 8, 524307, 65536, 8, 524308, 65536, 8, 524309, 65536, 8, 524310, 65536, 8, 524311, 65536, 8, 524312, 65536, 8, 524313, 65536, 8, 524314, 65536, 8, 524315, 65536, 8, 524316, 65536, 8, 524317, 131072, 8, 524318, 65536, 8, 655359, 65536, 8, 589824, 0, 11, 589825, 65536, 8, 589826, 65536, 8, 589827, 65536, 8, 589828, 65536, 8, 589829, 65536, 8, 589830, 65536, 8, 589831, 65536, 8, 589832, 65536, 8, 589833, 65536, 8, 589834, 65536, 8, 589835, 65536, 8, 589836, 65536, 8, 589837, 65536, 8, 589838, 65536, 8, 589839, 65536, 8, 589840, 65536, 8, 589841, 65536, 8, 589842, 65536, 8, 589843, 65536, 8, 589844, 65536, 8, 589845, 65536, 8, 589846, 65536, 8, 589847, 65536, 8, 589848, 65536, 8, 589849, 65536, 8, 589850, 65536, 8, 589851, 65536, 8, 589852, 65536, 8, 589853, 131072, 8, 589854, 65536, 8, 720895, 65536, 8, 655360, 0, 11, 655361, 65536, 8, 655362, 65536, 8, 655363, 65536, 8, 655364, 65536, 8, 655365, 65536, 8, 655366, 65536, 8, 655367, 65536, 8, 655368, 65536, 8, 655369, 65536, 8, 655370, 65536, 8, 655371, 65536, 8, 655372, 65536, 8, 655373, 65536, 8, 655374, 65536, 8, 655375, 65536, 8, 655376, 65536, 8, 655377, 65536, 8, 655378, 65536, 8, 655379, 65536, 8, 655380, 65536, 8, 655381, 65536, 8, 655382, 65536, 8, 655383, 65536, 8, 655384, 65536, 8, 655385, 65536, 8, 655386, 65536, 8, 655387, 65536, 8, 655388, 65536, 8, 655389, 131072, 8, 655390, 65536, 8, 786431, 65536, 8, 720896, 0, 11, 720897, 65536, 8, 720898, 65536, 8, 720899, 65536, 8, 720900, 65536, 8, 720901, 65536, 8, 720902, 65536, 8, 720903, 65536, 8, 720904, 65536, 8, 720905, 65536, 8, 720906, 65536, 8, 720907, 65536, 8, 720908, 65536, 8, 720909, 65536, 8, 720910, 65536, 8, 720911, 65536, 8, 720912, 65536, 8, 720913, 65536, 8, 720914, 65536, 8, 720915, 65536, 8, 720916, 65536, 8, 720917, 65536, 8, 720918, 65536, 8, 720919, 65536, 8, 720920, 65536, 8, 720921, 65536, 8, 720922, 65536, 8, 720923, 65536, 8, 720924, 65536, 8, 720925, 131072, 8, 720926, 65536, 8, 851967, 65536, 8, 786432, 0, 11, 786433, 65536, 8, 786434, 65536, 8, 786435, 65536, 8, 786436, 65536, 8, 786437, 0, 0, 786438, 65536, 0, 786439, 131072, 0, 786440, 65536, 8, 786441, 65536, 8, 786442, 65536, 8, 786443, 65536, 8, 786444, 65536, 8, 786445, 65536, 8, 786446, 65536, 8, 786447, 65536, 8, 786448, 65536, 8, 786449, 65536, 8, 786450, 65536, 8, 786451, 65536, 8, 786452, 65536, 8, 786453, 65536, 8, 786454, 65536, 8, 786455, 65536, 8, 786456, 65536, 8, 786457, 65536, 8, 786458, 65536, 8, 786459, 65536, 8, 786460, 65536, 8, 786461, 131072, 8, 786462, 65536, 8, 917503, 65536, 8, 851968, 0, 11, 851969, 65536, 8, 851970, 65536, 8, 851971, 65536, 8, 851972, 65536, 8, 851973, 0, 1, 851974, 65536, 1, 851975, 65536, 4, 851976, 65536, 8, 851977, 65536, 8, 851978, 65536, 8, 851979, 65536, 8, 851980, 65536, 8, 851981, 65536, 8, 851982, 65536, 8, 851983, 65536, 8, 851984, 65536, 8, 851985, 65536, 8, 851986, 65536, 8, 851987, 65536, 8, 851988, 65536, 8, 851989, 65536, 8, 851990, 65536, 8, 851991, 65536, 8, 851992, 65536, 8, 851993, 65536, 8, 851994, 65536, 8, 851995, 65536, 8, 851996, 65536, 8, 851997, 131072, 8, 851998, 65536, 8, 983039, 65536, 8, 917504, 0, 11, 917505, 65536, 8, 917506, 65536, 8, 917507, 65536, 8, 917508, 65536, 8, 917509, 0, 2, 917510, 65536, 2, 917511, 131072, 2, 917512, 65536, 8, 917513, 65536, 8, 917514, 65536, 8, 917515, 65536, 8, 917516, 65536, 8, 917517, 65536, 8, 917518, 65536, 8, 917519, 65536, 8, 917520, 65536, 8, 917521, 65536, 8, 917522, 65536, 8, 917523, 65536, 8, 917524, 65536, 8, 917525, 65536, 8, 917526, 65536, 8, 917527, 65536, 8, 917528, 65536, 8, 917529, 65536, 8, 917530, 65536, 8, 917531, 65536, 8, 917532, 65536, 8, 917533, 131072, 8, 917534, 65536, 8, 1048575, 65536, 8, 983040, 0, 11, 983041, 65536, 8, 983042, 65536, 8, 983043, 65536, 8, 983044, 65536, 8, 983045, 65536, 8, 983046, 65536, 8, 983047, 65536, 8, 983048, 65536, 8, 983049, 65536, 8, 983050, 65536, 8, 983051, 65536, 8, 983052, 65536, 8, 983053, 65536, 8, 983054, 65536, 8, 983055, 65536, 8, 983056, 65536, 8, 983057, 65536, 8, 983058, 65536, 8, 983059, 65536, 8, 983060, 65536, 8, 983061, 65536, 8, 983062, 65536, 8, 983063, 65536, 8, 983064, 65536, 8, 983065, 65536, 8, 983066, 65536, 8, 983067, 65536, 8, 983068, 65536, 8, 983069, 131072, 8, 983070, 65536, 8, 1114111, 65536, 8, 1048576, 0, 9, 1048577, 65536, 9, 1048578, 65536, 9, 1048579, 65536, 9, 1048580, 65536, 9, 1048581, 65536, 9, 1048582, 65536, 9, 1048583, 65536, 9, 1048584, 65536, 9, 1048585, 65536, 9, 1048586, 65536, 9, 1048587, 65536, 9, 1048588, 65536, 9, 1048589, 65536, 9, 1048590, 65536, 9, 1048591, 65536, 9, 1048592, 65536, 9, 1048593, 65536, 9, 1048594, 65536, 9, 1048595, 65536, 9, 1048596, 65536, 9, 1048597, 65536, 9, 1048598, 65536, 9, 1048599, 65536, 9, 1048600, 65536, 9, 1048601, 65536, 9, 1048602, 65536, 9, 1048603, 65536, 9, 1048604, 65536, 9, 1048605, 131072, 9, 1048606, 65536, 8, 1179647, 65536, 8, 1114112, 65536, 8, 1114113, 65536, 8, 1114114, 65536, 8, 1114115, 65536, 8, 1114116, 65536, 8, 1114117, 65536, 8, 1114118, 65536, 8, 1114119, 65536, 8, 1114120, 65536, 8, 1114121, 65536, 8, 1114122, 65536, 8, 1114123, 65536, 8, 1114124, 65536, 8, 1114125, 65536, 8, 1114126, 65536, 8, 1114127, 65536, 8, 1114128, 65536, 8, 1114129, 65536, 8, 1114130, 65536, 8, 1114131, 65536, 8, 1114132, 65536, 8, 1114133, 65536, 8, 1114134, 65536, 8, 1114135, 65536, 8, 1114136, 65536, 8, 1114137, 65536, 8, 1114138, 65536, 8, 1114139, 65536, 8, 1114140, 65536, 8, 1114141, 65536, 8, 1114142, 65536, 8) 4288 | 4289 | [node name="decoration" type="TileMap" parent="."] 4290 | texture_filter = 1 4291 | tile_set = SubResource("2") 4292 | format = 2 4293 | layer_0/tile_data = PackedInt32Array(-65531, 16, 0, -65530, 16, 0, 65537, 9, 0, 65545, 2, 0, 65552, 10, 0, 65560, 0, 0, 65561, 0, 0, 131074, 10, 0, 131090, 9, 0, 131096, 6, 0, 196630, 3, 0, 196634, 0, 0, 196635, 0, 0, 262157, 4, 0, 262168, 20, 0, 327686, 3, 0, 327693, 3, 0, 327703, 12, 0, 327704, 11, 0, 327706, 2, 0, 393217, 21, 0, 393226, 2, 0, 393243, 21, 0, 458755, 3, 0, 524303, 4, 0, 524305, 3, 0, 524312, 3, 0, 524315, 2, 0, 720897, 21, 0, 720923, 21, 0, 786445, 3, 0, 786449, 3, 0, 851993, 4, 0, 917506, 3, 0, 917526, 10, 0, 917532, 19, 0, 983051, 3, 0, 983062, 4, 0, 983067, 20, 0) 4294 | 4295 | [node name="tree" parent="." instance=ExtResource("5")] 4296 | position = Vector2(159, 62) 4297 | 4298 | [node name="tree2" parent="." instance=ExtResource("5")] 4299 | position = Vector2(175, 59) 4300 | 4301 | [node name="tree3" parent="." instance=ExtResource("5")] 4302 | position = Vector2(188, 65) 4303 | 4304 | [node name="tree4" parent="." instance=ExtResource("5")] 4305 | position = Vector2(308, 99) 4306 | 4307 | [node name="tree5" parent="." instance=ExtResource("5")] 4308 | position = Vector2(291, 99) 4309 | 4310 | [node name="tree6" parent="." instance=ExtResource("5")] 4311 | position = Vector2(276, 87) 4312 | 4313 | [node name="tree7" parent="." instance=ExtResource("5")] 4314 | position = Vector2(282, 220) 4315 | 4316 | [node name="tree8" parent="." instance=ExtResource("5")] 4317 | position = Vector2(297, 221) 4318 | 4319 | [node name="tree9" parent="." instance=ExtResource("5")] 4320 | position = Vector2(289, 240) 4321 | 4322 | [node name="tree10" parent="." instance=ExtResource("5")] 4323 | position = Vector2(94, 158) 4324 | 4325 | [node name="tree11" parent="." instance=ExtResource("5")] 4326 | position = Vector2(107, 158) 4327 | 4328 | [node name="tree12" parent="." instance=ExtResource("5")] 4329 | position = Vector2(100, 170) 4330 | 4331 | [node name="tree13" parent="." instance=ExtResource("5")] 4332 | position = Vector2(49, 79) 4333 | 4334 | [node name="tree14" parent="." instance=ExtResource("5")] 4335 | position = Vector2(42, 84) 4336 | 4337 | [node name="tree15" parent="." instance=ExtResource("5")] 4338 | position = Vector2(55, 84) 4339 | 4340 | [node name="wood_stock" parent="." instance=ExtResource("6")] 4341 | position = Vector2(151, 109) 4342 | 4343 | [node name="wood_stock2" parent="." instance=ExtResource("6")] 4344 | position = Vector2(167, 109) 4345 | 4346 | [node name="wood_stock3" parent="." instance=ExtResource("6")] 4347 | position = Vector2(160, 95) 4348 | 4349 | [node name="wood_stock4" parent="." instance=ExtResource("6")] 4350 | position = Vector2(332, 151) 4351 | 4352 | [node name="wood_stock5" parent="." instance=ExtResource("6")] 4353 | position = Vector2(157, 217) 4354 | 4355 | [node name="wood_stock6" parent="." instance=ExtResource("6")] 4356 | position = Vector2(422, 217) 4357 | 4358 | [node name="mushroom" parent="." instance=ExtResource("7")] 4359 | position = Vector2(138, 26) 4360 | 4361 | [node name="mushroom2" parent="." instance=ExtResource("7")] 4362 | position = Vector2(158, 26) 4363 | 4364 | [node name="mushroom3" parent="." instance=ExtResource("7")] 4365 | position = Vector2(247, 65) 4366 | 4367 | [node name="mushroom4" parent="." instance=ExtResource("7")] 4368 | position = Vector2(368, 178) 4369 | 4370 | [node name="mushroom7" parent="." instance=ExtResource("7")] 4371 | position = Vector2(347, 106) 4372 | 4373 | [node name="mushroom5" parent="." instance=ExtResource("7")] 4374 | position = Vector2(329, 200) 4375 | nutrition = 10 4376 | 4377 | [node name="mushroom6" parent="." instance=ExtResource("7")] 4378 | position = Vector2(187, 251) 4379 | 4380 | [node name="satyr" parent="." instance=ExtResource("4")] 4381 | position = Vector2(165.003, 153.876) 4382 | 4383 | [node name="troll" parent="." instance=ExtResource("3")] 4384 | position = Vector2(72, 33) 4385 | 4386 | [node name="hunger_timer" type="Timer" parent="."] 4387 | autostart = true 4388 | 4389 | [node name="HUD" type="CanvasLayer" parent="."] 4390 | 4391 | [node name="VBoxContainer" type="VBoxContainer" parent="HUD"] 4392 | anchors_preset = 15 4393 | anchor_right = 1.0 4394 | anchor_bottom = 1.0 4395 | alignment = 2 4396 | 4397 | [node name="MarginContainer" type="MarginContainer" parent="HUD/VBoxContainer"] 4398 | layout_mode = 2 4399 | theme_override_constants/margin_left = 5 4400 | 4401 | [node name="HBoxContainer" type="HBoxContainer" parent="HUD/VBoxContainer/MarginContainer"] 4402 | layout_mode = 2 4403 | 4404 | [node name="hunger_label" type="Label" parent="HUD/VBoxContainer/MarginContainer/HBoxContainer"] 4405 | layout_mode = 2 4406 | text = "Hunger" 4407 | 4408 | [node name="hunger" type="ProgressBar" parent="HUD/VBoxContainer/MarginContainer/HBoxContainer"] 4409 | custom_minimum_size = Vector2(100, 0) 4410 | layout_mode = 2 4411 | size_flags_vertical = 4 4412 | 4413 | [node name="reload" type="Button" parent="HUD/VBoxContainer/MarginContainer/HBoxContainer"] 4414 | layout_mode = 2 4415 | size_flags_horizontal = 8 4416 | size_flags_vertical = 0 4417 | text = "Reload" 4418 | 4419 | [node name="pause" type="Button" parent="HUD/VBoxContainer/MarginContainer/HBoxContainer"] 4420 | process_mode = 3 4421 | layout_mode = 2 4422 | size_flags_horizontal = 8 4423 | size_flags_vertical = 0 4424 | text = "Pause" 4425 | 4426 | [node name="console" type="Button" parent="HUD/VBoxContainer/MarginContainer/HBoxContainer"] 4427 | process_mode = 3 4428 | layout_mode = 2 4429 | size_flags_horizontal = 8 4430 | size_flags_vertical = 0 4431 | text = "Show Console" 4432 | 4433 | [node name="console_container" type="MarginContainer" parent="HUD"] 4434 | anchors_preset = 10 4435 | anchor_right = 1.0 4436 | offset_bottom = 60.0 4437 | grow_horizontal = 0 4438 | size_flags_vertical = 0 4439 | 4440 | [node name="TextEdit" type="TextEdit" parent="HUD/console_container" groups=["console"]] 4441 | process_mode = 3 4442 | modulate = Color(1, 1, 1, 0.752941) 4443 | custom_minimum_size = Vector2(150, 50) 4444 | layout_mode = 2 4445 | size_flags_horizontal = 3 4446 | size_flags_vertical = 0 4447 | theme_override_colors/font_readonly_color = Color(1, 1, 1, 1) 4448 | theme_override_font_sizes/font_size = 8 4449 | editable = false 4450 | shortcut_keys_enabled = false 4451 | virtual_keyboard_enabled = false 4452 | 4453 | [node name="cover" parent="." instance=ExtResource("9")] 4454 | position = Vector2(108, 32) 4455 | 4456 | [node name="cover2" parent="." instance=ExtResource("9")] 4457 | position = Vector2(400, 145) 4458 | 4459 | [node name="cover3" parent="." instance=ExtResource("9")] 4460 | position = Vector2(230, 230) 4461 | 4462 | [node name="firepit_spot" type="Marker2D" parent="." groups=["firepit_spot"]] 4463 | position = Vector2(189.468, 165.449) 4464 | 4465 | [connection signal="timeout" from="hunger_timer" to="." method="_on_hanger_timer_timeout"] 4466 | [connection signal="pressed" from="HUD/VBoxContainer/MarginContainer/HBoxContainer/reload" to="." method="_on_reload_pressed"] 4467 | [connection signal="pressed" from="HUD/VBoxContainer/MarginContainer/HBoxContainer/pause" to="." method="_on_pause_pressed"] 4468 | [connection signal="pressed" from="HUD/VBoxContainer/MarginContainer/HBoxContainer/console" to="." method="_on_console_pressed"] 4469 | --------------------------------------------------------------------------------