├── examples ├── Tiles.png ├── tiles.ase ├── WaterBorder.png ├── 2_with_border_and_collision │ ├── external_addons │ │ └── nine_patch_sprite_2d │ │ │ ├── plugin.cfg │ │ │ ├── plugin.gd │ │ │ ├── nine_patch_sprite_2d.svg │ │ │ ├── nine_patch_sprite_2d.svg.import │ │ │ └── nine_patch_sprite_2d.gd │ ├── shaders │ │ ├── water_group.tres │ │ └── water_group.gdshader │ └── WithBorderAndCollision.tscn ├── MainNode.gd ├── Water.tscn ├── HalfWater.tscn ├── WaterWithBorderAndCollision.gd ├── Tiles.png.import ├── WaterBorder.png.import ├── WaterWithBorderAndCollision.tscn ├── Tiles.tres └── 0_default │ └── Default.tscn └── addons └── liquidsimulator ├── icons ├── icon.png ├── icon.png.import ├── Liquid.svg.import ├── LiquidMap.svg.import ├── LiquidServer.svg.import ├── LiquidMap.svg ├── Liquid.svg └── LiquidServer.svg ├── plugin.cfg ├── LiquidSimulator.gd ├── LiquidMap.gd ├── Liquid.gd └── LiquidServer.gd /examples/Tiles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Marcel/2D-Liquid-Simulator/HEAD/examples/Tiles.png -------------------------------------------------------------------------------- /examples/tiles.ase: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Marcel/2D-Liquid-Simulator/HEAD/examples/tiles.ase -------------------------------------------------------------------------------- /examples/WaterBorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Marcel/2D-Liquid-Simulator/HEAD/examples/WaterBorder.png -------------------------------------------------------------------------------- /addons/liquidsimulator/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/L-Marcel/2D-Liquid-Simulator/HEAD/addons/liquidsimulator/icons/icon.png -------------------------------------------------------------------------------- /examples/2_with_border_and_collision/external_addons/nine_patch_sprite_2d/plugin.cfg: -------------------------------------------------------------------------------- 1 | [plugin] 2 | 3 | name="NinePatchSprite2D" 4 | description="A Node2D that displays a texture by keeping its corners intact, but tiling its edges and center." 5 | author="NinStar" 6 | version="24.04.11" 7 | script="plugin.gd" 8 | -------------------------------------------------------------------------------- /examples/2_with_border_and_collision/external_addons/nine_patch_sprite_2d/plugin.gd: -------------------------------------------------------------------------------- 1 | @tool 2 | extends EditorPlugin 3 | 4 | 5 | func _enter_tree() -> void: 6 | add_custom_type("NinePatchSprite2D", "Node2D", preload("nine_patch_sprite_2d.gd"), preload("nine_patch_sprite_2d.svg")) 7 | 8 | 9 | func _exit_tree(): 10 | remove_custom_type("NinePatchSprite2D") 11 | -------------------------------------------------------------------------------- /addons/liquidsimulator/plugin.cfg: -------------------------------------------------------------------------------- 1 | [plugin] 2 | 3 | name="LiquidSimulator" 4 | description="Originally created by Tterrasson and recreated by L-Marcel, this plugin offers a set of three classes to simulate the behavior of liquids. 5 | 6 | Links and more information in the repository README." 7 | author="Tterrasson & L-Marcel" 8 | version="1.0.2" 9 | script="LiquidSimulator.gd" 10 | activate_now=true 11 | -------------------------------------------------------------------------------- /examples/2_with_border_and_collision/shaders/water_group.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://collpa8uebpv2"] 2 | 3 | [ext_resource type="Shader" path="res://examples/2_with_border_and_collision/shaders/water_group.gdshader" id="1_b7i4o"] 4 | 5 | [resource] 6 | shader = ExtResource("1_b7i4o") 7 | shader_parameter/water_color = Color(0.560784, 0.827451, 1, 0.607843) 8 | shader_parameter/border_color = Color(0.180392, 0.133333, 0.184314, 1) 9 | shader_parameter/border_mask_alpha = 0.75 10 | -------------------------------------------------------------------------------- /examples/MainNode.gd: -------------------------------------------------------------------------------- 1 | extends Node2D 2 | 3 | @export var water_server : LiquidServer; 4 | 5 | func _input(event): 6 | if event is InputEventMouseButton && event.is_pressed(): 7 | if event.button_index == MOUSE_BUTTON_LEFT: 8 | var pos = Vector2i(get_local_mouse_position()/water_server.get_quadrant_size()); 9 | water_server.add_liquid(pos.x, pos.y, 1); 10 | elif event.button_index == MOUSE_BUTTON_RIGHT: 11 | var pos = Vector2i(get_local_mouse_position()/water_server.get_quadrant_size()); 12 | water_server.remove_liquid(pos.x, pos.y, 1); -------------------------------------------------------------------------------- /addons/liquidsimulator/LiquidSimulator.gd: -------------------------------------------------------------------------------- 1 | @tool 2 | extends EditorPlugin 3 | 4 | func _enter_tree() -> void: 5 | add_custom_type("Liquid", "Node2D", preload("Liquid.gd"), preload("./icons/Liquid.svg")); 6 | add_custom_type("LiquidServer", "Node", preload("LiquidServer.gd"), preload("./icons/LiquidServer.svg")); 7 | add_custom_type("LiquidMap", "Resource", preload("LiquidMap.gd"), preload("./icons/LiquidMap.svg")); 8 | 9 | func _exit_tree(): 10 | remove_custom_type("Liquid"); 11 | remove_custom_type("LiquidServer"); 12 | remove_custom_type("LiquidMap"); 13 | -------------------------------------------------------------------------------- /examples/2_with_border_and_collision/shaders/water_group.gdshader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | render_mode blend_premul_alpha; 3 | 4 | uniform vec4 water_color : source_color; 5 | uniform vec4 border_color : source_color; 6 | uniform float border_mask_alpha : hint_range(0.0, 1.0, 0.01) = 0.5; 7 | uniform sampler2D screen_texture : hint_screen_texture, filter_nearest, repeat_disable; 8 | 9 | void fragment() { 10 | COLOR = texture(screen_texture, SCREEN_UV); 11 | 12 | if (COLOR.a > 0.0) { 13 | if (COLOR.a >= border_mask_alpha) { 14 | COLOR = water_color; 15 | } else { 16 | COLOR = border_color; 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /addons/liquidsimulator/LiquidMap.gd: -------------------------------------------------------------------------------- 1 | class_name LiquidMap 2 | extends Resource 3 | 4 | ## Used by [LiquidServer] to pass the [TileMapLayer] to the server. 5 | ## It's needed to get [one_way_collision] property since tile's polygon will not be checked. 6 | 7 | ## The [TileMapLayer] to use. 8 | @export_node_path("TileMapLayer") var tile_map_path : NodePath; 9 | 10 | ## If [code]true[/code], the [LiquidServer] will only check for collisions in one direction (down). [br] 11 | ## [color=green]Tip:[/color] You can use this to simulate the principle of communicating vessels using more than one [TileMapLayer] in [LiquidServer]. 12 | @export var one_way_collision : bool = false; 13 | 14 | ## Ignore this property. 15 | var tile_map : TileMapLayer; 16 | -------------------------------------------------------------------------------- /examples/Water.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=3 uid="uid://b4fssv5ogweg"] 2 | 3 | [ext_resource type="Script" path="res://addons/liquidsimulator/Liquid.gd" id="1_licqf"] 4 | 5 | [sub_resource type="Gradient" id="Gradient_ggunt"] 6 | offsets = PackedFloat32Array(0) 7 | colors = PackedColorArray(0.157, 0.714, 1, 0.6) 8 | 9 | [sub_resource type="GradientTexture2D" id="GradientTexture2D_mkokw"] 10 | gradient = SubResource("Gradient_ggunt") 11 | width = 16 12 | height = 16 13 | 14 | [node name="Liquid" type="Node2D" node_paths=PackedStringArray("sprite")] 15 | script = ExtResource("1_licqf") 16 | sprite = NodePath("Sprite") 17 | max_opacity = 0.6 18 | 19 | [node name="Sprite" type="Sprite2D" parent="."] 20 | texture = SubResource("GradientTexture2D_mkokw") 21 | -------------------------------------------------------------------------------- /examples/HalfWater.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=3 uid="uid://bm6a2pjd43307"] 2 | 3 | [ext_resource type="Script" path="res://addons/liquidsimulator/Liquid.gd" id="1_54kyx"] 4 | 5 | [sub_resource type="Gradient" id="Gradient_ggunt"] 6 | offsets = PackedFloat32Array(0) 7 | colors = PackedColorArray(0.157, 0.714, 1, 0.6) 8 | 9 | [sub_resource type="GradientTexture2D" id="GradientTexture2D_mkokw"] 10 | gradient = SubResource("Gradient_ggunt") 11 | width = 16 12 | height = 16 13 | 14 | [node name="Liquid" type="Node2D" node_paths=PackedStringArray("sprite")] 15 | script = ExtResource("1_54kyx") 16 | sprite = NodePath("Sprite") 17 | max_opacity = 0.6 18 | default_amount = 0.5 19 | 20 | [node name="Sprite" type="Sprite2D" parent="."] 21 | scale = Vector2(1, 0.5) 22 | texture = SubResource("GradientTexture2D_mkokw") 23 | -------------------------------------------------------------------------------- /examples/WaterWithBorderAndCollision.gd: -------------------------------------------------------------------------------- 1 | class_name Water 2 | extends Liquid 3 | 4 | @export var border : NinePatchSprite2D; 5 | 6 | func _ready(): 7 | super._ready(); 8 | assert(border, "Water border is not set."); 9 | created.connect(on_created); 10 | refreshed.connect(on_refreshed); 11 | update_height(); 12 | update_width(); 13 | 14 | func update_height(): 15 | var sprite_height = (sprite.scale.y * texture_height); 16 | border.size.y = sprite_height + 2; 17 | border.position = sprite.position; 18 | visible = sprite_height >= 1; 19 | if sprite_height == 1: 20 | border.modulate.a = 0.25; 21 | else: 22 | border.modulate.a = 0.5; 23 | 24 | func update_width(): 25 | var sprite_width = (sprite.scale.x * texture_width); 26 | border.size.x = sprite_width + 2; 27 | 28 | func on_created(_server): 29 | update_height(); 30 | 31 | func on_refreshed(_server): 32 | update_height(); 33 | -------------------------------------------------------------------------------- /examples/Tiles.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://timkfa52sr01" 6 | path="res://.godot/imported/Tiles.png-81b6346cd127ea55818d51f9ff8eaa0c.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://examples/Tiles.png" 14 | dest_files=["res://.godot/imported/Tiles.png-81b6346cd127ea55818d51f9ff8eaa0c.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 | -------------------------------------------------------------------------------- /examples/2_with_border_and_collision/external_addons/nine_patch_sprite_2d/nine_patch_sprite_2d.svg: -------------------------------------------------------------------------------- 1 | 2 | © 2024 NinStar 3 | -------------------------------------------------------------------------------- /examples/WaterBorder.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://drth86xekjkfd" 6 | path="res://.godot/imported/WaterBorder.png-4e8c3e7b06473391cd63526c4ec03b8d.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://examples/WaterBorder.png" 14 | dest_files=["res://.godot/imported/WaterBorder.png-4e8c3e7b06473391cd63526c4ec03b8d.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 | -------------------------------------------------------------------------------- /addons/liquidsimulator/icons/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://ge1y1qiitknq" 6 | path="res://.godot/imported/icon.png-88d4ca8dbf90e5bb303c71cc8b27c30e.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/liquidsimulator/icons/icon.png" 14 | dest_files=["res://.godot/imported/icon.png-88d4ca8dbf90e5bb303c71cc8b27c30e.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 | -------------------------------------------------------------------------------- /addons/liquidsimulator/icons/Liquid.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cirdxxuqrep4a" 6 | path="res://.godot/imported/Liquid.svg-98aa6e30467f1ca50ff1eb8a6837ec2d.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/liquidsimulator/icons/Liquid.svg" 14 | dest_files=["res://.godot/imported/Liquid.svg-98aa6e30467f1ca50ff1eb8a6837ec2d.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 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /addons/liquidsimulator/icons/LiquidMap.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bb3vr6oe8366i" 6 | path="res://.godot/imported/LiquidMap.svg-08c9590757f024ac091119acc7ddf0e9.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/liquidsimulator/icons/LiquidMap.svg" 14 | dest_files=["res://.godot/imported/LiquidMap.svg-08c9590757f024ac091119acc7ddf0e9.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 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /addons/liquidsimulator/icons/LiquidServer.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c4vwed5jifbe5" 6 | path="res://.godot/imported/LiquidServer.svg-c66bf961c6fc71fc08ae67f80133f4bd.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://addons/liquidsimulator/icons/LiquidServer.svg" 14 | dest_files=["res://.godot/imported/LiquidServer.svg-c66bf961c6fc71fc08ae67f80133f4bd.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 | svg/scale=1.0 36 | editor/scale_with_editor_scale=false 37 | editor/convert_colors_with_editor_theme=false 38 | -------------------------------------------------------------------------------- /examples/2_with_border_and_collision/external_addons/nine_patch_sprite_2d/nine_patch_sprite_2d.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://b06iwi4geakkh" 6 | path="res://.godot/imported/nine_patch_sprite_2d.svg-7cd8666852874e0a94bf3127fbfce117.ctex" 7 | metadata={ 8 | "has_editor_variant": true, 9 | "vram_texture": false 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://examples/2_with_border_and_collision/external_addons/nine_patch_sprite_2d/nine_patch_sprite_2d.svg" 15 | dest_files=["res://.godot/imported/nine_patch_sprite_2d.svg-7cd8666852874e0a94bf3127fbfce117.ctex"] 16 | 17 | [params] 18 | 19 | compress/mode=0 20 | compress/high_quality=false 21 | compress/lossy_quality=0.7 22 | compress/hdr_compression=1 23 | compress/normal_map=0 24 | compress/channel_pack=0 25 | mipmaps/generate=false 26 | mipmaps/limit=-1 27 | roughness/mode=0 28 | roughness/src_normal="" 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/normal_map_invert_y=false 32 | process/hdr_as_srgb=false 33 | process/hdr_clamp_exposure=false 34 | process/size_limit=0 35 | detect_3d/compress_to=1 36 | svg/scale=1.0 37 | editor/scale_with_editor_scale=true 38 | editor/convert_colors_with_editor_theme=true 39 | -------------------------------------------------------------------------------- /examples/WaterWithBorderAndCollision.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=7 format=3 uid="uid://dcre3pq1g266o"] 2 | 3 | [ext_resource type="Script" path="res://examples/WaterWithBorderAndCollision.gd" id="1_scpyx"] 4 | [ext_resource type="Texture2D" uid="uid://drth86xekjkfd" path="res://examples/WaterBorder.png" id="3_1ivc5"] 5 | [ext_resource type="Script" path="res://examples/2_with_border_and_collision/external_addons/nine_patch_sprite_2d/nine_patch_sprite_2d.gd" id="3_61lxm"] 6 | 7 | [sub_resource type="Gradient" id="Gradient_bw88v"] 8 | offsets = PackedFloat32Array(0.00694444) 9 | colors = PackedColorArray(1, 1, 1, 1) 10 | 11 | [sub_resource type="GradientTexture2D" id="GradientTexture2D_6uoyx"] 12 | gradient = SubResource("Gradient_bw88v") 13 | width = 16 14 | height = 16 15 | 16 | [sub_resource type="RectangleShape2D" id="RectangleShape2D_ma8ck"] 17 | size = Vector2(14, 14) 18 | 19 | [node name="Water" type="Node2D" node_paths=PackedStringArray("border", "sprite")] 20 | script = ExtResource("1_scpyx") 21 | border = NodePath("Border") 22 | sprite = NodePath("Sprite") 23 | snap_pixel = true 24 | opacity_is_amount = false 25 | 26 | [node name="Border" type="Node2D" parent="."] 27 | modulate = Color(1, 1, 1, 0.5) 28 | script = ExtResource("3_61lxm") 29 | texture = ExtResource("3_1ivc5") 30 | size = Vector2(18, 18) 31 | patch_margin_left = 1 32 | patch_margin_top = 1 33 | patch_margin_right = 1 34 | patch_margin_bottom = 1 35 | 36 | [node name="Sprite" type="Sprite2D" parent="."] 37 | texture = SubResource("GradientTexture2D_6uoyx") 38 | 39 | [node name="Area2D" type="Area2D" parent="Sprite"] 40 | collision_layer = 0 41 | monitorable = false 42 | 43 | [node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite/Area2D"] 44 | shape = SubResource("RectangleShape2D_ma8ck") 45 | -------------------------------------------------------------------------------- /addons/liquidsimulator/Liquid.gd: -------------------------------------------------------------------------------- 1 | class_name Liquid 2 | extends Node2D 3 | 4 | ## A basic liquid class that can be used to create any kind of liquid. 5 | ## Used by [LiquidServer] to simulate liquid behavior. 6 | 7 | ## The sprite that will be used to represent the liquid. 8 | @export var sprite : Sprite2D; 9 | ## If [code]true[/code], the liquid will snap to the nearest pixel using [member Liquid.sprite.scale.y]. 10 | @export var snap_pixel : bool = false; 11 | ## If [code]true[/code], the liquid will be absorbed by the floor when [code]amount[/code] is less than [member LiquidServer.min_amount]. 12 | @export var floor_can_absorb : bool = false; 13 | ## If [code]true[/code], [member Liquid.sprite.modulate.a] is equals to amount. 14 | @export var opacity_is_amount : bool = true; 15 | ## The max value of [member Liquid.sprite.modulate.a]. 16 | @export var max_opacity : float = 1; 17 | ## The min value of [member Liquid.sprite.modulate.a]. 18 | @export var min_opacity : float = 0; 19 | ## The default amount of a previously added liquid in tile map. 20 | @export var default_amount : float = 1.0; 21 | 22 | # Region Signals 23 | ## Emitted when refreshed by [method LiquidServer.refresh_cell] is called. 24 | @warning_ignore("unused_signal") 25 | signal refreshed(server : LiquidServer); 26 | ## Emitted when amount is changed by [LiquidServer]. 27 | @warning_ignore("unused_signal") 28 | signal changed(server : LiquidServer); 29 | ## Emitted when this liquid is created by [LiquidServer]. 30 | @warning_ignore("unused_signal") 31 | signal created(server : LiquidServer); 32 | #endregion 33 | 34 | var _uid : int; 35 | var _x : int; 36 | var _y : int; 37 | 38 | ## The amount of liquid in this cell. 39 | var amount : float = 0; 40 | ## The amount of liquid that will be in this cell in the next iteration. 41 | var new_amount : float = 0; 42 | 43 | ## The liquid in the cell above this one. 44 | var top : Liquid; 45 | ## The liquid in the cell below this one. 46 | var bottom : Liquid; 47 | ## The liquid in the cell to the left of this one. 48 | var left : Liquid; 49 | ## The liquid in the cell to the right of this one. 50 | var right : Liquid; 51 | 52 | ## The width of the cell. 53 | var width : float = 0; 54 | ## The height of the cell. 55 | var height : float = 0; 56 | ## The width of the texture. 57 | var texture_width : float = 0; 58 | ## The height of the texture. 59 | var texture_height : float = 0; 60 | 61 | ## If [code]true[/code], the liquid will check if it has borders. 62 | var check_borders : bool = false; 63 | ## If [code]true[/code], the liquid has a border at the top. 64 | var border_top : bool = false; 65 | ## If [code]true[/code], the liquid has a border at the bottom. 66 | var border_bottom : bool = false; 67 | ## If [code]true[/code], the liquid has a border at the left. 68 | var border_left : bool = false; 69 | ## If [code]true[/code], the liquid has a border at the right. 70 | var border_right : bool = false; 71 | 72 | ## If [code]true[/code], the liquid has flow at the top. 73 | var bottom_has_flow : bool = false; 74 | ## Number of iterations of this liquid in [LiquidServer]. 75 | var iteration : int = 0; 76 | ## Number of falls, one fall is equivalent to one [member LiquidServer._quadrant_size]. 77 | var falls : int = 0; 78 | 79 | ## Returns the hash of the position. 80 | static func hash_position(x : int, y : int): 81 | var xx = x * 2 if x >= 0 else x * -2 - 1; 82 | var yy = y * 2 if y >= 0 else y * -2 - 1; 83 | return (xx * xx + xx + yy) if (xx >= yy) else (yy * yy + xx); 84 | 85 | ## Called when the node enters the scene tree for the first time. [br] 86 | ## [color=yellow]Warning:[/color] On override, call [code]super._ready()[/code]. 87 | func _ready(): 88 | assert(sprite, "Liquid sprite is not set."); 89 | ## Is recommended staying away from this method. 90 | func config( 91 | x : int, 92 | y : int, 93 | _amount : float, 94 | _server : LiquidServer 95 | ): 96 | assert(sprite, "Liquid sprite is not set."); 97 | _x = x; 98 | _y = y; 99 | _uid = Liquid.hash_position(_x, _y); 100 | 101 | amount = _amount; 102 | new_amount = _amount; 103 | texture_width = sprite.texture.get_width(); 104 | texture_height = sprite.texture.get_height(); 105 | var quadrant_size = _server.get_quadrant_size(); 106 | width = quadrant_size; 107 | height = quadrant_size; 108 | 109 | sprite.scale = fix_scale(Vector2(width / texture_width, height / texture_height)); 110 | 111 | #region Getters 112 | ## Returns the hash of the position (uid). 113 | func get_uid(): 114 | return _uid; 115 | ## Returns the cell's x position. 116 | func get_x(): 117 | return _x; 118 | ## Returns the cell's y position. 119 | func get_y(): 120 | return _y; 121 | #endregion 122 | 123 | #region Utils 124 | ## Returns [code]true[/code] if the liquid has borders. 125 | func has_border(): 126 | return border_top || border_bottom || border_left || border_right; 127 | ## Reset liquid borders. 128 | func reset_borders(): 129 | border_top = false; 130 | border_bottom = false; 131 | border_left = false; 132 | border_right = false; 133 | ## Reset liquid neighbors. 134 | func reset_neighbors(): 135 | top = null; 136 | bottom = null; 137 | left = null; 138 | right = null; 139 | ## Use when want to change the liquid scale and keep [code]snap_pixel[/code] property working. 140 | func fix_scale(_scale : Vector2): 141 | if snap_pixel: 142 | var new_height = floor(_scale.y * texture_height); 143 | var fixed_scale = new_height / texture_height; 144 | 145 | return Vector2(_scale.x, fixed_scale); 146 | else: 147 | return Vector2(_scale.x, _scale.y); 148 | #endregion 149 | -------------------------------------------------------------------------------- /addons/liquidsimulator/icons/LiquidMap.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /addons/liquidsimulator/icons/Liquid.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | -------------------------------------------------------------------------------- /addons/liquidsimulator/icons/LiquidServer.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | -------------------------------------------------------------------------------- /examples/2_with_border_and_collision/external_addons/nine_patch_sprite_2d/nine_patch_sprite_2d.gd: -------------------------------------------------------------------------------- 1 | @tool 2 | @icon("nine_patch_sprite_2d.svg") 3 | 4 | class_name NinePatchSprite2D extends Node2D 5 | 6 | 7 | ## A Node2D that displays a texture by keeping its corners intact, 8 | ## but tiling its edges and center. 9 | ## 10 | ## Also known as 9-slice panels, [b]NinePatchSprite2D[/b] produces 11 | ## clean panels of any size based on a small texture. 12 | ## To do so, it splits the texture in a 3×3 grid. 13 | ## When you scale the node, it tiles the texture's edges horizontally or 14 | ## vertically, tiles the center on both axes, and leaves the corners unchanged. 15 | 16 | 17 | ## Emitted when the sprite changes size. 18 | signal resized() 19 | 20 | 21 | enum AxisStretchMode { 22 | ## Stretches the center texture across the NinePatchSprite2D. 23 | ## This may cause the texture to be distorted. 24 | AXIS_STRETCH_MODE_STRETCH, 25 | ## Repeats the center texture across the NinePatchSprite2D. 26 | ## This won't cause any visible distortion. The texture must be seamless 27 | ## for this to work without displaying artifacts between edges. 28 | AXIS_STRETCH_MODE_TILE, 29 | ## Repeats the center texture across the NinePatchSprite2D, but will also 30 | ## stretch the texture to make sure each tile is visible in full. 31 | ## This may cause the texture to be distorted, but less than 32 | ## [param AXIS_STRETCH_MODE_TILE_STRETCH]. The texture must be seamless 33 | ## for this to work without displaying artifacts between edges. 34 | AXIS_STRETCH_MODE_TILE_FIT, 35 | } 36 | 37 | 38 | ## [Texture2D] object to draw. 39 | @export var texture: Texture2D: get = get_texture, set = set_texture 40 | 41 | ## The size of the sprite to be drawn. 42 | @export var size := Vector2(0.0, 0.0): get = get_size, set = set_size 43 | 44 | ## If [code]true[/code], draw the sprite's center. 45 | ## Else, only draw 9-slice's borders. 46 | @export var draw_center: bool = true: get = is_draw_center_enabled, set = set_draw_center 47 | 48 | ## Rectangular region of the texture to sample from. 49 | ## If you're working with an atlas, use this property to 50 | ## define the area the 9-slice should use. 51 | ## All other properties are relative to this one. 52 | ## If the rect is empty, NinePatchRect will use the whole texture. 53 | @export var region_rect: Rect2: get = get_region_rect, set = set_region_rect 54 | 55 | @export_group("Patch Margin", "patch_margin_") 56 | 57 | ## The width of the 9-slice's left column. A margin of 16 means the 58 | ## 9-slice's left corners and side will have a width of 16 pixels. 59 | ## You can set all 4 margin values individually to create 60 | ## panels with non-uniform borders. 61 | @export var patch_margin_left: int = 0: 62 | set(value): 63 | patch_margin_left = clampi(value, 0, 16384) 64 | set_size(size) 65 | 66 | ## The width of the 9-slice's top column. A margin of 16 means the 67 | ## 9-slice's left corners and side will have a width of 16 pixels. 68 | ## You can set all 4 margin values individually to create 69 | ## panels with non-uniform borders. 70 | @export var patch_margin_top: int = 0: 71 | set(value): 72 | patch_margin_top = clampi(value, 0, 16384) 73 | set_size(size) 74 | 75 | ## The width of the 9-slice's right column. A margin of 16 means the 76 | ## 9-slice's left corners and side will have a width of 16 pixels. 77 | ## You can set all 4 margin values individually to create 78 | ## panels with non-uniform borders. 79 | @export var patch_margin_right: int = 0: 80 | set(value): 81 | patch_margin_right = clampi(value, 0, 16384) 82 | set_size(size) 83 | 84 | ## The width of the 9-slice's bottom column. A margin of 16 means the 85 | ## 9-slice's left corners and side will have a width of 16 pixels. 86 | ## You can set all 4 margin values individually to create 87 | ## panels with non-uniform borders. 88 | @export var patch_margin_bottom: int = 0: 89 | set(value): 90 | patch_margin_bottom = clampi(value, 0, 16384) 91 | set_size(size) 92 | 93 | @export_group("Axis Stretch", "axis_stretch_") 94 | 95 | ## The stretch mode to use for horizontal stretching/tiling. 96 | ## See [enum NinePatchSprite2D.AxisStretchMode] for possible values. 97 | @export_enum("Stretch", "Tile", "Tile Fit") var axis_stretch_horizontal: int = 0: get = get_h_axis_stretch_mode, set = set_h_axis_stretch_mode 98 | 99 | ## The stretch mode to use for vertical stretching/tiling. 100 | ## See [enum NinePatchSprite2D.AxisStretchMode] for possible values. 101 | @export_enum("Stretch", "Tile", "Tile Fit") var axis_stretch_vertical: int = 0: get = get_v_axis_stretch_mode, set = set_v_axis_stretch_mode 102 | 103 | @export_group("Offset") 104 | 105 | ## If [code]true[/code], texture is centered. 106 | @export var centered: bool = true: get = is_centered, set = set_centered 107 | 108 | ## The texture's drawing offset. 109 | @export var offset := Vector2.ZERO: get = get_offset, set = set_offset 110 | 111 | ## If [code]true[/code], texture is flipped horizontally. 112 | @export var flip_h: bool = false: get = is_flipped_h, set = set_flip_h 113 | 114 | ## If [code]true[/code], texture is flipped vertically. 115 | @export var flip_v: bool = false: get = is_flipped_v, set = set_flip_v 116 | 117 | @export_group("Animation") 118 | 119 | ## The number of columns in the sprite sheet. 120 | @export var hframes: int = 1: get = get_hframes, set = set_hframes 121 | 122 | ## The number of rows in the sprite sheet. 123 | @export var vframes: int = 1: get = get_vframes, set = set_vframes 124 | 125 | ## Current frame to display from sprite sheet. 126 | ## [member hframes] or [member vframes] must be greater than 1. 127 | @export var frame: int = 0: get = get_frame, set = set_frame 128 | 129 | ## Coordinates of the frame to display from sprite sheet. 130 | ## This is as an alias for the [member frame] property. 131 | ## [member hframes] or [member vframes] must be greater than 1. 132 | @export var frame_coords := Vector2i.ZERO: get = get_frame_coords, set = set_frame_coords 133 | 134 | 135 | ## Returns the size of the margin on the specified [enum @GlobalScope.Side]. 136 | func get_patch_margin(margin: Side) -> int: 137 | match margin: 138 | Side.SIDE_LEFT: 139 | return patch_margin_left 140 | Side.SIDE_TOP: 141 | return patch_margin_top 142 | Side.SIDE_RIGHT: 143 | return patch_margin_right 144 | Side.SIDE_BOTTOM: 145 | return patch_margin_bottom 146 | _: 147 | return 0 148 | 149 | 150 | ## Sets the size of the margin on the specified 151 | ## [enum @GlobalScope.Side] to value [code]pixels[/code]. 152 | func set_patch_margin(margin: Side, value: int) -> void: 153 | match margin: 154 | Side.SIDE_LEFT: 155 | patch_margin_left = value 156 | Side.SIDE_TOP: 157 | patch_margin_top = value 158 | Side.SIDE_RIGHT: 159 | patch_margin_right = value 160 | Side.SIDE_BOTTOM: 161 | patch_margin_bottom = value 162 | 163 | #region Virtual methods 164 | 165 | func _notification(what: int) -> void: 166 | match what: 167 | NOTIFICATION_DRAW: 168 | # Return if there is no texture to draw 169 | if texture == null: 170 | return 171 | 172 | # Get the canvas item of this node 173 | var canvas_item: RID = get_canvas_item() 174 | var trans := Transform2D.IDENTITY 175 | var from: Rect2 = region_rect 176 | var to := Rect2(Vector2.ZERO, size) 177 | 178 | # Frame 179 | from.position += from.size * Vector2(frame_coords) 180 | 181 | # Center the rectangle 182 | if centered: 183 | to.position -= size / 2.0 184 | if flip_h: 185 | # Flip transformation horizontally 186 | trans *= Transform2D.FLIP_X 187 | 188 | # Shift offset if it is centered 189 | if not centered: 190 | to.position.x -= size.x 191 | if flip_v: 192 | # Flip transformation vertically 193 | trans *= Transform2D.FLIP_Y 194 | 195 | # Shift offset if it is centered 196 | if not centered: 197 | to.position.y -= size.y 198 | 199 | # Apply offset to the rectangle's position accordingly to the transform 200 | to.position += offset * Vector2(signf(trans.x.x), signf(trans.y.y)) 201 | 202 | # Apply transformation to the canvas item and draw a nine patch on it 203 | RenderingServer.canvas_item_add_set_transform(canvas_item, trans) 204 | RenderingServer.canvas_item_add_nine_patch(canvas_item, 205 | to, from, texture.get_rid(), 206 | Vector2(float(patch_margin_left), float(patch_margin_top)), 207 | Vector2(float(patch_margin_right), float(patch_margin_bottom)), 208 | axis_stretch_horizontal, axis_stretch_vertical, draw_center) 209 | 210 | #endregion 211 | #region Getters & Setters 212 | 213 | # Getters 214 | 215 | func get_texture() -> Texture2D: 216 | return texture 217 | 218 | 219 | func get_size() -> Vector2: 220 | return size 221 | 222 | 223 | func is_draw_center_enabled() -> bool: 224 | return draw_center 225 | 226 | 227 | func get_region_rect() -> Rect2: 228 | return region_rect 229 | 230 | 231 | func get_h_axis_stretch_mode() -> AxisStretchMode: 232 | return axis_stretch_horizontal as AxisStretchMode 233 | 234 | 235 | func get_v_axis_stretch_mode() -> AxisStretchMode: 236 | return axis_stretch_vertical as AxisStretchMode 237 | 238 | 239 | func is_centered() -> bool: 240 | return centered 241 | 242 | 243 | func get_offset() -> Vector2: 244 | return offset 245 | 246 | 247 | func is_flipped_h() -> bool: 248 | return flip_h 249 | 250 | 251 | func is_flipped_v() -> bool: 252 | return flip_v 253 | 254 | 255 | func get_hframes() -> int: 256 | return hframes 257 | 258 | 259 | func get_vframes() -> int: 260 | return vframes 261 | 262 | 263 | func get_frame() -> int: 264 | return frame 265 | 266 | 267 | func get_frame_coords() -> Vector2i: 268 | return frame_coords 269 | 270 | # Setters 271 | 272 | func set_texture(value: Texture2D) -> void: 273 | texture = value 274 | queue_redraw() 275 | 276 | 277 | func set_size(value: Vector2) -> void: 278 | var current_size: Vector2 = size 279 | size.x = maxf(float(patch_margin_left+patch_margin_right), value.x) 280 | size.y = maxf(float(patch_margin_top+patch_margin_bottom), value.y) 281 | queue_redraw() 282 | if current_size != size: 283 | resized.emit() 284 | 285 | 286 | func set_draw_center(value: bool) -> void: 287 | draw_center = value 288 | queue_redraw() 289 | 290 | 291 | func set_region_rect(value: Rect2) -> void: 292 | region_rect = value 293 | queue_redraw() 294 | 295 | 296 | func set_h_axis_stretch_mode(value: AxisStretchMode) -> void: 297 | axis_stretch_horizontal = value 298 | queue_redraw() 299 | 300 | 301 | func set_v_axis_stretch_mode(value: AxisStretchMode) -> void: 302 | axis_stretch_vertical = value 303 | queue_redraw() 304 | 305 | 306 | func set_centered(value: bool) -> void: 307 | centered = value 308 | queue_redraw() 309 | 310 | 311 | func set_offset(value: Vector2) -> void: 312 | offset = value 313 | queue_redraw() 314 | 315 | 316 | func set_flip_h(value: bool) -> void: 317 | flip_h = value 318 | queue_redraw() 319 | 320 | 321 | func set_flip_v(value: bool) -> void: 322 | flip_v = value 323 | queue_redraw() 324 | 325 | 326 | func set_hframes(value: int) -> void: 327 | hframes = maxi(1, value) 328 | if frame > hframes + vframes - 1: 329 | set_frame(frame) 330 | else: 331 | queue_redraw() 332 | 333 | 334 | func set_vframes(value: int) -> void: 335 | vframes = maxi(1, value) 336 | if frame > hframes + vframes - 1: 337 | set_frame(frame) 338 | else: 339 | queue_redraw() 340 | 341 | 342 | func set_frame(value: int) -> void: 343 | frame = clampi(value, 0, hframes * vframes - 1) 344 | var as_vec := Vector2i(frame % hframes, ceili(float(frame)/hframes)) 345 | if frame_coords != as_vec: 346 | set_frame_coords(as_vec) 347 | else: 348 | queue_redraw() 349 | 350 | 351 | func set_frame_coords(value: Vector2i) -> void: 352 | frame_coords = value.clamp(Vector2i.ZERO, Vector2i(hframes-1, vframes-1)) 353 | var as_int: int = frame_coords.x + (frame_coords.y * hframes) 354 | if frame != as_int: 355 | set_frame(as_int) 356 | else: 357 | queue_redraw() 358 | 359 | #endregion 360 | -------------------------------------------------------------------------------- /addons/liquidsimulator/LiquidServer.gd: -------------------------------------------------------------------------------- 1 | class_name LiquidServer 2 | extends Node 3 | 4 | ## Required for liquid simulation. 5 | ## This class is responsible for managing the liquid simulation. [br] 6 | ## [color=yellow]Warning:[/color] The simulation automatically starts when a liquid is added or removed and stops when needed to optimize performance. 7 | 8 | #region Variables 9 | ## The liquid scene to be used as a [Liquid] cell. 10 | @export var liquid : PackedScene; 11 | ## The refresh rate of the simulation. 12 | @export var refresh_rate : float = 0.08; 13 | ## The size of the quadrants. [br] 14 | ## [color=yellow]Warning:[/color] Small quadrants means more [Liquid] cels and less performance. 15 | ## Value used to determine when two amounts are close enough to be considered equal. [br] 16 | ## [color=yellow]Warning:[/color] This is only used in horizontal distribution to decide when it is no longer necessary to distribute the liquid across the surface. [br] 17 | ## [color=green]Tip: [/color] A higher value may make a slight difference in performance by making the system stop earlier, but this will harm horizontal distribution. 18 | @export var epsilon : float = 0.001; 19 | @export var _quadrant_size : int = 16 : 20 | set(value): 21 | if value >= 1: 22 | _quadrant_size = value; 23 | ## The [LiquidMap] array to be used. [br] 24 | ## [color=yellow]Warning:[/color] More maps means less performance. 25 | @export var _maps : Array[LiquidMap]; 26 | var _map : TileMapLayer; 27 | 28 | @export_group("Container") 29 | ## If [code]true[/code], the map will be used as the container. 30 | @export var _use_map_as_container : bool = true : 31 | set(value): 32 | _use_map_as_container = value; 33 | notify_property_list_changed(); 34 | ## The container to be used to put the [Liquid] instances. 35 | @export var _container : Node2D; 36 | ## If [code]true[/code], the container position will be changed to the map position. 37 | @export var _change_container_position : bool = true; 38 | 39 | @export_group("Iterations") 40 | ## The minimum amount of iterations before a cell is removed. 41 | @export_range(0, 100, 1) var cleanup_min_iterations : int = 5 : 42 | set(value): 43 | if value > 0: 44 | cleanup_min_iterations = value; 45 | ## The maximum amount of iterations of a cell. 46 | @export_range(0, 100, 1) var max_iterations : int = 10 : 47 | set(value): 48 | if value > 0: 49 | max_iterations = value; 50 | ## The maximum number of falls a cell can have to not be considered outside the map. [br] 51 | ## [color=yellow]Warning: [/color]Cells considered outside the map are excluded so that they do not fall forever. 52 | @export_range(10, 1000, 1) var max_falls : int = 100; 53 | 54 | @export_group("Amount") 55 | ## The maximum amount of [Liquid] that can be in a cell. 56 | @export_range(0.0, 1.0, 0.001) var max_amount : float = 1.0; 57 | ## The minimum amount of [Liquid] that can be in a cell. 58 | @export_range(0.0, 1.0, 0.001) var min_amount : float = 0.005; 59 | 60 | @export_group("Flow") 61 | ## The maximum flow value. 62 | @export_range(0.001, 1.0, 0.001) var max_flow_value : float = 1.0; 63 | ## The minimum [b]horizontal[/b] flow value. 64 | @export_range(0.001, 1.0, 0.001) var min_flow_value : float = 0.005; 65 | 66 | var _started : bool = false : 67 | set(value): 68 | _started = value; 69 | if value: 70 | started.emit(); 71 | else: 72 | _fall_flow = 0; 73 | _decompression_flow = 0; 74 | _left_flow = 0; 75 | _right_flow = 0; 76 | stopped.emit(); 77 | var _total_amount : float = 0; 78 | var _time_passed : float = 0; 79 | 80 | #region Monitor 81 | var _fall_flow : int = 0; 82 | var _decompression_flow : int = 0; 83 | var _left_flow : int = 0; 84 | var _right_flow : int = 0; 85 | #endregion 86 | 87 | var _cells : Array[Liquid] = []; 88 | var _cells_positions : Dictionary = {}; 89 | #endregion 90 | 91 | #region Signals 92 | ## Emitted when the simulation starts. 93 | signal started; 94 | ## Emitted when the simulation stops. 95 | signal stopped; 96 | ## Emitted when the simulation is updated. 97 | signal updated; 98 | #endregion 99 | 100 | func _ready(): 101 | assert(_maps.size() > 0, "Need to set at least one TileMapLayer!"); 102 | for i in _maps.size(): 103 | assert(_maps[i].tile_map_path, "TileMapLayer %d is not set!" % [i]); 104 | var map_node = get_node(_maps[i].tile_map_path); 105 | assert(map_node, "TileMapLayer %d is not found!" % [i]); 106 | _maps[i].tile_map = map_node; 107 | var factor : float = float(map_node.rendering_quadrant_size) / _quadrant_size; 108 | assert(factor >= 1 && floor(factor) == factor, "TileMapLayer %d quadrant size is not compatible with LiquidServer quadrant size!" % [i]); 109 | _map = _maps[0].tile_map; 110 | if _use_map_as_container: 111 | _container = _map; 112 | assert(_container, "Container is not set!"); 113 | if _change_container_position: 114 | _container.position = _map.position; 115 | Performance.add_custom_monitor("liquid/instances", _cells.size); 116 | Performance.add_custom_monitor("liquid/total_amount", get_total_amount); 117 | Performance.add_custom_monitor("liquid/is_running", func(): return int(is_running())); 118 | Performance.add_custom_monitor("liquid/fall_flow", _get_fall_flow); 119 | Performance.add_custom_monitor("liquid/decompression_flow", _get_decompression_flow); 120 | Performance.add_custom_monitor("liquid/left_flow", _get_left_flow); 121 | Performance.add_custom_monitor("liquid/right_flow", _get_right_flow); 122 | 123 | _map.update_internals(); 124 | var coords : Array[Vector3] = []; 125 | for map_child in _map.get_children(): 126 | if map_child is Liquid: 127 | var coord = _map.local_to_map(map_child.position); 128 | coords.append(Vector3(coord.x, coord.y, map_child.default_amount)); 129 | _map.erase_cell(coord); 130 | 131 | var factor : int = int(_map.rendering_quadrant_size / _quadrant_size); 132 | for coord in coords: 133 | for x in factor: 134 | for y in factor: 135 | add_liquid((coord.x * factor) + x, (coord.y * factor) + y, coord.z); 136 | 137 | start(); 138 | func _process(delta): 139 | if not _started: 140 | return; 141 | 142 | _time_passed += delta; 143 | if _time_passed >= refresh_rate: 144 | _fall_flow = 0; 145 | _decompression_flow = 0; 146 | _left_flow = 0; 147 | _right_flow = 0; 148 | 149 | var _updated = _update_simulation(); 150 | refresh_all(); 151 | updated.emit(); 152 | if !_updated: 153 | stop(); 154 | _time_passed = 0; 155 | #print(_total_amount); 156 | func _update_simulation(): 157 | var new_cells : Array[Liquid] = []; 158 | 159 | # Rules 160 | for cell in _cells: 161 | cell.reset_neighbors(); 162 | cell.bottom_has_flow = false; 163 | 164 | if cell.falls > max_falls: 165 | request_queue_free(cell); 166 | continue; 167 | 168 | if cell.amount <= min_amount && !_is_map_cell_empty(cell.get_x(), cell.get_y() + 1) && (cell.floor_can_absorb || cell.amount <= 0): 169 | request_queue_free(cell); 170 | continue; 171 | 172 | _apply_fall_rule(cell, new_cells); 173 | 174 | if cell.new_amount <= 0: 175 | request_queue_free(cell); 176 | continue; 177 | 178 | _apply_horizontal_rule(cell, new_cells); 179 | 180 | if cell.new_amount <= 0: 181 | request_queue_free(cell); 182 | continue; 183 | request_queue_free(cell); 184 | continue; 185 | 186 | _apply_decompression_rule(cell, new_cells); 187 | 188 | if cell.new_amount <= 0: 189 | request_queue_free(cell); 190 | 191 | # Add new cells 192 | for cell in new_cells: 193 | _cells.append(cell); 194 | 195 | # Update cell's values 196 | _total_amount = 0; 197 | var _updated : bool = false; 198 | for cell in _cells: 199 | if cell.amount == cell.new_amount: 200 | cell.iteration = min(cell.iteration + 1, max_iterations); 201 | if !_updated && cell.iteration < max_iterations: 202 | _updated = true; 203 | else: 204 | _updated = true; 205 | cell.amount = cell.new_amount; 206 | cell.iteration = 0; 207 | cell.changed.emit(self); 208 | #print("cell (%d, %d): %f" % [cell.get_x(), cell.get_y(), cell.amount]) 209 | _total_amount += cell.amount; 210 | 211 | return _updated; 212 | func _create_cell(x : int, y : int, amount : float): 213 | var instance : Liquid = liquid.instantiate(); 214 | instance.config(x, y, amount, self); 215 | instance.created.emit(self); 216 | _container.add_child(instance); 217 | refresh_cell(instance) 218 | return instance; 219 | 220 | #region Getters 221 | func _get_map_cell_by_position(x : int, y : int, map : TileMapLayer = _map): 222 | var qx = x * _quadrant_size; 223 | var qy = y * _quadrant_size; 224 | 225 | var xx = floor(qx / float(map.rendering_quadrant_size)); 226 | var yy = floor(qy / float(map.rendering_quadrant_size)); 227 | 228 | return map.get_cell_source_id(Vector2(xx, yy)); 229 | func _get_fall_flow(): 230 | return _fall_flow; 231 | func _get_decompression_flow(): 232 | return _decompression_flow; 233 | func _get_left_flow(): 234 | return _left_flow; 235 | func _get_right_flow(): 236 | return _right_flow; 237 | #endregion 238 | 239 | #region Rules 240 | func _apply_decompression_rule(cell : Liquid, new_cells : Array[Liquid]): 241 | if _is_map_top_cell_empty(cell.get_x(), cell.get_y()): 242 | var top_cell : Liquid = get_cell_by_position(cell.get_x(), cell.get_y() - 1); 243 | var flow : float = min(max(cell.new_amount - 1.0, 0), max_flow_value); 244 | 245 | if flow != 0: 246 | if !top_cell: 247 | top_cell = _create_cell(cell.get_x(), cell.get_y() - 1, 0); 248 | new_cells.append(top_cell); 249 | _cells_positions[top_cell.get_uid()] = top_cell; 250 | top_cell.new_amount += flow; 251 | cell.new_amount -= flow; 252 | _decompression_flow += 1; 253 | #print("flow top: ", cell.new_amount, " -> ", top_cell.new_amount, " (%f)" % [flow]); 254 | func _apply_fall_rule(cell : Liquid, new_cells : Array[Liquid]): 255 | if _is_map_bottom_cell_empty(cell.get_x(), cell.get_y()): 256 | var bottom_amount : float = 0; 257 | var bottom_cell : Liquid = get_cell_by_position(cell.get_x(), cell.get_y() + 1); 258 | if bottom_cell: 259 | bottom_amount = bottom_cell.new_amount; 260 | var flow : float = clamp(1 - bottom_amount, 0, min(max_flow_value, cell.new_amount)); 261 | 262 | if flow != 0: 263 | if !bottom_cell: 264 | bottom_cell = _create_cell(cell.get_x(), cell.get_y() + 1, 0); 265 | new_cells.append(bottom_cell); 266 | _cells_positions[bottom_cell.get_uid()] = bottom_cell; 267 | bottom_cell.falls = cell.falls + 1; 268 | bottom_cell.new_amount += flow; 269 | cell.bottom_has_flow = true; 270 | cell.new_amount -= flow; 271 | _fall_flow += 1; 272 | #print("flow bottom: ", cell.new_amount, " -> ", bottom_cell.new_amount, " (%f)" % [flow]); 273 | else: 274 | cell.falls = 0; 275 | func _apply_horizontal_rule(cell : Liquid, new_cells : Array[Liquid]): 276 | var left_is_empty = _is_map_left_cell_empty(cell.get_x(), cell.get_y()); 277 | var right_is_empty = _is_map_right_cell_empty(cell.get_x(), cell.get_y()); 278 | var distribution = 1; 279 | 280 | var left_amount : float = 0; 281 | var left_cell : Liquid; 282 | if left_is_empty: 283 | distribution += 1; 284 | left_cell = get_cell_by_position(cell.get_x() - 1, cell.get_y()); 285 | if left_cell: 286 | left_amount = left_cell.new_amount; 287 | 288 | var right_amount : float = 0; 289 | var right_cell : Liquid; 290 | if right_is_empty: 291 | distribution += 1; 292 | right_cell = get_cell_by_position(cell.get_x() + 1, cell.get_y()); 293 | if right_cell: 294 | right_amount = right_cell.new_amount; 295 | 296 | var accurate : float = min((cell.new_amount + left_amount + right_amount) / distribution, max_flow_value * distribution); 297 | if accurate > min_amount * distribution && _someone_is_different(cell.new_amount, left_amount, right_amount): 298 | if left_is_empty: 299 | _apply_horizontal_rule_on(true, cell, left_cell, new_cells, accurate); 300 | if right_is_empty: 301 | _apply_horizontal_rule_on(false, cell, right_cell, new_cells, accurate); 302 | func _apply_horizontal_rule_on(left : bool, cell : Liquid, neighbor_cell : Liquid, new_cells : Array[Liquid], flow : float): 303 | if !neighbor_cell: 304 | neighbor_cell = _create_cell(cell.get_x() + (-1 if left else 1), cell.get_y(), 0); 305 | new_cells.append(neighbor_cell); 306 | _cells_positions[neighbor_cell.get_uid()] = neighbor_cell; 307 | neighbor_cell.new_amount = flow; 308 | cell.new_amount = flow; 309 | if left: 310 | _left_flow += 1; 311 | else: 312 | _right_flow += 1; 313 | #print("flow left: " if left else "flow right: ", cell.new_amount, " -> ", neighbor_cell.new_amount, " (%f)" % [flow]); 314 | #endregion 315 | 316 | #region Checking 317 | func _someone_is_different(a : float, b : float, c : float): 318 | return !(_is_equal(a, b) && _is_equal(a, c) &&_is_equal(b, c)); 319 | func _is_equal(a : float, b : float): 320 | return abs(a - b) < epsilon; 321 | func _is_map_top_cell_empty(x : int, y : int): 322 | return _is_map_cell_empty(x, y - 1, Vector2i(0, -1)); 323 | func _is_map_bottom_cell_empty(x : int, y : int): 324 | return _is_map_cell_empty(x, y + 1, Vector2i(0, 1), true); 325 | func _is_map_left_cell_empty(x : int, y : int): 326 | return _is_map_cell_empty(x - 1, y, Vector2i(-1, 0)); 327 | func _is_map_right_cell_empty(x : int, y : int): 328 | return _is_map_cell_empty(x + 1, y, Vector2i(1, 0)); 329 | func _is_map_cell_empty(x : int, y : int, increments = Vector2i.ZERO, one_way : bool = false): 330 | for map in _maps: 331 | var map_cell = _get_map_cell_by_position(x, y, map.tile_map); 332 | 333 | if map.one_way_collision && _get_map_cell_by_position(x - increments.x, y - increments.y, map.tile_map) != -1: 334 | continue; 335 | 336 | if map_cell != -1 && (!map.one_way_collision || one_way): 337 | return false; 338 | return true; 339 | func _is_top_neightbor_valid(cell : Liquid): 340 | return cell.top && cell.top.amount >= min_amount; 341 | func _is_bottom_neightbor_valid(cell : Liquid): 342 | return cell.bottom && cell.bottom.amount >= min_amount; 343 | func _is_left_neightbor_valid(cell : Liquid): 344 | return cell.left && cell.left.amount >= min_amount; 345 | func _is_right_neightbor_valid(cell : Liquid): 346 | return cell.right && cell.right.amount >= min_amount; 347 | #endregion 348 | 349 | #region API 350 | ## Check if the simulation is running. 351 | func is_running() -> bool: 352 | return _started; 353 | ## Start the simulation. [br] 354 | ## [color=yellow]Warning:[/color] The simulation automatically starts when a [Liquid] is added or removed and stops when needed to optimize performance. 355 | func start() -> void: 356 | _started = true; 357 | ## Stop the simulation. [br] 358 | ## [color=yellow]Warning:[/color] The simulation automatically starts when a [Liquid] is added or removed and stops when needed to optimize performance. 359 | func stop() -> void: 360 | _started = false; 361 | ## Clear the simulation. [br] 362 | ## If [code]stop_after[/code] is [code]true[/code], the simulation will be stopped. 363 | func clear(stop_after : bool = true) -> void: 364 | for cell in _cells: 365 | _container.remove_child(cell); 366 | cell.queue_free(); 367 | _cells.clear(); 368 | _cells_positions.clear(); 369 | _total_amount = 0; 370 | if stop_after: 371 | stop(); 372 | ## Add an amount of [Liquid] in a cell. 373 | func add_liquid(x : int, y : int, amount : float) -> void: 374 | if !_is_map_cell_empty(x, y) || amount < 0: 375 | return; 376 | var cell : Liquid = get_cell_by_position(x, y); 377 | if !cell: 378 | cell = _create_cell(x, y, amount); 379 | _cells.append(cell); 380 | _cells_positions[cell.get_uid()] = cell; 381 | else: 382 | cell.new_amount += amount; 383 | start(); 384 | ## Remove an amount of [Liquid] in a cell. 385 | func remove_liquid(x : int, y : int, amount : float) -> void: 386 | if amount < 0: 387 | return; 388 | var cell : Liquid = get_cell_by_position(x, y); 389 | if cell: 390 | cell.new_amount -= amount; 391 | cell.new_amount = max(cell.new_amount, 0); 392 | start(); 393 | ## Update the amount of [Liquid] in a cell. 394 | func update_liquid(x : int, y : int, amount : float) -> void: 395 | if !_is_map_cell_empty(x, y) || amount < 0: 396 | return; 397 | var cell : Liquid = get_cell_by_position(x, y); 398 | if !cell: 399 | add_liquid(x, y, amount); 400 | else: 401 | cell.new_amount = amount; 402 | start(); 403 | ## Get the amount of [Liquid] in a cell. 404 | func get_liquid(x : int, y : int) -> float: 405 | var cell : Liquid = get_cell_by_position(x, y); 406 | if cell: 407 | return cell.amount; 408 | return 0; 409 | 410 | #region Refresh 411 | ## Refresh [Liquid]'s sprite, neighboors and borders. 412 | func refresh_cell(cell : Liquid) -> void: 413 | refresh_cell_neighboors(cell); 414 | refresh_cell_borders(cell); 415 | refresh_cell_sprite(cell); 416 | cell.refreshed.emit(self); 417 | ## Refresh [Liquid]'s borders if [code]check_boders[/code] is [code]true[/code]. 418 | func refresh_cell_borders(cell : Liquid) -> void: 419 | if !cell.check_borders: 420 | return; 421 | if cell.amount < min_amount: 422 | cell.border_top = false; 423 | cell.border_bottom = false; 424 | cell.border_left = false; 425 | cell.border_right = false; 426 | else: 427 | cell.border_top = !_is_top_neightbor_valid(cell) && _is_map_cell_empty(cell.get_x(), cell.get_y() - 1); 428 | cell.border_bottom = !_is_bottom_neightbor_valid(cell) && _is_map_cell_empty(cell.get_x(), cell.get_y() + 1); 429 | cell.border_left = !_is_left_neightbor_valid(cell) && _is_map_cell_empty(cell.get_x() - 1, cell.get_y()); 430 | cell.border_right = !_is_right_neightbor_valid(cell) && _is_map_cell_empty(cell.get_x() + 1, cell.get_y()); 431 | ## Refresh [Liquid]'s neighboors. 432 | func refresh_cell_neighboors(cell : Liquid) -> void: 433 | cell.left = get_cell_by_position(cell.get_x() - 1, cell.get_y()); 434 | cell.right = get_cell_by_position(cell.get_x() + 1, cell.get_y()); 435 | cell.top = get_cell_by_position(cell.get_x(), cell.get_y() - 1); 436 | cell.bottom = get_cell_by_position(cell.get_x(), cell.get_y() + 1); 437 | ## Refresh [Liquid]'s sprite. 438 | func refresh_cell_sprite(cell : Liquid) -> void: 439 | var translation : float; 440 | var scale : float = min(cell.amount, 1); 441 | if cell.opacity_is_amount: 442 | var max_opacity : float = cell.max_opacity; 443 | var min_opacity : float = cell.min_opacity; 444 | if cell.top: 445 | min_opacity = (max_opacity * 0.8); 446 | elif cell.bottom && cell.bottom.new_amount >= 1.0: 447 | min_opacity = (max_opacity / 2.0) + scale; 448 | cell.sprite.modulate.a = min(max(scale, min_opacity), max_opacity); 449 | 450 | if cell.top && (cell.top.amount >= min_amount || cell.top.bottom_has_flow): 451 | scale = 1; 452 | 453 | translation = (cell.height - floor(cell.height * scale)) / 2.0; 454 | if cell.snap_pixel: 455 | translation = (cell.height - floor(cell.height * scale)) / 2.0; 456 | else: 457 | translation = (cell.height - (cell.height * scale)) / 2.0; 458 | 459 | var qx = cell.get_x() * _quadrant_size; 460 | var qy = cell.get_y() * _quadrant_size; 461 | 462 | var rx = (qx % _map.rendering_quadrant_size); 463 | var ry = (qy % _map.rendering_quadrant_size); 464 | 465 | var xx = floor(qx / float(_map.rendering_quadrant_size)); 466 | var yy = floor(qy / float(_map.rendering_quadrant_size)); 467 | 468 | var diff = _map.rendering_quadrant_size - _quadrant_size; 469 | 470 | cell.position = _map.map_to_local(Vector2(xx, yy)) - Vector2((diff/2.0) - rx, (diff/2.0) - ry); 471 | 472 | cell.sprite.scale = cell.fix_scale(Vector2(cell.sprite.scale.x, (cell.height / cell.texture_height) * scale)); 473 | cell.sprite.position = Vector2(0, translation); 474 | ## Refresh all [Liquid]'s sprites, neighboors and borders. 475 | func refresh_all() -> void: 476 | for cell in _cells: 477 | refresh_cell(cell); 478 | #endregion 479 | 480 | #region Getters 481 | ## Get simulation's quadrant size. 482 | func get_quadrant_size() -> int: 483 | return _quadrant_size; 484 | ## Get simulation's total amount. [br] 485 | ## The total amount is the sum of all [Liquid]. 486 | func get_total_amount() -> float: 487 | return _total_amount; 488 | ## Get simulation's map. 489 | func get_map() -> TileMapLayer: 490 | return _map; 491 | ## Get simulation's container. 492 | func get_container() -> Node2D: 493 | return _container; 494 | ## Get simulation's [Liquid] by [code]uuid[/code]. 495 | func get_cell_by_uid(uid : int) -> Liquid: 496 | return _cells_positions.get(uid); 497 | ## Get simulation's [Liquid] by [code]position[/code]. 498 | func get_cell_by_position(x : int, y : int) -> Liquid: 499 | var uid : int = Liquid.hash_position(x, y); 500 | return _cells_positions.get(uid); 501 | #endregion 502 | 503 | #region Lifecycle 504 | ## Put a [Liquid] in the queue to be removed. 505 | func request_queue_free(cell : Liquid) -> void: 506 | if cell.iteration > cleanup_min_iterations: 507 | #print("clear: %f %f" % [cell.amount, cell.new_amount]); 508 | cleanup_cell(cell); 509 | ## Remove a [Liquid] from the simulation. [br] 510 | ## [color=yellow]Warning:[/color] The method [code]queue_free[/code] is called too. 511 | func cleanup_cell(cell : Liquid) -> void: 512 | cell.new_amount = 0; 513 | cell.amount = 0; 514 | _cells.erase(cell); 515 | _cells_positions.erase(cell.get_uid()); 516 | cell.queue_free(); 517 | #endregion 518 | #endregion 519 | -------------------------------------------------------------------------------- /examples/Tiles.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="TileSet" load_steps=16 format=3 uid="uid://c8wk4uvt8kkhe"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://timkfa52sr01" path="res://examples/Tiles.png" id="1_nrvit"] 4 | [ext_resource type="PackedScene" uid="uid://b4fssv5ogweg" path="res://examples/Water.tscn" id="2_xvati"] 5 | [ext_resource type="PackedScene" uid="uid://bm6a2pjd43307" path="res://examples/HalfWater.tscn" id="3_f26ac"] 6 | 7 | [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_s520x"] 8 | polygon = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 9 | 10 | [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_wgtnk"] 11 | polygon = PackedVector2Array(-8, -8, 8, -8, 8, 8, -6, 8, -6, 7, -7, 7, -7, 6, -8, 6) 12 | 13 | [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_g3vo7"] 14 | polygon = PackedVector2Array(-8, -8, 8, -8, 8, 8, -6, 8, -6, 7, -7, 7, -7, 6, -8, 6) 15 | 16 | [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_pjw8x"] 17 | polygon = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 18 | 19 | [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_0uasi"] 20 | polygon = PackedVector2Array(-8, -8, 8, -8, 8, 8, -6, 8, -6, 7, -7, 7, -7, 6, -8, 6) 21 | 22 | [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_nipqe"] 23 | polygon = PackedVector2Array(-8, -8, 8, -8, 8, 6, 7, 6, 7, 7, 6, 7, 6, 8, -8, 8) 24 | 25 | [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_6q7q3"] 26 | polygon = PackedVector2Array(-8, -8, 8, -8, 8, 6, 7, 6, 7, 7, 6, 7, 6, 8, -8, 8) 27 | 28 | [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_udkqn"] 29 | polygon = PackedVector2Array(-8, -8, 8, -8, 8, 6, 7, 6, 7, 7, 6, 7, 6, 8, -8, 8) 30 | 31 | [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_w5yue"] 32 | polygon = PackedVector2Array(-8, -8, 8, -8, 8, 6, 7, 6, 7, 7, 6, 7, 6, 8, -6, 8, -6, 7, -7, 7, -7, 6, -8, 5.96875) 33 | 34 | [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_ig5oe"] 35 | polygon = PackedVector2Array(-8, -8, 8, -8, 8, 6, 7, 6, 7, 7, 6, 7, 6, 8, -6, 8, -6, 7, -7, 7, -7, 6, -8, 5.96875) 36 | 37 | [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_e0ksi"] 38 | texture = ExtResource("1_nrvit") 39 | 0:0/0 = 0 40 | 0:0/0/terrain_set = 0 41 | 0:0/0/terrain = 0 42 | 0:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 43 | 0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 44 | 0:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 45 | 0:0/0/physics_layer_1/polygon_0/one_way = true 46 | 0:0/0/terrains_peering_bit/right_side = 0 47 | 0:0/0/terrains_peering_bit/bottom_right_corner = 0 48 | 0:0/0/terrains_peering_bit/bottom_side = 0 49 | 1:0/0 = 0 50 | 1:0/0/terrain_set = 0 51 | 1:0/0/terrain = 0 52 | 1:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 53 | 1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 54 | 1:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 55 | 1:0/0/physics_layer_1/polygon_0/one_way = true 56 | 1:0/0/terrains_peering_bit/right_side = 0 57 | 1:0/0/terrains_peering_bit/bottom_right_corner = 0 58 | 1:0/0/terrains_peering_bit/bottom_side = 0 59 | 1:0/0/terrains_peering_bit/bottom_left_corner = 0 60 | 1:0/0/terrains_peering_bit/left_side = 0 61 | 2:0/0 = 0 62 | 2:0/0/terrain_set = 0 63 | 2:0/0/terrain = 0 64 | 2:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 65 | 2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 66 | 2:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 67 | 2:0/0/physics_layer_1/polygon_0/one_way = true 68 | 2:0/0/terrains_peering_bit/bottom_side = 0 69 | 2:0/0/terrains_peering_bit/bottom_left_corner = 0 70 | 2:0/0/terrains_peering_bit/left_side = 0 71 | 3:0/0 = 0 72 | 3:0/0/terrain_set = 0 73 | 3:0/0/terrain = 0 74 | 3:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 75 | 3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 76 | 3:0/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 77 | 3:0/0/physics_layer_1/polygon_0/one_way = true 78 | 3:0/0/terrains_peering_bit/bottom_side = 0 79 | 4:0/0 = 0 80 | 4:0/0/terrain_set = 0 81 | 4:0/0/terrain = 0 82 | 4:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 83 | 4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 84 | 4:0/0/terrains_peering_bit/right_side = 0 85 | 4:0/0/terrains_peering_bit/bottom_side = 0 86 | 4:0/0/terrains_peering_bit/bottom_left_corner = 0 87 | 4:0/0/terrains_peering_bit/left_side = 0 88 | 4:0/0/terrains_peering_bit/top_left_corner = 0 89 | 4:0/0/terrains_peering_bit/top_side = 0 90 | 4:0/0/terrains_peering_bit/top_right_corner = 0 91 | 5:0/0 = 0 92 | 5:0/0/terrain_set = 0 93 | 5:0/0/terrain = 0 94 | 5:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 95 | 5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 96 | 5:0/0/terrains_peering_bit/right_side = 0 97 | 5:0/0/terrains_peering_bit/bottom_right_corner = 0 98 | 5:0/0/terrains_peering_bit/bottom_side = 0 99 | 5:0/0/terrains_peering_bit/left_side = 0 100 | 5:0/0/terrains_peering_bit/top_left_corner = 0 101 | 5:0/0/terrains_peering_bit/top_side = 0 102 | 5:0/0/terrains_peering_bit/top_right_corner = 0 103 | 6:0/0 = 0 104 | 6:0/0/terrain_set = 0 105 | 6:0/0/terrain = 0 106 | 6:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 107 | 6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 108 | 6:0/0/terrains_peering_bit/right_side = 0 109 | 6:0/0/terrains_peering_bit/bottom_right_corner = 0 110 | 6:0/0/terrains_peering_bit/bottom_side = 0 111 | 6:0/0/terrains_peering_bit/left_side = 0 112 | 6:0/0/terrains_peering_bit/top_side = 0 113 | 6:0/0/terrains_peering_bit/top_right_corner = 0 114 | 7:0/0 = 0 115 | 7:0/0/terrain_set = 0 116 | 7:0/0/terrain = 0 117 | 7:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 118 | 7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 119 | 7:0/0/terrains_peering_bit/right_side = 0 120 | 7:0/0/terrains_peering_bit/bottom_side = 0 121 | 7:0/0/terrains_peering_bit/bottom_left_corner = 0 122 | 7:0/0/terrains_peering_bit/left_side = 0 123 | 7:0/0/terrains_peering_bit/top_left_corner = 0 124 | 7:0/0/terrains_peering_bit/top_side = 0 125 | 8:0/0 = 0 126 | 8:0/0/terrain_set = 0 127 | 8:0/0/terrain = 0 128 | 8:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 129 | 8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 130 | 8:0/0/terrains_peering_bit/bottom_side = 0 131 | 8:0/0/terrains_peering_bit/left_side = 0 132 | 8:0/0/terrains_peering_bit/top_side = 0 133 | 9:0/0 = 0 134 | 9:0/0/terrain_set = 0 135 | 9:0/0/terrain = 0 136 | 9:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 137 | 9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 138 | 9:0/0/terrains_peering_bit/right_side = 0 139 | 9:0/0/terrains_peering_bit/bottom_side = 0 140 | 9:0/0/terrains_peering_bit/top_side = 0 141 | 10:0/0 = 0 142 | 10:0/0/terrain_set = 0 143 | 10:0/0/terrain = 0 144 | 10:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 145 | 10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 146 | 10:0/0/terrains_peering_bit/right_side = 0 147 | 10:0/0/terrains_peering_bit/bottom_side = 0 148 | 10:0/0/terrains_peering_bit/top_side = 0 149 | 10:0/0/terrains_peering_bit/top_right_corner = 0 150 | 11:0/0 = 0 151 | 11:0/0/terrain_set = 0 152 | 11:0/0/terrain = 0 153 | 11:0/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 154 | 11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 155 | 11:0/0/terrains_peering_bit/bottom_side = 0 156 | 11:0/0/terrains_peering_bit/left_side = 0 157 | 11:0/0/terrains_peering_bit/top_left_corner = 0 158 | 11:0/0/terrains_peering_bit/top_side = 0 159 | 0:1/0 = 0 160 | 0:1/0/terrain_set = 0 161 | 0:1/0/terrain = 0 162 | 0:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 163 | 0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 164 | 0:1/0/terrains_peering_bit/right_side = 0 165 | 0:1/0/terrains_peering_bit/bottom_right_corner = 0 166 | 0:1/0/terrains_peering_bit/bottom_side = 0 167 | 0:1/0/terrains_peering_bit/top_side = 0 168 | 0:1/0/terrains_peering_bit/top_right_corner = 0 169 | 1:1/0 = 0 170 | 1:1/0/terrain_set = 0 171 | 1:1/0/terrain = 0 172 | 1:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 173 | 1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 174 | 1:1/0/terrains_peering_bit/right_side = 0 175 | 1:1/0/terrains_peering_bit/bottom_right_corner = 0 176 | 1:1/0/terrains_peering_bit/bottom_side = 0 177 | 1:1/0/terrains_peering_bit/bottom_left_corner = 0 178 | 1:1/0/terrains_peering_bit/left_side = 0 179 | 1:1/0/terrains_peering_bit/top_left_corner = 0 180 | 1:1/0/terrains_peering_bit/top_side = 0 181 | 1:1/0/terrains_peering_bit/top_right_corner = 0 182 | 2:1/0 = 0 183 | 2:1/0/terrain_set = 0 184 | 2:1/0/terrain = 0 185 | 2:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 186 | 2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 187 | 2:1/0/terrains_peering_bit/bottom_side = 0 188 | 2:1/0/terrains_peering_bit/bottom_left_corner = 0 189 | 2:1/0/terrains_peering_bit/left_side = 0 190 | 2:1/0/terrains_peering_bit/top_left_corner = 0 191 | 2:1/0/terrains_peering_bit/top_side = 0 192 | 3:1/0 = 0 193 | 3:1/0/terrain_set = 0 194 | 3:1/0/terrain = 0 195 | 3:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 196 | 3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 197 | 3:1/0/terrains_peering_bit/bottom_side = 0 198 | 3:1/0/terrains_peering_bit/top_side = 0 199 | 4:1/0 = 0 200 | 4:1/0/terrain_set = 0 201 | 4:1/0/terrain = 0 202 | 4:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 203 | 4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 204 | 4:1/0/terrains_peering_bit/right_side = 0 205 | 4:1/0/terrains_peering_bit/bottom_right_corner = 0 206 | 4:1/0/terrains_peering_bit/bottom_side = 0 207 | 4:1/0/terrains_peering_bit/bottom_left_corner = 0 208 | 4:1/0/terrains_peering_bit/left_side = 0 209 | 4:1/0/terrains_peering_bit/top_left_corner = 0 210 | 4:1/0/terrains_peering_bit/top_side = 0 211 | 5:1/0 = 0 212 | 5:1/0/terrain_set = 0 213 | 5:1/0/terrain = 0 214 | 5:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 215 | 5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 216 | 5:1/0/terrains_peering_bit/right_side = 0 217 | 5:1/0/terrains_peering_bit/bottom_right_corner = 0 218 | 5:1/0/terrains_peering_bit/bottom_side = 0 219 | 5:1/0/terrains_peering_bit/bottom_left_corner = 0 220 | 5:1/0/terrains_peering_bit/left_side = 0 221 | 5:1/0/terrains_peering_bit/top_side = 0 222 | 5:1/0/terrains_peering_bit/top_right_corner = 0 223 | 6:1/0 = 0 224 | 6:1/0/terrain_set = 0 225 | 6:1/0/terrain = 0 226 | 6:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 227 | 6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 228 | 6:1/0/terrains_peering_bit/right_side = 0 229 | 6:1/0/terrains_peering_bit/bottom_side = 0 230 | 6:1/0/terrains_peering_bit/left_side = 0 231 | 6:1/0/terrains_peering_bit/top_left_corner = 0 232 | 6:1/0/terrains_peering_bit/top_side = 0 233 | 6:1/0/terrains_peering_bit/top_right_corner = 0 234 | 7:1/0 = 0 235 | 7:1/0/terrain_set = 0 236 | 7:1/0/terrain = 0 237 | 7:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 238 | 7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 239 | 7:1/0/terrains_peering_bit/right_side = 0 240 | 7:1/0/terrains_peering_bit/bottom_right_corner = 0 241 | 7:1/0/terrains_peering_bit/bottom_side = 0 242 | 7:1/0/terrains_peering_bit/bottom_left_corner = 0 243 | 7:1/0/terrains_peering_bit/left_side = 0 244 | 7:1/0/terrains_peering_bit/top_side = 0 245 | 8:1/0 = 0 246 | 8:1/0/terrain_set = 0 247 | 8:1/0/terrain = 0 248 | 8:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 249 | 8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 250 | 8:1/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 251 | 8:1/0/physics_layer_1/polygon_0/one_way = true 252 | 8:1/0/terrains_peering_bit/right_side = 0 253 | 8:1/0/terrains_peering_bit/bottom_side = 0 254 | 8:1/0/terrains_peering_bit/left_side = 0 255 | 9:1/0 = 0 256 | 9:1/0/terrain_set = 0 257 | 9:1/0/terrain = 0 258 | 9:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 259 | 9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 260 | 9:1/0/terrains_peering_bit/right_side = 0 261 | 9:1/0/terrains_peering_bit/left_side = 0 262 | 9:1/0/terrains_peering_bit/top_side = 0 263 | 10:1/0 = 0 264 | 10:1/0/terrain_set = 0 265 | 10:1/0/terrain = 0 266 | 10:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 267 | 10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 268 | 10:1/0/terrains_peering_bit/right_side = 0 269 | 10:1/0/terrains_peering_bit/bottom_right_corner = 0 270 | 10:1/0/terrains_peering_bit/bottom_side = 0 271 | 10:1/0/terrains_peering_bit/top_side = 0 272 | 11:1/0 = 0 273 | 11:1/0/terrain_set = 0 274 | 11:1/0/terrain = 0 275 | 11:1/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 276 | 11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 277 | 11:1/0/terrains_peering_bit/bottom_side = 0 278 | 11:1/0/terrains_peering_bit/bottom_left_corner = 0 279 | 11:1/0/terrains_peering_bit/left_side = 0 280 | 11:1/0/terrains_peering_bit/top_side = 0 281 | 0:2/0 = 0 282 | 0:2/0/terrain_set = 0 283 | 0:2/0/terrain = 0 284 | 0:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_wgtnk") 285 | 0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 286 | 0:2/0/terrains_peering_bit/right_side = 0 287 | 0:2/0/terrains_peering_bit/top_side = 0 288 | 0:2/0/terrains_peering_bit/top_right_corner = 0 289 | 1:2/0 = 0 290 | 1:2/0/terrain_set = 0 291 | 1:2/0/terrain = 0 292 | 1:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 293 | 1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 294 | 1:2/0/terrains_peering_bit/right_side = 0 295 | 1:2/0/terrains_peering_bit/left_side = 0 296 | 1:2/0/terrains_peering_bit/top_left_corner = 0 297 | 1:2/0/terrains_peering_bit/top_side = 0 298 | 1:2/0/terrains_peering_bit/top_right_corner = 0 299 | 2:2/0 = 0 300 | 2:2/0/terrain_set = 0 301 | 2:2/0/terrain = 0 302 | 2:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_6q7q3") 303 | 2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 304 | 2:2/0/terrains_peering_bit/left_side = 0 305 | 2:2/0/terrains_peering_bit/top_left_corner = 0 306 | 2:2/0/terrains_peering_bit/top_side = 0 307 | 3:2/0 = 0 308 | 3:2/0/terrain_set = 0 309 | 3:2/0/terrain = 0 310 | 3:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_w5yue") 311 | 3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 312 | 3:2/0/terrains_peering_bit/top_side = 0 313 | 4:2/0 = 0 314 | 4:2/0/terrain_set = 0 315 | 4:2/0/terrain = 0 316 | 4:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 317 | 4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 318 | 4:2/0/terrains_peering_bit/right_side = 0 319 | 4:2/0/terrains_peering_bit/bottom_right_corner = 0 320 | 4:2/0/terrains_peering_bit/bottom_side = 0 321 | 4:2/0/terrains_peering_bit/left_side = 0 322 | 4:2/0/terrains_peering_bit/top_left_corner = 0 323 | 4:2/0/terrains_peering_bit/top_side = 0 324 | 5:2/0 = 0 325 | 5:2/0/terrain_set = 0 326 | 5:2/0/terrain = 0 327 | 5:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 328 | 5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 329 | 5:2/0/terrains_peering_bit/right_side = 0 330 | 5:2/0/terrains_peering_bit/bottom_side = 0 331 | 5:2/0/terrains_peering_bit/bottom_left_corner = 0 332 | 5:2/0/terrains_peering_bit/left_side = 0 333 | 5:2/0/terrains_peering_bit/top_side = 0 334 | 5:2/0/terrains_peering_bit/top_right_corner = 0 335 | 6:2/0 = 0 336 | 6:2/0/terrain_set = 0 337 | 6:2/0/terrain = 0 338 | 6:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 339 | 6:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 340 | 6:2/0/terrains_peering_bit/right_side = 0 341 | 6:2/0/terrains_peering_bit/bottom_right_corner = 0 342 | 6:2/0/terrains_peering_bit/bottom_side = 0 343 | 6:2/0/terrains_peering_bit/left_side = 0 344 | 6:2/0/terrains_peering_bit/top_side = 0 345 | 7:2/0 = 0 346 | 7:2/0/terrain_set = 0 347 | 7:2/0/terrain = 0 348 | 7:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 349 | 7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 350 | 7:2/0/terrains_peering_bit/right_side = 0 351 | 7:2/0/terrains_peering_bit/bottom_side = 0 352 | 7:2/0/terrains_peering_bit/bottom_left_corner = 0 353 | 7:2/0/terrains_peering_bit/left_side = 0 354 | 7:2/0/terrains_peering_bit/top_side = 0 355 | 8:2/0 = 0 356 | 8:2/0/terrain_set = 0 357 | 8:2/0/terrain = 0 358 | 8:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 359 | 8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 360 | 8:2/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 361 | 8:2/0/physics_layer_1/polygon_0/one_way = true 362 | 8:2/0/terrains_peering_bit/right_side = 0 363 | 8:2/0/terrains_peering_bit/bottom_side = 0 364 | 8:2/0/terrains_peering_bit/bottom_left_corner = 0 365 | 8:2/0/terrains_peering_bit/left_side = 0 366 | 9:2/0 = 0 367 | 9:2/0/terrain_set = 0 368 | 9:2/0/terrain = 0 369 | 9:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 370 | 9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 371 | 9:2/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 372 | 9:2/0/physics_layer_1/polygon_0/one_way = true 373 | 9:2/0/terrains_peering_bit/right_side = 0 374 | 9:2/0/terrains_peering_bit/bottom_right_corner = 0 375 | 9:2/0/terrains_peering_bit/bottom_side = 0 376 | 9:2/0/terrains_peering_bit/left_side = 0 377 | 10:2/0 = 0 378 | 10:2/0/terrain_set = 0 379 | 10:2/0/terrain = 0 380 | 10:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 381 | 10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 382 | 10:2/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 383 | 10:2/0/physics_layer_1/polygon_0/one_way = true 384 | 10:2/0/terrains_peering_bit/right_side = 0 385 | 10:2/0/terrains_peering_bit/bottom_side = 0 386 | 11:2/0 = 0 387 | 11:2/0/terrain_set = 0 388 | 11:2/0/terrain = 0 389 | 11:2/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 390 | 11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 391 | 11:2/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 392 | 11:2/0/physics_layer_1/polygon_0/one_way = true 393 | 11:2/0/terrains_peering_bit/bottom_side = 0 394 | 11:2/0/terrains_peering_bit/left_side = 0 395 | 0:3/0 = 0 396 | 0:3/0/terrain_set = 0 397 | 0:3/0/terrain = 0 398 | 0:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_g3vo7") 399 | 0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 400 | 0:3/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 401 | 0:3/0/physics_layer_1/polygon_0/one_way = true 402 | 0:3/0/terrains_peering_bit/right_side = 0 403 | 1:3/0 = 0 404 | 1:3/0/terrain_set = 0 405 | 1:3/0/terrain = 0 406 | 1:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_s520x") 407 | 1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 408 | 1:3/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 409 | 1:3/0/physics_layer_1/polygon_0/one_way = true 410 | 1:3/0/terrains_peering_bit/right_side = 0 411 | 1:3/0/terrains_peering_bit/left_side = 0 412 | 2:3/0 = 0 413 | 2:3/0/terrain_set = 0 414 | 2:3/0/terrain = 0 415 | 2:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_udkqn") 416 | 2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 417 | 2:3/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 418 | 2:3/0/physics_layer_1/polygon_0/one_way = true 419 | 2:3/0/terrains_peering_bit/left_side = 0 420 | 3:3/0 = 0 421 | 3:3/0/terrain_set = 0 422 | 3:3/0/terrain = 0 423 | 3:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_ig5oe") 424 | 3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, 8, -8, 8) 425 | 3:3/0/physics_layer_1/polygon_0/points = PackedVector2Array(-8, -7.75, 8, -7.75, 8, -3, -8, -3) 426 | 3:3/0/physics_layer_1/polygon_0/one_way = true 427 | 4:3/0 = 0 428 | 4:3/0/terrain_set = 0 429 | 4:3/0/terrain = 0 430 | 4:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 431 | 4:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 432 | 4:3/0/terrains_peering_bit/right_side = 0 433 | 4:3/0/terrains_peering_bit/bottom_side = 0 434 | 4:3/0/terrains_peering_bit/left_side = 0 435 | 4:3/0/terrains_peering_bit/top_side = 0 436 | 6:3/0 = 0 437 | 6:3/0/terrain_set = 0 438 | 6:3/0/terrain = 0 439 | 6:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 440 | 6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 441 | 6:3/0/terrains_peering_bit/right_side = 0 442 | 6:3/0/terrains_peering_bit/bottom_side = 0 443 | 6:3/0/terrains_peering_bit/left_side = 0 444 | 6:3/0/terrains_peering_bit/top_side = 0 445 | 6:3/0/terrains_peering_bit/top_right_corner = 0 446 | 7:3/0 = 0 447 | 7:3/0/terrain_set = 0 448 | 7:3/0/terrain = 0 449 | 7:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 450 | 7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 451 | 7:3/0/terrains_peering_bit/right_side = 0 452 | 7:3/0/terrains_peering_bit/bottom_side = 0 453 | 7:3/0/terrains_peering_bit/left_side = 0 454 | 7:3/0/terrains_peering_bit/top_left_corner = 0 455 | 7:3/0/terrains_peering_bit/top_side = 0 456 | 8:3/0 = 0 457 | 8:3/0/terrain_set = 0 458 | 8:3/0/terrain = 0 459 | 8:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 460 | 8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 461 | 8:3/0/terrains_peering_bit/right_side = 0 462 | 8:3/0/terrains_peering_bit/left_side = 0 463 | 8:3/0/terrains_peering_bit/top_left_corner = 0 464 | 8:3/0/terrains_peering_bit/top_side = 0 465 | 9:3/0 = 0 466 | 9:3/0/terrain_set = 0 467 | 9:3/0/terrain = 0 468 | 9:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_pjw8x") 469 | 9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 470 | 9:3/0/terrains_peering_bit/right_side = 0 471 | 9:3/0/terrains_peering_bit/left_side = 0 472 | 9:3/0/terrains_peering_bit/top_side = 0 473 | 9:3/0/terrains_peering_bit/top_right_corner = 0 474 | 10:3/0 = 0 475 | 10:3/0/terrain_set = 0 476 | 10:3/0/terrain = 0 477 | 10:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_0uasi") 478 | 10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 479 | 10:3/0/terrains_peering_bit/right_side = 0 480 | 10:3/0/terrains_peering_bit/top_side = 0 481 | 11:3/0 = 0 482 | 11:3/0/terrain_set = 0 483 | 11:3/0/terrain = 0 484 | 11:3/0/occlusion_layer_0/polygon = SubResource("OccluderPolygon2D_nipqe") 485 | 11:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) 486 | 11:3/0/terrains_peering_bit/left_side = 0 487 | 11:3/0/terrains_peering_bit/top_side = 0 488 | 489 | [sub_resource type="TileSetScenesCollectionSource" id="TileSetScenesCollectionSource_lqcnw"] 490 | resource_name = "water" 491 | scenes/1/scene = ExtResource("2_xvati") 492 | scenes/2/scene = ExtResource("3_f26ac") 493 | 494 | [resource] 495 | occlusion_layer_0/light_mask = 1 496 | occlusion_layer_1/light_mask = 0 497 | occlusion_layer_2/light_mask = 0 498 | physics_layer_0/collision_layer = 33 499 | physics_layer_1/collision_layer = 2 500 | physics_layer_1/collision_mask = 2 501 | physics_layer_2/collision_layer = 0 502 | physics_layer_2/collision_mask = 0 503 | terrain_set_0/mode = 0 504 | terrain_set_0/terrain_0/name = "Terrain 0" 505 | terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) 506 | sources/0 = SubResource("TileSetAtlasSource_e0ksi") 507 | sources/1 = SubResource("TileSetScenesCollectionSource_lqcnw") 508 | -------------------------------------------------------------------------------- /examples/0_default/Default.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=8 format=4 uid="uid://dl2c73pshdhbf"] 2 | 3 | [ext_resource type="Script" path="res://examples/MainNode.gd" id="1_4445p"] 4 | [ext_resource type="TileSet" uid="uid://c8wk4uvt8kkhe" path="res://examples/Tiles.tres" id="1_bk2w7"] 5 | [ext_resource type="Script" path="res://addons/liquidsimulator/LiquidServer.gd" id="1_dppj5"] 6 | [ext_resource type="PackedScene" uid="uid://b4fssv5ogweg" path="res://examples/Water.tscn" id="2_fk8j4"] 7 | [ext_resource type="Script" path="res://addons/liquidsimulator/LiquidMap.gd" id="3_k6xf4"] 8 | 9 | [sub_resource type="Resource" id="Resource_fq1pl"] 10 | script = ExtResource("3_k6xf4") 11 | tile_map_path = NodePath("../Front") 12 | one_way_collision = false 13 | 14 | [sub_resource type="Resource" id="Resource_4kye2"] 15 | script = ExtResource("3_k6xf4") 16 | tile_map_path = NodePath("../FakeFront") 17 | one_way_collision = true 18 | 19 | [node name="Node2D" type="Node2D" node_paths=PackedStringArray("water_server")] 20 | script = ExtResource("1_4445p") 21 | water_server = NodePath("LiquidServer") 22 | 23 | [node name="LiquidServer" type="Node" parent="."] 24 | script = ExtResource("1_dppj5") 25 | liquid = ExtResource("2_fk8j4") 26 | _maps = Array[ExtResource("3_k6xf4")]([SubResource("Resource_fq1pl"), SubResource("Resource_4kye2")]) 27 | 28 | [node name="Back" type="TileMapLayer" parent="."] 29 | modulate = Color(0.435192, 0.435192, 0.435192, 1) 30 | tile_map_data = PackedByteArray("AABSACAAAAACAAIAAABSAB8AAAACAAEAAABSAB4AAAACAAEAAABSAB0AAAACAAEAAABSABwAAAACAAEAAABSABsAAAACAAEAAABSABoAAAACAAEAAABSABkAAAACAAEAAABSABgAAAACAAEAAABSABcAAAACAAEAAABSABYAAAACAAAAAABRACAAAAABAAIAAABRAB8AAAABAAEAAABRAB4AAAABAAEAAABRAB0AAAABAAEAAABRABwAAAABAAEAAABRABsAAAABAAEAAABRABoAAAABAAEAAABRABkAAAABAAEAAABRABgAAAABAAEAAABRABcAAAABAAEAAABRABYAAAABAAAAAABQACAAAAABAAIAAABQAB8AAAABAAEAAABQAB4AAAABAAEAAABQAB0AAAABAAEAAABQABwAAAABAAEAAABQABsAAAABAAEAAABQABoAAAABAAEAAABQABkAAAABAAEAAABQABgAAAABAAEAAABQABcAAAABAAEAAABQABYAAAABAAAAAABPACAAAAABAAIAAABPAB8AAAABAAEAAABPAB4AAAABAAEAAABPAB0AAAABAAEAAABPABwAAAABAAEAAABPABsAAAABAAEAAABPABoAAAABAAEAAABPABkAAAABAAEAAABPABgAAAABAAEAAABPABcAAAABAAEAAABPABYAAAABAAAAAABOACAAAAABAAIAAABOAB8AAAABAAEAAABOAB4AAAABAAEAAABOAB0AAAABAAEAAABOABwAAAABAAEAAABOABsAAAABAAEAAABOABoAAAABAAEAAABOABkAAAABAAEAAABOABgAAAABAAEAAABOABcAAAABAAEAAABOABYAAAABAAAAAABNACAAAAABAAIAAABNAB8AAAABAAEAAABNAB4AAAABAAEAAABNAB0AAAABAAEAAABNABwAAAABAAEAAABNABsAAAABAAEAAABNABoAAAABAAEAAABNABkAAAABAAEAAABNABgAAAABAAEAAABNABcAAAABAAEAAABNABYAAAABAAAAAABMACAAAAABAAIAAABMAB8AAAABAAEAAABMAB4AAAABAAEAAABMAB0AAAABAAEAAABMABwAAAABAAEAAABMABsAAAABAAEAAABMABoAAAABAAEAAABMABkAAAABAAEAAABMABgAAAABAAEAAABMABcAAAABAAEAAABMABYAAAABAAAAAABLACAAAAABAAIAAABLAB8AAAABAAEAAABLAB4AAAABAAEAAABLAB0AAAABAAEAAABLABwAAAABAAEAAABLABsAAAABAAEAAABLABoAAAABAAEAAABLABkAAAABAAEAAABLABgAAAABAAEAAABLABcAAAABAAEAAABLABYAAAABAAAAAABKACAAAAABAAIAAABKAB8AAAABAAEAAABKAB4AAAABAAEAAABKAB0AAAABAAEAAABKABwAAAABAAEAAABKABsAAAABAAEAAABKABoAAAABAAEAAABKABkAAAABAAEAAABKABgAAAABAAEAAABKABcAAAABAAEAAABKABYAAAABAAAAAABJACAAAAABAAIAAABJAB8AAAABAAEAAABJAB4AAAABAAEAAABJAB0AAAABAAEAAABJABwAAAABAAEAAABJABsAAAABAAEAAABJABoAAAABAAEAAABJABkAAAABAAEAAABJABgAAAABAAEAAABJABcAAAABAAEAAABJABYAAAABAAAAAABIACAAAAABAAIAAABIAB8AAAABAAEAAABIAB4AAAABAAEAAABIAB0AAAABAAEAAABIABwAAAABAAEAAABIABsAAAABAAEAAABIABoAAAABAAEAAABIABkAAAABAAEAAABIABgAAAABAAEAAABIABcAAAABAAEAAABIABYAAAABAAAAAABHACAAAAABAAIAAABHAB8AAAABAAEAAABHAB4AAAABAAEAAABHAB0AAAABAAEAAABHABwAAAABAAEAAABHABsAAAABAAEAAABHABoAAAABAAEAAABHABkAAAABAAEAAABHABgAAAABAAEAAABHABcAAAABAAEAAABHABYAAAABAAAAAABGACAAAAABAAIAAABGAB8AAAABAAEAAABGAB4AAAABAAEAAABGAB0AAAABAAEAAABGABwAAAABAAEAAABGABsAAAAFAAEAAABGABoAAAAAAAEAAABGABkAAAAAAAEAAABGABgAAAAAAAEAAABGABcAAAAAAAEAAABGABYAAAAAAAAAAABFAB8AAAAAAAEAAABFAB4AAAAAAAEAAABFAB0AAAAAAAEAAABFACAAAAAKAAAAAABFABwAAAAAAAEAAABFACEAAAADAAIAAABFABsAAAAAAAAAAAA7ACIAAAABAAEAAAA7ACEAAAABAAEAAAA7ACAAAAABAAEAAAA7AB8AAAAFAAEAAAA6ACIAAAAAAAEAAAA6ACEAAAAAAAEAAAA6ACAAAAAAAAEAAAA6AB8AAAAAAAAAAAA7ACMAAAABAAIAAAA6ACMAAAAAAAIAAAA9ACMAAAACAAIAAAA9ACIAAAACAAEAAAA9ACEAAAACAAEAAAA9ACAAAAACAAEAAAA9AB8AAAACAAEAAAA9AB4AAAACAAEAAAA9AB0AAAACAAAAAAA8ACMAAAABAAIAAAA8ACIAAAABAAEAAAA8ACEAAAABAAEAAAA8ACAAAAABAAEAAAA8AB8AAAABAAEAAAA8AB4AAAABAAEAAAA8AB0AAAABAAAAAAA7AB4AAAAAAAEAAAA7AB0AAAAAAAAAAAAqACQAAAACAAIAAAAqACMAAAACAAEAAAAqACIAAAACAAEAAAAqACEAAAACAAEAAAAqACAAAAACAAEAAAAqAB8AAAACAAEAAAAqAB4AAAACAAEAAAAqAB0AAAACAAEAAAAqABwAAAACAAEAAAAqABsAAAACAAEAAAAqABoAAAACAAEAAAAqABkAAAACAAAAAAApACQAAAABAAIAAAApACMAAAABAAEAAAApACIAAAABAAEAAAApACEAAAABAAEAAAApACAAAAABAAEAAAApAB8AAAABAAEAAAApAB4AAAABAAEAAAApAB0AAAABAAEAAAApABwAAAABAAEAAAApABsAAAABAAEAAAApABoAAAABAAEAAAApABkAAAABAAAAAAAoACQAAAABAAIAAAAoACMAAAABAAEAAAAoACIAAAABAAEAAAAoACEAAAABAAEAAAAoACAAAAABAAEAAAAoAB8AAAABAAEAAAAoAB4AAAABAAEAAAAoAB0AAAABAAEAAAAoABwAAAABAAEAAAAoABsAAAABAAEAAAAoABoAAAABAAEAAAAoABkAAAABAAAAAAAnACQAAAABAAIAAAAnACMAAAABAAEAAAAnACIAAAABAAEAAAAnACEAAAABAAEAAAAnACAAAAABAAEAAAAnAB8AAAABAAEAAAAnAB4AAAABAAEAAAAnAB0AAAABAAEAAAAnABwAAAABAAEAAAAnABsAAAABAAEAAAAnABoAAAABAAEAAAAnABkAAAAEAAEAAAAmACQAAAAAAAIAAAAmACMAAAAAAAEAAAAmACIAAAAAAAEAAAAmACEAAAAAAAEAAAAmACAAAAAAAAEAAAAmAB8AAAAAAAEAAAAmAB4AAAAAAAEAAAAmAB0AAAAAAAEAAAAmABwAAAAAAAEAAAAmABsAAAAAAAEAAAAmABoAAAAAAAEAAAAmABkAAAAAAAEAAAAnABgAAAACAAEAAAAnABcAAAACAAAAAAAmABgAAAAFAAAAAAAmABcAAAABAAAAAAAlABgAAAABAAIAAAAlABcAAAABAAAAAAAkABgAAAABAAIAAAAkABcAAAABAAAAAAAjABgAAAABAAIAAAAjABcAAAABAAAAAAAiABgAAAABAAIAAAAiABcAAAABAAAAAAAhABgAAAABAAIAAAAhABcAAAABAAAAAAAgABgAAAABAAIAAAAgABcAAAABAAAAAAAfABgAAAABAAIAAAAfABcAAAABAAAAAAAeABgAAAAAAAIAAAAeABcAAAAAAAAAAAA=") 31 | tile_set = ExtResource("1_bk2w7") 32 | 33 | [node name="Front" type="TileMapLayer" parent="."] 34 | use_parent_material = true 35 | tile_map_data = PackedByteArray("AAADACcAAAABAAEAAAADACYAAAABAAEAAAADACUAAAABAAEAAAADABsAAAACAAEAAAADABoAAAACAAEAAAADABkAAAACAAEAAAADABgAAAACAAEAAAADABcAAAACAAEAAAADABYAAAACAAEAAAADABUAAAACAAEAAAADABQAAAACAAEAAAADABMAAAACAAEAAAADABIAAAACAAEAAAADABEAAAACAAEAAAADABAAAAACAAEAAAADAA8AAAACAAEAAAADAA4AAAACAAAAAAACACcAAAABAAEAAAACACYAAAABAAEAAAACACUAAAABAAEAAAACABsAAAABAAEAAAACABoAAAABAAEAAAACABkAAAABAAEAAAACABgAAAABAAEAAAACABcAAAABAAEAAAACABYAAAABAAEAAAACABUAAAABAAEAAAACABQAAAABAAEAAAACABMAAAABAAEAAAACABIAAAABAAEAAAACABEAAAABAAEAAAACABAAAAABAAEAAAACAA8AAAABAAEAAAACAA4AAAABAAAAAAABACcAAAABAAEAAAABACYAAAABAAEAAAABACUAAAABAAEAAAABACQAAAABAAEAAAABACMAAAABAAEAAAABACIAAAABAAEAAAABACEAAAABAAEAAAABACAAAAABAAEAAAABAB8AAAABAAEAAAABAB4AAAABAAEAAAABAB0AAAABAAEAAAABABwAAAABAAEAAAABABsAAAABAAEAAAABABoAAAABAAEAAAABABkAAAABAAEAAAABABgAAAABAAEAAAABABcAAAABAAEAAAABABYAAAABAAEAAAABABUAAAABAAEAAAABABQAAAABAAEAAAABABMAAAABAAEAAAABABIAAAABAAEAAAABABEAAAABAAEAAAABABAAAAABAAEAAAABAA8AAAABAAEAAAABAA4AAAABAAAAAAAAACcAAAABAAEAAAAAACYAAAABAAEAAAAAACUAAAABAAEAAAAAACQAAAABAAEAAAAAACMAAAABAAEAAAAAACIAAAABAAEAAAAAACEAAAABAAEAAAAAACAAAAABAAEAAAAAAB8AAAABAAEAAAAAAB4AAAABAAEAAAAAAB0AAAABAAEAAAAAABwAAAABAAEAAAAAABsAAAABAAEAAAAAABoAAAABAAEAAAAAABkAAAABAAEAAAAAABgAAAABAAEAAAAAABcAAAABAAEAAAAAABYAAAABAAEAAAAAABUAAAABAAEAAAAAABQAAAABAAEAAAAAABMAAAABAAEAAAAAABIAAAABAAEAAAAAABEAAAABAAEAAAAAABAAAAABAAEAAAAAAA8AAAABAAEAAAAAAA4AAAAEAAEAAAAAAA0AAAACAAEAAAAAAAwAAAACAAAAAABGACcAAAABAAEAAABGACYAAAABAAEAAABGACUAAAABAAEAAABFACcAAAABAAEAAABFACYAAAABAAEAAABFACUAAAABAAEAAABEACcAAAABAAEAAABEACYAAAABAAEAAABEACUAAAABAAEAAABDACcAAAABAAEAAABDACYAAAABAAEAAABDACUAAAABAAEAAABCACcAAAABAAEAAABCACYAAAABAAEAAABCACUAAAABAAEAAABBACcAAAABAAEAAABBACYAAAABAAEAAABBACUAAAABAAEAAABAACcAAAABAAEAAABAACYAAAABAAEAAABAACUAAAABAAEAAAA/ACcAAAABAAEAAAA/ACYAAAABAAEAAAA/ACUAAAABAAEAAAA+ACcAAAABAAEAAAA+ACYAAAABAAEAAAA+ACUAAAABAAEAAAA9ACcAAAABAAEAAAA9ACYAAAABAAEAAAA9ACUAAAABAAEAAAA8ACcAAAABAAEAAAA8ACYAAAABAAEAAAA8ACUAAAABAAEAAAA7ACcAAAABAAEAAAA7ACYAAAABAAEAAAA7ACUAAAABAAEAAAA6ACcAAAABAAEAAAA6ACYAAAABAAEAAAA6ACUAAAABAAEAAAA5ACcAAAABAAEAAAA5ACYAAAABAAEAAAA5ACUAAAABAAEAAAA4ACcAAAABAAEAAAA4ACYAAAABAAEAAAA4ACUAAAABAAEAAAA3ACcAAAABAAEAAAA3ACYAAAABAAEAAAA3ACUAAAABAAEAAAA2ACcAAAABAAEAAAA2ACYAAAABAAEAAAA2ACUAAAABAAEAAAA1ACcAAAABAAEAAAA1ACYAAAABAAEAAAA1ACUAAAABAAEAAAA0ACcAAAABAAEAAAA0ACYAAAABAAEAAAA0ACUAAAABAAEAAAAzACcAAAABAAEAAAAzACYAAAABAAEAAAAzACUAAAABAAEAAAAyACcAAAABAAEAAAAyACYAAAABAAEAAAAyACUAAAABAAEAAAAxACcAAAABAAEAAAAxACYAAAABAAEAAAAxACUAAAABAAEAAAAwACcAAAABAAEAAAAwACYAAAABAAEAAAAwACUAAAABAAEAAAAvACcAAAABAAEAAAAvACYAAAABAAEAAAAvACUAAAABAAEAAAAuACcAAAABAAEAAAAuACYAAAABAAEAAAAuACUAAAABAAEAAAAtACcAAAABAAEAAAAtACYAAAABAAEAAAAtACUAAAABAAEAAAAsACcAAAABAAEAAAAsACYAAAABAAEAAAAsACUAAAABAAEAAAArACcAAAABAAEAAAArACYAAAABAAEAAAArACUAAAABAAEAAAAqACcAAAABAAEAAAAqACYAAAABAAEAAAAqACUAAAABAAEAAAApACcAAAABAAEAAAApACYAAAABAAEAAAApACUAAAABAAEAAAAoACcAAAABAAEAAAAoACYAAAABAAEAAAAoACUAAAABAAEAAAAnACcAAAABAAEAAAAnACYAAAABAAEAAAAnACUAAAABAAEAAAAmACcAAAABAAEAAAAmACYAAAABAAEAAAAmACUAAAABAAEAAAAlACcAAAABAAEAAAAlACYAAAABAAEAAAAlACUAAAABAAEAAAAkACcAAAABAAEAAAAkACYAAAABAAEAAAAkACUAAAABAAEAAAAjACcAAAABAAEAAAAjACYAAAABAAEAAAAjACUAAAABAAEAAAAiACcAAAABAAEAAAAiACYAAAABAAEAAAAiACUAAAABAAEAAAAhACcAAAABAAEAAAAhACYAAAABAAEAAAAhACUAAAABAAEAAAAgACcAAAABAAEAAAAgACYAAAABAAEAAAAgACUAAAABAAEAAAAfACcAAAABAAEAAAAfACYAAAABAAEAAAAfACUAAAABAAEAAAAeACcAAAABAAEAAAAeACYAAAABAAEAAAAeACUAAAABAAEAAAAdACcAAAABAAEAAAAdACYAAAABAAEAAAAdACUAAAABAAEAAAAcACcAAAABAAEAAAAcACYAAAABAAEAAAAcACUAAAABAAEAAAAbACcAAAABAAEAAAAbACYAAAABAAEAAAAbACUAAAABAAEAAAAaACcAAAABAAEAAAAaACYAAAABAAEAAAAaACUAAAABAAEAAAAZACcAAAABAAEAAAAZACYAAAABAAEAAAAZACUAAAABAAEAAAAYACcAAAABAAEAAAAYACYAAAABAAEAAAAYACUAAAABAAEAAAAXACcAAAABAAEAAAAXACYAAAABAAEAAAAXACUAAAABAAEAAAAWACcAAAABAAEAAAAWACYAAAABAAEAAAAWACUAAAABAAEAAAAVACcAAAABAAEAAAAVACYAAAABAAEAAAAVACUAAAABAAEAAAAUACcAAAABAAEAAAAUACYAAAABAAEAAAAUACUAAAABAAEAAAATACcAAAABAAEAAAATACYAAAABAAEAAAATACUAAAABAAEAAAASACcAAAABAAEAAAASACYAAAABAAEAAAASACUAAAABAAEAAAARACcAAAABAAEAAAARACYAAAABAAEAAAARACUAAAABAAEAAAAQACcAAAABAAEAAAAQACYAAAABAAEAAAAQACUAAAABAAEAAAAPACcAAAABAAEAAAAPACYAAAABAAEAAAAPACUAAAABAAEAAAAOACcAAAABAAEAAAAOACYAAAABAAEAAAAOACUAAAABAAEAAAANACcAAAABAAEAAAANACYAAAABAAEAAAANACUAAAABAAEAAAAMACcAAAABAAEAAAAMACYAAAABAAEAAAAMACUAAAABAAEAAAALACcAAAABAAEAAAALACYAAAABAAEAAAALACUAAAABAAEAAAAKACcAAAABAAEAAAAKACYAAAABAAEAAAAKACUAAAABAAEAAAAJACcAAAABAAEAAAAJACYAAAABAAEAAAAJACUAAAABAAEAAAAIACcAAAABAAEAAAAIACYAAAABAAEAAAAIACUAAAABAAEAAAAHACcAAAABAAEAAAAHACYAAAABAAEAAAAHACUAAAABAAEAAAAGACcAAAABAAEAAAAGACYAAAABAAEAAAAGACUAAAABAAEAAAAFACcAAAABAAEAAAAFACYAAAABAAEAAAAFACUAAAABAAEAAAAEACcAAAABAAEAAAAEACYAAAABAAEAAAAEACUAAAABAAEAAABHACcAAAABAAEAAABHACYAAAABAAEAAABHACUAAAABAAEAAAD//ywAAAABAAEAAAD//ysAAAABAAEAAAD//yoAAAABAAEAAAD//ykAAAABAAEAAAD//ygAAAABAAEAAAD//ycAAAABAAEAAAD//yYAAAABAAEAAAD//yUAAAABAAEAAAD//yQAAAABAAEAAAD//yMAAAABAAEAAAD//yIAAAABAAEAAAD//yEAAAABAAEAAAD//yAAAAABAAEAAAD//x8AAAABAAEAAAD//x4AAAABAAEAAAD//x0AAAABAAEAAAD//xwAAAABAAEAAAD//xsAAAABAAEAAAD//xoAAAABAAEAAAD//xkAAAABAAEAAAD//xgAAAABAAEAAAD//xcAAAABAAEAAAD//xYAAAABAAEAAAD//xUAAAABAAEAAAD//xQAAAABAAEAAAD//xMAAAABAAEAAAD//xIAAAABAAEAAAD//xEAAAABAAEAAAD//xAAAAABAAEAAAD//w8AAAABAAEAAAD//w4AAAABAAEAAAD//w0AAAABAAEAAAD//wwAAAAEAAEAAAD//wsAAAACAAEAAAD//woAAAACAAEAAAD//wkAAAACAAEAAAD//wgAAAACAAEAAAD//wcAAAACAAEAAAD//wYAAAACAAEAAAD//wUAAAACAAEAAAD+/ywAAAABAAEAAAD+/ysAAAABAAEAAAD+/yoAAAABAAEAAAD+/ykAAAABAAEAAAD+/ygAAAABAAEAAAD+/ycAAAABAAEAAAD+/yYAAAABAAEAAAD+/yUAAAABAAEAAAD+/yQAAAABAAEAAAD+/yMAAAABAAEAAAD+/yIAAAABAAEAAAD+/yEAAAABAAEAAAD+/yAAAAABAAEAAAD+/x8AAAABAAEAAAD+/x4AAAABAAEAAAD+/x0AAAABAAEAAAD+/xwAAAABAAEAAAD+/xsAAAABAAEAAAD+/xoAAAABAAEAAAD+/xkAAAABAAEAAAD+/xgAAAABAAEAAAD+/xcAAAABAAEAAAD+/xYAAAABAAEAAAD+/xUAAAABAAEAAAD+/xQAAAABAAEAAAD+/xMAAAABAAEAAAD+/xIAAAABAAEAAAD+/xEAAAABAAEAAAD+/xAAAAABAAEAAAD+/w8AAAABAAEAAAD+/w4AAAABAAEAAAD+/w0AAAABAAEAAAD+/wwAAAABAAEAAAD+/wsAAAABAAEAAAD+/woAAAABAAEAAAD+/wkAAAABAAEAAAD+/wgAAAABAAEAAAD+/wcAAAABAAEAAAD+/wYAAAABAAEAAAD+/wUAAAABAAEAAAD9/ywAAAABAAEAAAD9/ysAAAABAAEAAAD9/yoAAAABAAEAAAD9/ykAAAABAAEAAAD9/ygAAAABAAEAAAD9/ycAAAABAAEAAAD9/yYAAAABAAEAAAD9/yUAAAABAAEAAAD9/yQAAAABAAEAAAD9/yMAAAABAAEAAAD9/yIAAAABAAEAAAD9/yEAAAABAAEAAAD9/yAAAAABAAEAAAD9/x8AAAABAAEAAAD9/x4AAAABAAEAAAD9/x0AAAABAAEAAAD9/xwAAAABAAEAAAD9/xsAAAABAAEAAAD9/xoAAAABAAEAAAD9/xkAAAABAAEAAAD9/xgAAAABAAEAAAD9/xcAAAABAAEAAAD9/xYAAAABAAEAAAD9/xUAAAABAAEAAAD9/xQAAAABAAEAAAD9/xMAAAABAAEAAAD9/xIAAAABAAEAAAD9/xEAAAABAAEAAAD9/xAAAAABAAEAAAD9/w8AAAABAAEAAAD9/w4AAAABAAEAAAD9/w0AAAABAAEAAAD9/wwAAAABAAEAAAD9/wsAAAABAAEAAAD9/woAAAABAAEAAAD9/wkAAAABAAEAAAD9/wgAAAABAAEAAAD9/wcAAAABAAEAAAD9/wYAAAABAAEAAAD9/wUAAAABAAEAAAD8/ywAAAABAAEAAAD8/ysAAAABAAEAAAD8/yoAAAABAAEAAAD8/ykAAAABAAEAAAD8/ygAAAABAAEAAAD8/ycAAAABAAEAAAD8/yYAAAABAAEAAAD8/yUAAAABAAEAAAD8/yQAAAABAAEAAAD8/yMAAAABAAEAAAD8/yIAAAABAAEAAAD8/yEAAAABAAEAAAD8/yAAAAABAAEAAAD8/x8AAAABAAEAAAD8/x4AAAABAAEAAAD8/x0AAAABAAEAAAD8/xwAAAABAAEAAAD8/xsAAAABAAEAAAD8/xoAAAABAAEAAAD8/xkAAAABAAEAAAD8/xgAAAABAAEAAAD8/xcAAAABAAEAAAD8/xYAAAABAAEAAAD8/xUAAAABAAEAAAD8/xQAAAABAAEAAAD8/xMAAAABAAEAAAD8/xIAAAABAAEAAAD8/xEAAAABAAEAAAD8/xAAAAABAAEAAAD8/w8AAAABAAEAAAD8/w4AAAABAAEAAAD8/w0AAAABAAEAAAD8/wwAAAABAAEAAAD8/wsAAAABAAEAAAD8/woAAAABAAEAAAD8/wkAAAABAAEAAAD8/wgAAAABAAEAAAD8/wcAAAABAAEAAAD8/wYAAAABAAEAAAD8/wUAAAABAAEAAAD7/ywAAAABAAEAAAD7/ysAAAABAAEAAAD7/yoAAAABAAEAAAD7/ykAAAABAAEAAAD7/ygAAAABAAEAAAD7/ycAAAABAAEAAAD7/yYAAAABAAEAAAD7/yUAAAABAAEAAAD7/yQAAAABAAEAAAD7/yMAAAABAAEAAAD7/yIAAAABAAEAAAD7/yEAAAABAAEAAAD7/yAAAAABAAEAAAD7/x8AAAABAAEAAAD7/x4AAAABAAEAAAD7/x0AAAABAAEAAAD7/xwAAAABAAEAAAD7/xsAAAABAAEAAAD7/xoAAAABAAEAAAD7/xkAAAABAAEAAAD7/xgAAAABAAEAAAD7/xcAAAABAAEAAAD7/xYAAAABAAEAAAD7/xUAAAABAAEAAAD7/xQAAAABAAEAAAD7/xMAAAABAAEAAAD7/xIAAAABAAEAAAD7/xEAAAABAAEAAAD7/xAAAAABAAEAAAD7/w8AAAABAAEAAAD7/w4AAAABAAEAAAD7/w0AAAABAAEAAAD7/wwAAAABAAEAAAD7/wsAAAABAAEAAAD7/woAAAABAAEAAAD7/wkAAAABAAEAAAD7/wgAAAABAAEAAAD7/wcAAAABAAEAAAD7/wYAAAABAAEAAAD7/wUAAAABAAEAAAD//zAAAAABAAIAAAD//y8AAAABAAEAAAD//y4AAAABAAEAAAD//y0AAAABAAEAAAD//wQAAAACAAEAAAD//wMAAAACAAEAAAD//wIAAAACAAEAAAD//wEAAAACAAEAAAD//wAAAAACAAAAAAD+/zAAAAABAAIAAAD+/y8AAAABAAEAAAD+/y4AAAABAAEAAAD+/y0AAAABAAEAAAD+/wQAAAABAAEAAAD+/wMAAAABAAEAAAD+/wIAAAABAAEAAAD+/wEAAAABAAEAAAD+/wAAAAABAAAAAAD9/zAAAAABAAIAAAD9/y8AAAABAAEAAAD9/y4AAAABAAEAAAD9/y0AAAABAAEAAAD9/wQAAAABAAEAAAD9/wMAAAABAAEAAAD9/wIAAAABAAEAAAD9/wEAAAABAAEAAAD9/wAAAAABAAAAAAD8/zAAAAABAAIAAAD8/y8AAAABAAEAAAD8/y4AAAABAAEAAAD8/y0AAAABAAEAAAD8/wQAAAABAAEAAAD8/wMAAAABAAEAAAD8/wIAAAABAAEAAAD8/wEAAAABAAEAAAD8/wAAAAABAAAAAAD7/zAAAAABAAIAAAD7/y8AAAABAAEAAAD7/y4AAAABAAEAAAD7/y0AAAABAAEAAAD7/wQAAAABAAEAAAD7/wMAAAABAAEAAAD7/wIAAAABAAEAAAD7/wEAAAABAAEAAAD7/wAAAAABAAAAAAD6/zAAAAABAAIAAAD6/y8AAAABAAEAAAD6/y4AAAABAAEAAAD6/y0AAAABAAEAAAD6/ywAAAABAAEAAAD6/ysAAAABAAEAAAD6/yoAAAABAAEAAAD6/ykAAAABAAEAAAD6/ygAAAABAAEAAAD6/ycAAAABAAEAAAD6/yYAAAABAAEAAAD6/yUAAAABAAEAAAD6/yQAAAABAAEAAAD6/yMAAAABAAEAAAD6/yIAAAABAAEAAAD6/yEAAAABAAEAAAD6/yAAAAABAAEAAAD6/x8AAAABAAEAAAD6/x4AAAABAAEAAAD6/x0AAAABAAEAAAD6/xwAAAABAAEAAAD6/xsAAAABAAEAAAD6/xoAAAABAAEAAAD6/xkAAAABAAEAAAD6/xgAAAABAAEAAAD6/xcAAAABAAEAAAD6/xYAAAABAAEAAAD6/xUAAAABAAEAAAD6/xQAAAABAAEAAAD6/xMAAAABAAEAAAD6/xIAAAABAAEAAAD6/xEAAAABAAEAAAD6/xAAAAABAAEAAAD6/w8AAAABAAEAAAD6/w4AAAABAAEAAAD6/w0AAAABAAEAAAD6/wwAAAABAAEAAAD6/wsAAAABAAEAAAD6/woAAAABAAEAAAD6/wkAAAABAAEAAAD6/wgAAAABAAEAAAD6/wcAAAABAAEAAAD6/wYAAAABAAEAAAD6/wUAAAABAAEAAAD6/wQAAAABAAEAAAD6/wMAAAABAAEAAAD6/wIAAAABAAEAAAD6/wEAAAABAAEAAAD6/wAAAAABAAAAAAD5/zAAAAABAAIAAAD5/y8AAAABAAEAAAD5/y4AAAABAAEAAAD5/y0AAAABAAEAAAD5/ywAAAABAAEAAAD5/ysAAAABAAEAAAD5/yoAAAABAAEAAAD5/ykAAAABAAEAAAD5/ygAAAABAAEAAAD5/ycAAAABAAEAAAD5/yYAAAABAAEAAAD5/yUAAAABAAEAAAD5/yQAAAABAAEAAAD5/yMAAAABAAEAAAD5/yIAAAABAAEAAAD5/yEAAAABAAEAAAD5/yAAAAABAAEAAAD5/x8AAAABAAEAAAD5/x4AAAABAAEAAAD5/x0AAAABAAEAAAD5/xwAAAABAAEAAAD5/xsAAAABAAEAAAD5/xoAAAABAAEAAAD5/xkAAAABAAEAAAD5/xgAAAABAAEAAAD5/xcAAAABAAEAAAD5/xYAAAABAAEAAAD5/xUAAAABAAEAAAD5/xQAAAABAAEAAAD5/xMAAAABAAEAAAD5/xIAAAABAAEAAAD5/xEAAAABAAEAAAD5/xAAAAABAAEAAAD5/w8AAAABAAEAAAD5/w4AAAABAAEAAAD5/w0AAAABAAEAAAD5/wwAAAABAAEAAAD5/wsAAAABAAEAAAD5/woAAAABAAEAAAD5/wkAAAABAAEAAAD5/wgAAAABAAEAAAD5/wcAAAABAAEAAAD5/wYAAAABAAEAAAD5/wUAAAABAAEAAAD5/wQAAAABAAEAAAD5/wMAAAABAAEAAAD5/wIAAAABAAEAAAD5/wEAAAABAAEAAAD5/wAAAAABAAAAAAD4/zAAAAABAAIAAAD4/y8AAAABAAEAAAD4/y4AAAABAAEAAAD4/y0AAAABAAEAAAD4/ywAAAABAAEAAAD4/ysAAAABAAEAAAD4/yoAAAABAAEAAAD4/ykAAAABAAEAAAD4/ygAAAABAAEAAAD4/ycAAAABAAEAAAD4/yYAAAABAAEAAAD4/yUAAAABAAEAAAD4/yQAAAABAAEAAAD4/yMAAAABAAEAAAD4/yIAAAABAAEAAAD4/yEAAAABAAEAAAD4/yAAAAABAAEAAAD4/x8AAAABAAEAAAD4/x4AAAABAAEAAAD4/x0AAAABAAEAAAD4/xwAAAABAAEAAAD4/xsAAAABAAEAAAD4/xoAAAABAAEAAAD4/xkAAAABAAEAAAD4/xgAAAABAAEAAAD4/xcAAAABAAEAAAD4/xYAAAABAAEAAAD4/xUAAAABAAEAAAD4/xQAAAABAAEAAAD4/xMAAAABAAEAAAD4/xIAAAABAAEAAAD4/xEAAAABAAEAAAD4/xAAAAABAAEAAAD4/w8AAAABAAEAAAD4/w4AAAABAAEAAAD4/w0AAAABAAEAAAD4/wwAAAABAAEAAAD4/wsAAAABAAEAAAD4/woAAAABAAEAAAD4/wkAAAABAAEAAAD4/wgAAAABAAEAAAD4/wcAAAABAAEAAAD4/wYAAAABAAEAAAD4/wUAAAABAAEAAAD4/wQAAAABAAEAAAD4/wMAAAABAAEAAAD4/wIAAAABAAEAAAD4/wEAAAABAAEAAAD4/wAAAAABAAAAAAD3/zAAAAABAAIAAAD3/y8AAAABAAEAAAD3/y4AAAABAAEAAAD3/y0AAAABAAEAAAD3/ywAAAABAAEAAAD3/ysAAAABAAEAAAD3/yoAAAABAAEAAAD3/ykAAAABAAEAAAD3/ygAAAABAAEAAAD3/ycAAAABAAEAAAD3/yYAAAABAAEAAAD3/yUAAAABAAEAAAD3/yQAAAABAAEAAAD3/yMAAAABAAEAAAD3/yIAAAABAAEAAAD3/yEAAAABAAEAAAD3/yAAAAABAAEAAAD3/x8AAAABAAEAAAD3/x4AAAABAAEAAAD3/x0AAAABAAEAAAD3/xwAAAABAAEAAAD3/xsAAAABAAEAAAD3/xoAAAABAAEAAAD3/xkAAAABAAEAAAD3/xgAAAABAAEAAAD3/xcAAAABAAEAAAD3/xYAAAABAAEAAAD3/xUAAAABAAEAAAD3/xQAAAABAAEAAAD3/xMAAAABAAEAAAD3/xIAAAABAAEAAAD3/xEAAAABAAEAAAD3/xAAAAABAAEAAAD3/w8AAAABAAEAAAD3/w4AAAABAAEAAAD3/w0AAAABAAEAAAD3/wwAAAABAAEAAAD3/wsAAAABAAEAAAD3/woAAAABAAEAAAD3/wkAAAABAAEAAAD3/wgAAAABAAEAAAD3/wcAAAABAAEAAAD3/wYAAAABAAEAAAD3/wUAAAABAAEAAAD3/wQAAAABAAEAAAD3/wMAAAABAAEAAAD3/wIAAAABAAEAAAD3/wEAAAABAAEAAAD3/wAAAAABAAAAAAD2/zAAAAABAAIAAAD2/y8AAAABAAEAAAD2/y4AAAABAAEAAAD2/y0AAAABAAEAAAD2/ywAAAABAAEAAAD2/ysAAAABAAEAAAD2/yoAAAABAAEAAAD2/ykAAAABAAEAAAD2/ygAAAABAAEAAAD2/ycAAAABAAEAAAD2/yYAAAABAAEAAAD2/yUAAAABAAEAAAD2/yQAAAABAAEAAAD2/yMAAAABAAEAAAD2/yIAAAABAAEAAAD2/yEAAAABAAEAAAD2/yAAAAABAAEAAAD2/x8AAAABAAEAAAD2/x4AAAABAAEAAAD2/x0AAAABAAEAAAD2/xwAAAABAAEAAAD2/xsAAAABAAEAAAD2/xoAAAABAAEAAAD2/xkAAAABAAEAAAD2/xgAAAABAAEAAAD2/xcAAAABAAEAAAD2/xYAAAABAAEAAAD2/xUAAAABAAEAAAD2/xQAAAABAAEAAAD2/xMAAAABAAEAAAD2/xIAAAABAAEAAAD2/xEAAAABAAEAAAD2/xAAAAABAAEAAAD2/w8AAAABAAEAAAD2/w4AAAABAAEAAAD2/w0AAAABAAEAAAD2/wwAAAABAAEAAAD2/wsAAAABAAEAAAD2/woAAAABAAEAAAD2/wkAAAABAAEAAAD2/wgAAAABAAEAAAD2/wcAAAABAAEAAAD2/wYAAAABAAEAAAD2/wUAAAABAAEAAAD2/wQAAAABAAEAAAD2/wMAAAABAAEAAAD2/wIAAAABAAEAAAD2/wEAAAABAAEAAAD2/wAAAAABAAAAAAD1/zAAAAABAAIAAAD1/y8AAAABAAEAAAD1/y4AAAABAAEAAAD1/y0AAAABAAEAAAD1/ywAAAABAAEAAAD1/ysAAAABAAEAAAD1/yoAAAABAAEAAAD1/ykAAAABAAEAAAD1/ygAAAABAAEAAAD1/ycAAAABAAEAAAD1/yYAAAABAAEAAAD1/yUAAAABAAEAAAD1/yQAAAABAAEAAAD1/yMAAAABAAEAAAD1/yIAAAABAAEAAAD1/yEAAAABAAEAAAD1/yAAAAABAAEAAAD1/x8AAAABAAEAAAD1/x4AAAABAAEAAAD1/x0AAAABAAEAAAD1/xwAAAABAAEAAAD1/xsAAAABAAEAAAD1/xoAAAABAAEAAAD1/xkAAAABAAEAAAD1/xgAAAABAAEAAAD1/xcAAAABAAEAAAD1/xYAAAABAAEAAAD1/xUAAAABAAEAAAD1/xQAAAABAAEAAAD1/xMAAAABAAEAAAD1/xIAAAABAAEAAAD1/xEAAAABAAEAAAD1/xAAAAABAAEAAAD1/w8AAAABAAEAAAD1/w4AAAABAAEAAAD1/w0AAAABAAEAAAD1/wwAAAABAAEAAAD1/wsAAAABAAEAAAD1/woAAAABAAEAAAD1/wkAAAABAAEAAAD1/wgAAAABAAEAAAD1/wcAAAABAAEAAAD1/wYAAAABAAEAAAD1/wUAAAABAAEAAAD1/wQAAAABAAEAAAD1/wMAAAABAAEAAAD1/wIAAAABAAEAAAD1/wEAAAABAAEAAAD1/wAAAAABAAAAAAD0/zAAAAABAAIAAAD0/y8AAAABAAEAAAD0/y4AAAABAAEAAAD0/y0AAAABAAEAAAD0/ywAAAABAAEAAAD0/ysAAAABAAEAAAD0/yoAAAABAAEAAAD0/ykAAAABAAEAAAD0/ygAAAABAAEAAAD0/ycAAAABAAEAAAD0/yYAAAABAAEAAAD0/yUAAAABAAEAAAD0/yQAAAABAAEAAAD0/yMAAAABAAEAAAD0/yIAAAABAAEAAAD0/yEAAAABAAEAAAD0/yAAAAABAAEAAAD0/x8AAAABAAEAAAD0/x4AAAABAAEAAAD0/x0AAAABAAEAAAD0/xwAAAABAAEAAAD0/xsAAAABAAEAAAD0/xoAAAABAAEAAAD0/xkAAAABAAEAAAD0/xgAAAABAAEAAAD0/xcAAAABAAEAAAD0/xYAAAABAAEAAAD0/xUAAAABAAEAAAD0/xQAAAABAAEAAAD0/xMAAAABAAEAAAD0/xIAAAABAAEAAAD0/xEAAAABAAEAAAD0/xAAAAABAAEAAAD0/w8AAAABAAEAAAD0/w4AAAABAAEAAAD0/w0AAAABAAEAAAD0/wwAAAABAAEAAAD0/wsAAAABAAEAAAD0/woAAAABAAEAAAD0/wkAAAABAAEAAAD0/wgAAAABAAEAAAD0/wcAAAABAAEAAAD0/wYAAAABAAEAAAD0/wUAAAABAAEAAAD0/wQAAAABAAEAAAD0/wMAAAABAAEAAAD0/wIAAAABAAEAAAD0/wEAAAABAAEAAAD0/wAAAAABAAAAAADz/zAAAAABAAIAAADz/y8AAAABAAEAAADz/y4AAAABAAEAAADz/y0AAAABAAEAAADz/ywAAAABAAEAAADz/ysAAAABAAEAAADz/yoAAAABAAEAAADz/ykAAAABAAEAAADz/ygAAAABAAEAAADz/ycAAAABAAEAAADz/yYAAAABAAEAAADz/yUAAAABAAEAAADz/yQAAAABAAEAAADz/yMAAAABAAEAAADz/yIAAAABAAEAAADz/yEAAAABAAEAAADz/yAAAAABAAEAAADz/x8AAAABAAEAAADz/x4AAAABAAEAAADz/x0AAAABAAEAAADz/xwAAAABAAEAAADz/xsAAAABAAEAAADz/xoAAAABAAEAAADz/xkAAAABAAEAAADz/xgAAAABAAEAAADz/xcAAAABAAEAAADz/xYAAAABAAEAAADz/xUAAAABAAEAAADz/xQAAAABAAEAAADz/xMAAAABAAEAAADz/xIAAAABAAEAAADz/xEAAAABAAEAAADz/xAAAAABAAEAAADz/w8AAAABAAEAAADz/w4AAAABAAEAAADz/w0AAAABAAEAAADz/wwAAAABAAEAAADz/wsAAAABAAEAAADz/woAAAABAAEAAADz/wkAAAABAAEAAADz/wgAAAABAAEAAADz/wcAAAABAAEAAADz/wYAAAABAAEAAADz/wUAAAABAAEAAADz/wQAAAABAAEAAADz/wMAAAABAAEAAADz/wIAAAABAAEAAADz/wEAAAABAAEAAADz/wAAAAABAAAAAADy/zAAAAABAAIAAADy/y8AAAABAAEAAADy/y4AAAABAAEAAADy/y0AAAABAAEAAADy/ywAAAABAAEAAADy/ysAAAABAAEAAADy/yoAAAABAAEAAADy/ykAAAABAAEAAADy/ygAAAABAAEAAADy/ycAAAABAAEAAADy/yYAAAABAAEAAADy/yUAAAABAAEAAADy/yQAAAABAAEAAADy/yMAAAABAAEAAADy/yIAAAABAAEAAADy/yEAAAABAAEAAADy/yAAAAABAAEAAADy/x8AAAABAAEAAADy/x4AAAABAAEAAADy/x0AAAABAAEAAADy/xwAAAABAAEAAADy/xsAAAABAAEAAADy/xoAAAABAAEAAADy/xkAAAABAAEAAADy/xgAAAABAAEAAADy/xcAAAABAAEAAADy/xYAAAABAAEAAADy/xUAAAABAAEAAADy/xQAAAABAAEAAADy/xMAAAABAAEAAADy/xIAAAABAAEAAADy/xEAAAABAAEAAADy/xAAAAABAAEAAADy/w8AAAABAAEAAADy/w4AAAABAAEAAADy/w0AAAABAAEAAADy/wwAAAABAAEAAADy/wsAAAABAAEAAADy/woAAAABAAEAAADy/wkAAAABAAEAAADy/wgAAAABAAEAAADy/wcAAAABAAEAAADy/wYAAAABAAEAAADy/wUAAAABAAEAAADy/wQAAAABAAEAAADy/wMAAAABAAEAAADy/wIAAAABAAEAAADy/wEAAAABAAEAAADy/wAAAAABAAAAAADx/zAAAAABAAIAAADx/y8AAAABAAEAAADx/y4AAAABAAEAAADx/y0AAAABAAEAAADx/ywAAAABAAEAAADx/ysAAAABAAEAAADx/yoAAAABAAEAAADx/ykAAAABAAEAAADx/ygAAAABAAEAAADx/ycAAAABAAEAAADx/yYAAAABAAEAAADx/yUAAAABAAEAAADx/yQAAAABAAEAAADx/yMAAAABAAEAAADx/yIAAAABAAEAAADx/yEAAAABAAEAAADx/yAAAAABAAEAAADx/x8AAAABAAEAAADx/x4AAAABAAEAAADx/x0AAAABAAEAAADx/xwAAAABAAEAAADx/xsAAAABAAEAAADx/xoAAAABAAEAAADx/xkAAAABAAEAAADx/xgAAAABAAEAAADx/xcAAAABAAEAAADx/xYAAAABAAEAAADx/xUAAAABAAEAAADx/xQAAAABAAEAAADx/xMAAAABAAEAAADx/xIAAAABAAEAAADx/xEAAAABAAEAAADx/xAAAAABAAEAAADx/w8AAAABAAEAAADx/w4AAAABAAEAAADx/w0AAAABAAEAAADx/wwAAAABAAEAAADx/wsAAAABAAEAAADx/woAAAABAAEAAADx/wkAAAABAAEAAADx/wgAAAABAAEAAADx/wcAAAABAAEAAADx/wYAAAABAAEAAADx/wUAAAABAAEAAADx/wQAAAABAAEAAADx/wMAAAABAAEAAADx/wIAAAABAAEAAADx/wEAAAABAAEAAADx/wAAAAABAAAAAADw/zAAAAAAAAIAAADw/y8AAAAAAAEAAADw/y4AAAAAAAEAAADw/y0AAAAAAAEAAADw/ywAAAAAAAEAAADw/ysAAAAAAAEAAADw/yoAAAAAAAEAAADw/ykAAAAAAAEAAADw/ygAAAAAAAEAAADw/ycAAAAAAAEAAADw/yYAAAAAAAEAAADw/yUAAAAAAAEAAADw/yQAAAAAAAEAAADw/yMAAAAAAAEAAADw/yIAAAAAAAEAAADw/yEAAAAAAAEAAADw/yAAAAAAAAEAAADw/x8AAAAAAAEAAADw/x4AAAAAAAEAAADw/x0AAAAAAAEAAADw/xwAAAAAAAEAAADw/xsAAAAAAAEAAADw/xoAAAAAAAEAAADw/xkAAAAAAAEAAADw/xgAAAAAAAEAAADw/xcAAAAAAAEAAADw/xYAAAAAAAEAAADw/xUAAAAAAAEAAADw/xQAAAAAAAEAAADw/xMAAAAAAAEAAADw/xIAAAAAAAEAAADw/xEAAAAAAAEAAADw/xAAAAAAAAEAAADw/w8AAAAAAAEAAADw/w4AAAAAAAEAAADw/w0AAAAAAAEAAADw/wwAAAAAAAEAAADw/wsAAAAAAAEAAADw/woAAAAAAAEAAADw/wkAAAAAAAEAAADw/wgAAAAAAAEAAADw/wcAAAAAAAEAAADw/wYAAAAAAAEAAADw/wUAAAAAAAEAAADw/wQAAAAAAAEAAADw/wMAAAAAAAEAAADw/wIAAAAAAAEAAADw/wEAAAAAAAEAAADw/wAAAAAAAAAAAABuADAAAAACAAIAAABuAC8AAAACAAEAAABuAC4AAAACAAEAAABuAC0AAAACAAEAAABuACwAAAACAAEAAABuACsAAAACAAEAAABuACoAAAACAAEAAABuACkAAAACAAAAAABtADAAAAABAAIAAABtAC8AAAABAAEAAABtAC4AAAABAAEAAABtAC0AAAABAAEAAABtACwAAAABAAEAAABtACsAAAABAAEAAABtACoAAAABAAEAAABtACkAAAAEAAEAAABsADAAAAABAAIAAABsAC8AAAABAAEAAABsAC4AAAABAAEAAABsAC0AAAABAAEAAABsACwAAAABAAEAAABsACsAAAABAAEAAABsACoAAAABAAEAAABsACkAAAABAAEAAABrADAAAAABAAIAAABrAC8AAAABAAEAAABrAC4AAAABAAEAAABrAC0AAAABAAEAAABrACwAAAABAAEAAABrACsAAAABAAEAAABrACoAAAABAAEAAABrACkAAAABAAEAAABqADAAAAABAAIAAABqAC8AAAABAAEAAABqAC4AAAABAAEAAABqAC0AAAABAAEAAABqACwAAAABAAEAAABqACsAAAABAAEAAABqACoAAAABAAEAAABqACkAAAABAAEAAABpADAAAAABAAIAAABpAC8AAAABAAEAAABpAC4AAAABAAEAAABpAC0AAAABAAEAAABpACwAAAABAAEAAABpACsAAAABAAEAAABpACoAAAABAAEAAABpACkAAAABAAEAAABoADAAAAABAAIAAABoAC8AAAABAAEAAABoAC4AAAABAAEAAABoAC0AAAABAAEAAABoACwAAAABAAEAAABoACsAAAABAAEAAABoACoAAAABAAEAAABoACkAAAABAAEAAABnADAAAAABAAIAAABnAC8AAAABAAEAAABnAC4AAAABAAEAAABnAC0AAAABAAEAAABnACwAAAABAAEAAABnACsAAAABAAEAAABnACoAAAABAAEAAABnACkAAAABAAEAAABmADAAAAABAAIAAABmAC8AAAABAAEAAABmAC4AAAABAAEAAABmAC0AAAABAAEAAABmACwAAAABAAEAAABmACsAAAABAAEAAABmACoAAAABAAEAAABmACkAAAABAAEAAABlADAAAAABAAIAAABlAC8AAAABAAEAAABlAC4AAAABAAEAAABlAC0AAAABAAEAAABlACwAAAABAAEAAABlACsAAAABAAEAAABlACoAAAABAAEAAABlACkAAAABAAEAAABkADAAAAABAAIAAABkAC8AAAABAAEAAABkAC4AAAABAAEAAABkAC0AAAABAAEAAABkACwAAAABAAEAAABkACsAAAABAAEAAABkACoAAAABAAEAAABkACkAAAABAAEAAABjADAAAAABAAIAAABjAC8AAAABAAEAAABjAC4AAAABAAEAAABjAC0AAAABAAEAAABjACwAAAABAAEAAABjACsAAAABAAEAAABjACoAAAABAAEAAABjACkAAAABAAEAAABiADAAAAABAAIAAABiAC8AAAABAAEAAABiAC4AAAABAAEAAABiAC0AAAABAAEAAABiACwAAAABAAEAAABiACsAAAABAAEAAABiACoAAAABAAEAAABiACkAAAABAAEAAABhADAAAAABAAIAAABhAC8AAAABAAEAAABhAC4AAAABAAEAAABhAC0AAAABAAEAAABhACwAAAABAAEAAABhACsAAAABAAEAAABhACoAAAABAAEAAABhACkAAAABAAEAAABgADAAAAABAAIAAABgAC8AAAABAAEAAABgAC4AAAABAAEAAABgAC0AAAABAAEAAABgACwAAAABAAEAAABgACsAAAABAAEAAABgACoAAAABAAEAAABgACkAAAABAAEAAABfADAAAAABAAIAAABfAC8AAAABAAEAAABfAC4AAAABAAEAAABfAC0AAAABAAEAAABfACwAAAABAAEAAABfACsAAAABAAEAAABfACoAAAABAAEAAABfACkAAAABAAEAAABeADAAAAABAAIAAABeAC8AAAABAAEAAABeAC4AAAABAAEAAABeAC0AAAABAAEAAABeACwAAAABAAEAAABeACsAAAABAAEAAABeACoAAAABAAEAAABeACkAAAABAAEAAABdADAAAAABAAIAAABdAC8AAAABAAEAAABdAC4AAAABAAEAAABdAC0AAAABAAEAAABdACwAAAABAAEAAABdACsAAAABAAEAAABdACoAAAABAAEAAABdACkAAAABAAEAAABcADAAAAABAAIAAABcAC8AAAABAAEAAABcAC4AAAABAAEAAABcAC0AAAABAAEAAABcACwAAAABAAEAAABcACsAAAABAAEAAABcACoAAAABAAEAAABcACkAAAABAAEAAABbADAAAAABAAIAAABbAC8AAAABAAEAAABbAC4AAAABAAEAAABbAC0AAAABAAEAAABbACwAAAABAAEAAABbACsAAAABAAEAAABbACoAAAABAAEAAABbACkAAAABAAEAAABaADAAAAABAAIAAABaAC8AAAABAAEAAABaAC4AAAABAAEAAABaAC0AAAABAAEAAABaACwAAAABAAEAAABaACsAAAABAAEAAABaACoAAAABAAEAAABaACkAAAABAAEAAABZADAAAAABAAIAAABZAC8AAAABAAEAAABZAC4AAAABAAEAAABZAC0AAAABAAEAAABZACwAAAABAAEAAABZACsAAAABAAEAAABZACoAAAABAAEAAABZACkAAAABAAEAAABYADAAAAABAAIAAABYAC8AAAABAAEAAABYAC4AAAABAAEAAABYAC0AAAABAAEAAABYACwAAAABAAEAAABYACsAAAABAAEAAABYACoAAAABAAEAAABYACkAAAABAAEAAABXADAAAAABAAIAAABXAC8AAAABAAEAAABXAC4AAAABAAEAAABXAC0AAAABAAEAAABXACwAAAABAAEAAABXACsAAAABAAEAAABXACoAAAABAAEAAABXACkAAAABAAEAAABWADAAAAABAAIAAABWAC8AAAABAAEAAABWAC4AAAABAAEAAABWAC0AAAABAAEAAABWACwAAAABAAEAAABWACsAAAABAAEAAABWACoAAAABAAEAAABWACkAAAABAAEAAABVADAAAAABAAIAAABVAC8AAAABAAEAAABVAC4AAAABAAEAAABVAC0AAAABAAEAAABVACwAAAABAAEAAABVACsAAAABAAEAAABVACoAAAABAAEAAABVACkAAAABAAEAAABUADAAAAABAAIAAABUAC8AAAABAAEAAABUAC4AAAABAAEAAABUAC0AAAABAAEAAABUACwAAAABAAEAAABUACsAAAABAAEAAABUACoAAAABAAEAAABUACkAAAABAAEAAABTADAAAAABAAIAAABTAC8AAAABAAEAAABTAC4AAAABAAEAAABTAC0AAAABAAEAAABTACwAAAABAAEAAABTACsAAAABAAEAAABTACoAAAABAAEAAABTACkAAAABAAEAAABSADAAAAABAAIAAABSAC8AAAABAAEAAABSAC4AAAABAAEAAABSAC0AAAABAAEAAABSACwAAAABAAEAAABSACsAAAABAAEAAABSACoAAAABAAEAAABSACkAAAABAAEAAABRADAAAAABAAIAAABRAC8AAAABAAEAAABRAC4AAAABAAEAAABRAC0AAAABAAEAAABRACwAAAABAAEAAABRACsAAAABAAEAAABRACoAAAABAAEAAABRACkAAAABAAEAAABQADAAAAABAAIAAABQAC8AAAABAAEAAABQAC4AAAABAAEAAABQAC0AAAABAAEAAABQACwAAAABAAEAAABQACsAAAABAAEAAABQACoAAAABAAEAAABQACkAAAABAAEAAABPADAAAAABAAIAAABPAC8AAAABAAEAAABPAC4AAAABAAEAAABPAC0AAAABAAEAAABPACwAAAABAAEAAABPACsAAAABAAEAAABPACoAAAABAAEAAABPACkAAAABAAEAAABOADAAAAABAAIAAABOAC8AAAABAAEAAABOAC4AAAABAAEAAABOAC0AAAABAAEAAABOACwAAAABAAEAAABOACsAAAABAAEAAABOACoAAAABAAEAAABOACkAAAABAAEAAABNADAAAAABAAIAAABNAC8AAAABAAEAAABNAC4AAAABAAEAAABNAC0AAAABAAEAAABNACwAAAABAAEAAABNACsAAAABAAEAAABNACoAAAABAAEAAABNACkAAAABAAEAAABMADAAAAABAAIAAABMAC8AAAABAAEAAABMAC4AAAABAAEAAABMAC0AAAABAAEAAABMACwAAAABAAEAAABMACsAAAABAAEAAABMACoAAAABAAEAAABMACkAAAABAAEAAABLADAAAAABAAIAAABLAC8AAAABAAEAAABLAC4AAAABAAEAAABLAC0AAAABAAEAAABLACwAAAABAAEAAABLACsAAAABAAEAAABLACoAAAABAAEAAABLACkAAAABAAEAAABKADAAAAABAAIAAABKAC8AAAABAAEAAABKAC4AAAABAAEAAABKAC0AAAABAAEAAABKACwAAAABAAEAAABKACsAAAABAAEAAABKACoAAAABAAEAAABKACkAAAABAAEAAABJADAAAAABAAIAAABJAC8AAAABAAEAAABJAC4AAAABAAEAAABJAC0AAAABAAEAAABJACwAAAABAAEAAABJACsAAAABAAEAAABJACoAAAABAAEAAABJACkAAAABAAEAAABIADAAAAABAAIAAABIAC8AAAABAAEAAABIAC4AAAABAAEAAABIAC0AAAABAAEAAABIACwAAAABAAEAAABIACsAAAABAAEAAABIACoAAAABAAEAAABIACkAAAABAAEAAABHADAAAAABAAIAAABHAC8AAAABAAEAAABHAC4AAAABAAEAAABHAC0AAAABAAEAAABHACwAAAABAAEAAABHACsAAAABAAEAAABHACoAAAABAAEAAABHACkAAAABAAEAAABGADAAAAABAAIAAABGAC8AAAABAAEAAABGAC4AAAABAAEAAABGAC0AAAABAAEAAABGACwAAAABAAEAAABGACsAAAABAAEAAABGACoAAAABAAEAAABGACkAAAABAAEAAABFADAAAAABAAIAAABFAC8AAAABAAEAAABFAC4AAAABAAEAAABFAC0AAAABAAEAAABFACwAAAABAAEAAABFACsAAAABAAEAAABFACoAAAABAAEAAABFACkAAAABAAEAAABEADAAAAABAAIAAABEAC8AAAABAAEAAABEAC4AAAABAAEAAABEAC0AAAABAAEAAABEACwAAAABAAEAAABEACsAAAABAAEAAABEACoAAAABAAEAAABEACkAAAABAAEAAABDADAAAAABAAIAAABDAC8AAAABAAEAAABDAC4AAAABAAEAAABDAC0AAAABAAEAAABDACwAAAABAAEAAABDACsAAAABAAEAAABDACoAAAABAAEAAABDACkAAAABAAEAAABCADAAAAABAAIAAABCAC8AAAABAAEAAABCAC4AAAABAAEAAABCAC0AAAABAAEAAABCACwAAAABAAEAAABCACsAAAABAAEAAABCACoAAAABAAEAAABCACkAAAABAAEAAABBADAAAAABAAIAAABBAC8AAAABAAEAAABBAC4AAAABAAEAAABBAC0AAAABAAEAAABBACwAAAABAAEAAABBACsAAAABAAEAAABBACoAAAABAAEAAABBACkAAAABAAEAAABAADAAAAABAAIAAABAAC8AAAABAAEAAABAAC4AAAABAAEAAABAAC0AAAABAAEAAABAACwAAAABAAEAAABAACsAAAABAAEAAABAACoAAAABAAEAAABAACkAAAABAAEAAAA/ADAAAAABAAIAAAA/AC8AAAABAAEAAAA/AC4AAAABAAEAAAA/AC0AAAABAAEAAAA/ACwAAAABAAEAAAA/ACsAAAABAAEAAAA/ACoAAAABAAEAAAA/ACkAAAABAAEAAAA+ADAAAAABAAIAAAA+AC8AAAABAAEAAAA+AC4AAAABAAEAAAA+AC0AAAABAAEAAAA+ACwAAAABAAEAAAA+ACsAAAABAAEAAAA+ACoAAAABAAEAAAA+ACkAAAABAAEAAAA9ADAAAAABAAIAAAA9AC8AAAABAAEAAAA9AC4AAAABAAEAAAA9AC0AAAABAAEAAAA9ACwAAAABAAEAAAA9ACsAAAABAAEAAAA9ACoAAAABAAEAAAA9ACkAAAABAAEAAAA8ADAAAAABAAIAAAA8AC8AAAABAAEAAAA8AC4AAAABAAEAAAA8AC0AAAABAAEAAAA8ACwAAAABAAEAAAA8ACsAAAABAAEAAAA8ACoAAAABAAEAAAA8ACkAAAABAAEAAAA7ADAAAAABAAIAAAA7AC8AAAABAAEAAAA7AC4AAAABAAEAAAA7AC0AAAABAAEAAAA7ACwAAAABAAEAAAA7ACsAAAABAAEAAAA7ACoAAAABAAEAAAA7ACkAAAABAAEAAAA6ADAAAAABAAIAAAA6AC8AAAABAAEAAAA6AC4AAAABAAEAAAA6AC0AAAABAAEAAAA6ACwAAAABAAEAAAA6ACsAAAABAAEAAAA6ACoAAAABAAEAAAA6ACkAAAABAAEAAAA5ADAAAAABAAIAAAA5AC8AAAABAAEAAAA5AC4AAAABAAEAAAA5AC0AAAABAAEAAAA5ACwAAAABAAEAAAA5ACsAAAABAAEAAAA5ACoAAAABAAEAAAA5ACkAAAABAAEAAAA4ADAAAAABAAIAAAA4AC8AAAABAAEAAAA4AC4AAAABAAEAAAA4AC0AAAABAAEAAAA4ACwAAAABAAEAAAA4ACsAAAABAAEAAAA4ACoAAAABAAEAAAA4ACkAAAABAAEAAAA3ADAAAAABAAIAAAA3AC8AAAABAAEAAAA3AC4AAAABAAEAAAA3AC0AAAABAAEAAAA3ACwAAAABAAEAAAA3ACsAAAABAAEAAAA3ACoAAAABAAEAAAA3ACkAAAABAAEAAAA2ADAAAAABAAIAAAA2AC8AAAABAAEAAAA2AC4AAAABAAEAAAA2AC0AAAABAAEAAAA2ACwAAAABAAEAAAA2ACsAAAABAAEAAAA2ACoAAAABAAEAAAA2ACkAAAABAAEAAAA1ADAAAAABAAIAAAA1AC8AAAABAAEAAAA1AC4AAAABAAEAAAA1AC0AAAABAAEAAAA1ACwAAAABAAEAAAA1ACsAAAABAAEAAAA1ACoAAAABAAEAAAA1ACkAAAABAAEAAAA0ADAAAAABAAIAAAA0AC8AAAABAAEAAAA0AC4AAAABAAEAAAA0AC0AAAABAAEAAAA0ACwAAAABAAEAAAA0ACsAAAABAAEAAAA0ACoAAAABAAEAAAA0ACkAAAABAAEAAAAzADAAAAABAAIAAAAzAC8AAAABAAEAAAAzAC4AAAABAAEAAAAzAC0AAAABAAEAAAAzACwAAAABAAEAAAAzACsAAAABAAEAAAAzACoAAAABAAEAAAAzACkAAAABAAEAAAAyADAAAAABAAIAAAAyAC8AAAABAAEAAAAyAC4AAAABAAEAAAAyAC0AAAABAAEAAAAyACwAAAABAAEAAAAyACsAAAABAAEAAAAyACoAAAABAAEAAAAyACkAAAABAAEAAAAxADAAAAABAAIAAAAxAC8AAAABAAEAAAAxAC4AAAABAAEAAAAxAC0AAAABAAEAAAAxACwAAAABAAEAAAAxACsAAAABAAEAAAAxACoAAAABAAEAAAAxACkAAAABAAEAAAAwADAAAAABAAIAAAAwAC8AAAABAAEAAAAwAC4AAAABAAEAAAAwAC0AAAABAAEAAAAwACwAAAABAAEAAAAwACsAAAABAAEAAAAwACoAAAABAAEAAAAwACkAAAABAAEAAAAvADAAAAABAAIAAAAvAC8AAAABAAEAAAAvAC4AAAABAAEAAAAvAC0AAAABAAEAAAAvACwAAAABAAEAAAAvACsAAAABAAEAAAAvACoAAAABAAEAAAAvACkAAAABAAEAAAAuADAAAAABAAIAAAAuAC8AAAABAAEAAAAuAC4AAAABAAEAAAAuAC0AAAABAAEAAAAuACwAAAABAAEAAAAuACsAAAABAAEAAAAuACoAAAABAAEAAAAuACkAAAABAAEAAAAtADAAAAABAAIAAAAtAC8AAAABAAEAAAAtAC4AAAABAAEAAAAtAC0AAAABAAEAAAAtACwAAAABAAEAAAAtACsAAAABAAEAAAAtACoAAAABAAEAAAAtACkAAAABAAEAAAAsADAAAAABAAIAAAAsAC8AAAABAAEAAAAsAC4AAAABAAEAAAAsAC0AAAABAAEAAAAsACwAAAABAAEAAAAsACsAAAABAAEAAAAsACoAAAABAAEAAAAsACkAAAABAAEAAAArADAAAAABAAIAAAArAC8AAAABAAEAAAArAC4AAAABAAEAAAArAC0AAAABAAEAAAArACwAAAABAAEAAAArACsAAAABAAEAAAArACoAAAABAAEAAAArACkAAAABAAEAAAAqADAAAAABAAIAAAAqAC8AAAABAAEAAAAqAC4AAAABAAEAAAAqAC0AAAABAAEAAAAqACwAAAABAAEAAAAqACsAAAABAAEAAAAqACoAAAABAAEAAAAqACkAAAABAAEAAAApADAAAAABAAIAAAApAC8AAAABAAEAAAApAC4AAAABAAEAAAApAC0AAAABAAEAAAApACwAAAABAAEAAAApACsAAAABAAEAAAApACoAAAABAAEAAAApACkAAAABAAEAAAAoADAAAAABAAIAAAAoAC8AAAABAAEAAAAoAC4AAAABAAEAAAAoAC0AAAABAAEAAAAoACwAAAABAAEAAAAoACsAAAABAAEAAAAoACoAAAABAAEAAAAoACkAAAABAAEAAAAnADAAAAABAAIAAAAnAC8AAAABAAEAAAAnAC4AAAABAAEAAAAnAC0AAAABAAEAAAAnACwAAAABAAEAAAAnACsAAAABAAEAAAAnACoAAAABAAEAAAAnACkAAAABAAEAAAAmADAAAAABAAIAAAAmAC8AAAABAAEAAAAmAC4AAAABAAEAAAAmAC0AAAABAAEAAAAmACwAAAABAAEAAAAmACsAAAABAAEAAAAmACoAAAABAAEAAAAmACkAAAABAAEAAAAlADAAAAABAAIAAAAlAC8AAAABAAEAAAAlAC4AAAABAAEAAAAlAC0AAAABAAEAAAAlACwAAAABAAEAAAAlACsAAAABAAEAAAAlACoAAAABAAEAAAAlACkAAAABAAEAAAAkADAAAAABAAIAAAAkAC8AAAABAAEAAAAkAC4AAAABAAEAAAAkAC0AAAABAAEAAAAkACwAAAABAAEAAAAkACsAAAABAAEAAAAkACoAAAABAAEAAAAkACkAAAABAAEAAAAjADAAAAABAAIAAAAjAC8AAAABAAEAAAAjAC4AAAABAAEAAAAjAC0AAAABAAEAAAAjACwAAAABAAEAAAAjACsAAAABAAEAAAAjACoAAAABAAEAAAAjACkAAAABAAEAAAAiADAAAAABAAIAAAAiAC8AAAABAAEAAAAiAC4AAAABAAEAAAAiAC0AAAABAAEAAAAiACwAAAABAAEAAAAiACsAAAABAAEAAAAiACoAAAABAAEAAAAiACkAAAABAAEAAAAhADAAAAABAAIAAAAhAC8AAAABAAEAAAAhAC4AAAABAAEAAAAhAC0AAAABAAEAAAAhACwAAAABAAEAAAAhACsAAAABAAEAAAAhACoAAAABAAEAAAAhACkAAAABAAEAAAAgADAAAAABAAIAAAAgAC8AAAABAAEAAAAgAC4AAAABAAEAAAAgAC0AAAABAAEAAAAgACwAAAABAAEAAAAgACsAAAABAAEAAAAgACoAAAABAAEAAAAgACkAAAABAAEAAAAfADAAAAABAAIAAAAfAC8AAAABAAEAAAAfAC4AAAABAAEAAAAfAC0AAAABAAEAAAAfACwAAAABAAEAAAAfACsAAAABAAEAAAAfACoAAAABAAEAAAAfACkAAAABAAEAAAAeADAAAAABAAIAAAAeAC8AAAABAAEAAAAeAC4AAAABAAEAAAAeAC0AAAABAAEAAAAeACwAAAABAAEAAAAeACsAAAABAAEAAAAeACoAAAABAAEAAAAeACkAAAABAAEAAAAdADAAAAABAAIAAAAdAC8AAAABAAEAAAAdAC4AAAABAAEAAAAdAC0AAAABAAEAAAAdACwAAAABAAEAAAAdACsAAAABAAEAAAAdACoAAAABAAEAAAAdACkAAAABAAEAAAAcADAAAAABAAIAAAAcAC8AAAABAAEAAAAcAC4AAAABAAEAAAAcAC0AAAABAAEAAAAcACwAAAABAAEAAAAcACsAAAABAAEAAAAcACoAAAABAAEAAAAcACkAAAABAAEAAAAbADAAAAABAAIAAAAbAC8AAAABAAEAAAAbAC4AAAABAAEAAAAbAC0AAAABAAEAAAAbACwAAAABAAEAAAAbACsAAAABAAEAAAAbACoAAAABAAEAAAAbACkAAAABAAEAAAAaADAAAAABAAIAAAAaAC8AAAABAAEAAAAaAC4AAAABAAEAAAAaAC0AAAABAAEAAAAaACwAAAABAAEAAAAaACsAAAABAAEAAAAaACoAAAABAAEAAAAaACkAAAABAAEAAAAZADAAAAABAAIAAAAZAC8AAAABAAEAAAAZAC4AAAABAAEAAAAZAC0AAAABAAEAAAAZACwAAAABAAEAAAAZACsAAAABAAEAAAAZACoAAAABAAEAAAAZACkAAAABAAEAAAAYADAAAAABAAIAAAAYAC8AAAABAAEAAAAYAC4AAAABAAEAAAAYAC0AAAABAAEAAAAYACwAAAABAAEAAAAYACsAAAABAAEAAAAYACoAAAABAAEAAAAYACkAAAABAAEAAAAXADAAAAABAAIAAAAXAC8AAAABAAEAAAAXAC4AAAABAAEAAAAXAC0AAAABAAEAAAAXACwAAAABAAEAAAAXACsAAAABAAEAAAAXACoAAAABAAEAAAAXACkAAAABAAEAAAAWADAAAAABAAIAAAAWAC8AAAABAAEAAAAWAC4AAAABAAEAAAAWAC0AAAABAAEAAAAWACwAAAABAAEAAAAWACsAAAABAAEAAAAWACoAAAABAAEAAAAWACkAAAABAAEAAAAVADAAAAABAAIAAAAVAC8AAAABAAEAAAAVAC4AAAABAAEAAAAVAC0AAAABAAEAAAAVACwAAAABAAEAAAAVACsAAAABAAEAAAAVACoAAAABAAEAAAAVACkAAAABAAEAAAAUADAAAAABAAIAAAAUAC8AAAABAAEAAAAUAC4AAAABAAEAAAAUAC0AAAABAAEAAAAUACwAAAABAAEAAAAUACsAAAABAAEAAAAUACoAAAABAAEAAAAUACkAAAABAAEAAAATADAAAAABAAIAAAATAC8AAAABAAEAAAATAC4AAAABAAEAAAATAC0AAAABAAEAAAATACwAAAABAAEAAAATACsAAAABAAEAAAATACoAAAABAAEAAAATACkAAAABAAEAAAASADAAAAABAAIAAAASAC8AAAABAAEAAAASAC4AAAABAAEAAAASAC0AAAABAAEAAAASACwAAAABAAEAAAASACsAAAABAAEAAAASACoAAAABAAEAAAASACkAAAABAAEAAAARADAAAAABAAIAAAARAC8AAAABAAEAAAARAC4AAAABAAEAAAARAC0AAAABAAEAAAARACwAAAABAAEAAAARACsAAAABAAEAAAARACoAAAABAAEAAAARACkAAAABAAEAAAAQADAAAAABAAIAAAAQAC8AAAABAAEAAAAQAC4AAAABAAEAAAAQAC0AAAABAAEAAAAQACwAAAABAAEAAAAQACsAAAABAAEAAAAQACoAAAABAAEAAAAQACkAAAABAAEAAAAPADAAAAABAAIAAAAPAC8AAAABAAEAAAAPAC4AAAABAAEAAAAPAC0AAAABAAEAAAAPACwAAAABAAEAAAAPACsAAAABAAEAAAAPACoAAAABAAEAAAAPACkAAAABAAEAAAAOADAAAAABAAIAAAAOAC8AAAABAAEAAAAOAC4AAAABAAEAAAAOAC0AAAABAAEAAAAOACwAAAABAAEAAAAOACsAAAABAAEAAAAOACoAAAABAAEAAAAOACkAAAABAAEAAAANADAAAAABAAIAAAANAC8AAAABAAEAAAANAC4AAAABAAEAAAANAC0AAAABAAEAAAANACwAAAABAAEAAAANACsAAAABAAEAAAANACoAAAABAAEAAAANACkAAAABAAEAAAAMADAAAAABAAIAAAAMAC8AAAABAAEAAAAMAC4AAAABAAEAAAAMAC0AAAABAAEAAAAMACwAAAABAAEAAAAMACsAAAABAAEAAAAMACoAAAABAAEAAAAMACkAAAABAAEAAAALADAAAAABAAIAAAALAC8AAAABAAEAAAALAC4AAAABAAEAAAALAC0AAAABAAEAAAALACwAAAABAAEAAAALACsAAAABAAEAAAALACoAAAABAAEAAAALACkAAAABAAEAAAAKADAAAAABAAIAAAAKAC8AAAABAAEAAAAKAC4AAAABAAEAAAAKAC0AAAABAAEAAAAKACwAAAABAAEAAAAKACsAAAABAAEAAAAKACoAAAABAAEAAAAKACkAAAABAAEAAAAJADAAAAABAAIAAAAJAC8AAAABAAEAAAAJAC4AAAABAAEAAAAJAC0AAAABAAEAAAAJACwAAAABAAEAAAAJACsAAAABAAEAAAAJACoAAAABAAEAAAAJACkAAAABAAEAAAAIADAAAAABAAIAAAAIAC8AAAABAAEAAAAIAC4AAAABAAEAAAAIAC0AAAABAAEAAAAIACwAAAABAAEAAAAIACsAAAABAAEAAAAIACoAAAABAAEAAAAIACkAAAABAAEAAAAHADAAAAABAAIAAAAHAC8AAAABAAEAAAAHAC4AAAABAAEAAAAHAC0AAAABAAEAAAAHACwAAAABAAEAAAAHACsAAAABAAEAAAAHACoAAAABAAEAAAAHACkAAAABAAEAAAAGADAAAAABAAIAAAAGAC8AAAABAAEAAAAGAC4AAAABAAEAAAAGAC0AAAABAAEAAAAGACwAAAABAAEAAAAGACsAAAABAAEAAAAGACoAAAABAAEAAAAGACkAAAABAAEAAAAFADAAAAABAAIAAAAFAC8AAAABAAEAAAAFAC4AAAABAAEAAAAFAC0AAAABAAEAAAAFACwAAAABAAEAAAAFACsAAAABAAEAAAAFACoAAAABAAEAAAAFACkAAAABAAEAAAAEADAAAAABAAIAAAAEAC8AAAABAAEAAAAEAC4AAAABAAEAAAAEAC0AAAABAAEAAAAEACwAAAABAAEAAAAEACsAAAABAAEAAAAEACoAAAABAAEAAAAEACkAAAABAAEAAAADADAAAAABAAIAAAADAC8AAAABAAEAAAADAC4AAAABAAEAAAADAC0AAAABAAEAAAADACwAAAABAAEAAAADACsAAAABAAEAAAADACoAAAABAAEAAAADACkAAAABAAEAAAACADAAAAABAAIAAAACAC8AAAABAAEAAAACAC4AAAABAAEAAAACAC0AAAABAAEAAAACACwAAAABAAEAAAACACsAAAABAAEAAAACACoAAAABAAEAAAACACkAAAABAAEAAAABADAAAAABAAIAAAABAC8AAAABAAEAAAABAC4AAAABAAEAAAABAC0AAAABAAEAAAABACwAAAABAAEAAAABACsAAAABAAEAAAABACoAAAABAAEAAAABACkAAAABAAEAAAAAADAAAAABAAIAAAAAAC8AAAABAAEAAAAAAC4AAAABAAEAAAAAAC0AAAABAAEAAAAAACwAAAABAAEAAAAAACsAAAABAAEAAAAAACoAAAABAAEAAAAAACkAAAABAAEAAABtACgAAAACAAEAAABtACcAAAACAAEAAABsACgAAAABAAEAAABsACcAAAABAAEAAABrACgAAAABAAEAAABrACcAAAABAAEAAABqACgAAAABAAEAAABqACcAAAABAAEAAABpACgAAAABAAEAAABpACcAAAABAAEAAABoACgAAAABAAEAAABoACcAAAABAAEAAABnACgAAAABAAEAAABnACcAAAABAAEAAABmACgAAAABAAEAAABmACcAAAABAAEAAABlACgAAAABAAEAAABlACcAAAABAAEAAABkACgAAAABAAEAAABkACcAAAABAAEAAABjACgAAAABAAEAAABjACcAAAABAAEAAABiACgAAAABAAEAAABiACcAAAABAAEAAABhACgAAAABAAEAAABhACcAAAABAAEAAABgACgAAAABAAEAAABgACcAAAABAAEAAABfACgAAAABAAEAAABfACcAAAABAAEAAABeACgAAAABAAEAAABeACcAAAABAAEAAABdACgAAAABAAEAAABdACcAAAABAAEAAABcACgAAAABAAEAAABcACcAAAABAAEAAABbACgAAAABAAEAAABbACcAAAABAAEAAABaACgAAAABAAEAAABaACcAAAABAAEAAABZACgAAAABAAEAAABZACcAAAABAAEAAABYACgAAAABAAEAAABYACcAAAABAAEAAABXACgAAAABAAEAAABXACcAAAABAAEAAABWACgAAAABAAEAAABWACcAAAABAAEAAABVACgAAAABAAEAAABVACcAAAABAAEAAABUACgAAAABAAEAAABUACcAAAABAAEAAABTACgAAAABAAEAAABTACcAAAABAAEAAABSACgAAAABAAEAAABSACcAAAABAAEAAABRACgAAAABAAEAAABRACcAAAABAAEAAABQACgAAAABAAEAAABQACcAAAABAAEAAABPACgAAAABAAEAAABPACcAAAABAAEAAABOACgAAAABAAEAAABOACcAAAABAAEAAABNACgAAAABAAEAAABNACcAAAABAAEAAABMACgAAAABAAEAAABMACcAAAABAAEAAABLACgAAAABAAEAAABLACcAAAABAAEAAABKACgAAAABAAEAAABKACcAAAABAAEAAABJACgAAAABAAEAAABJACcAAAABAAEAAABIACgAAAABAAEAAABIACcAAAABAAEAAABHACgAAAABAAEAAABGACgAAAABAAEAAABFACgAAAABAAEAAABEACgAAAABAAEAAABDACgAAAABAAEAAABCACgAAAABAAEAAABBACgAAAABAAEAAABAACgAAAABAAEAAAA/ACgAAAABAAEAAAA+ACgAAAABAAEAAAA9ACgAAAABAAEAAAA8ACgAAAABAAEAAAA7ACgAAAABAAEAAAA6ACgAAAABAAEAAAA5ACgAAAABAAEAAAA4ACgAAAABAAEAAAA3ACgAAAABAAEAAAA2ACgAAAABAAEAAAA1ACgAAAABAAEAAAA0ACgAAAABAAEAAAAzACgAAAABAAEAAAAyACgAAAABAAEAAAAxACgAAAABAAEAAAAwACgAAAABAAEAAAAvACgAAAABAAEAAAAuACgAAAABAAEAAAAtACgAAAABAAEAAAAsACgAAAABAAEAAAArACgAAAABAAEAAAAqACgAAAABAAEAAAApACgAAAABAAEAAAAoACgAAAABAAEAAAAnACgAAAABAAEAAAAmACgAAAABAAEAAAAlACgAAAABAAEAAAAkACgAAAABAAEAAAAjACgAAAABAAEAAAAiACgAAAABAAEAAAAhACgAAAABAAEAAAAgACgAAAABAAEAAAAfACgAAAABAAEAAAAeACgAAAABAAEAAAAdACgAAAABAAEAAAAcACgAAAABAAEAAAAbACgAAAABAAEAAAAaACgAAAABAAEAAAAZACgAAAABAAEAAAAYACgAAAABAAEAAAAXACgAAAABAAEAAAAWACgAAAABAAEAAAAVACgAAAABAAEAAAAUACgAAAABAAEAAAATACgAAAABAAEAAAASACgAAAABAAEAAAARACgAAAABAAEAAAAQACgAAAABAAEAAAAPACgAAAABAAEAAAAOACgAAAABAAEAAAANACgAAAABAAEAAAAMACgAAAABAAEAAAALACgAAAABAAEAAAAKACgAAAABAAEAAAAJACgAAAABAAEAAAAIACgAAAABAAEAAAAHACgAAAABAAEAAAAGACgAAAABAAEAAAAFACgAAAABAAEAAAAEACgAAAABAAEAAAADACgAAAABAAEAAAACACgAAAABAAEAAAABACgAAAABAAEAAAAAACgAAAABAAEAAABtACYAAAACAAEAAABtACUAAAACAAEAAABtACQAAAACAAEAAABtACMAAAACAAEAAABtACIAAAACAAEAAABtACEAAAACAAEAAABtACAAAAACAAEAAABtAB8AAAACAAEAAABtAB4AAAACAAEAAABtAB0AAAACAAEAAABtABwAAAACAAEAAABtABsAAAACAAEAAABtABoAAAACAAEAAABtABkAAAACAAEAAABtABgAAAACAAEAAABtABcAAAACAAEAAABtABYAAAACAAEAAABtABUAAAACAAEAAABtABQAAAACAAEAAABtABMAAAACAAEAAABtABIAAAACAAEAAABtABEAAAACAAEAAABtABAAAAACAAEAAABsACYAAAABAAEAAABsACUAAAABAAEAAABsACQAAAABAAEAAABsACMAAAABAAEAAABsACIAAAABAAEAAABsACEAAAABAAEAAABsACAAAAABAAEAAABsAB8AAAABAAEAAABsAB4AAAABAAEAAABsAB0AAAABAAEAAABsABwAAAABAAEAAABsABsAAAABAAEAAABsABoAAAABAAEAAABsABkAAAABAAEAAABsABgAAAABAAEAAABsABcAAAABAAEAAABsABYAAAABAAEAAABsABUAAAABAAEAAABsABQAAAABAAEAAABsABMAAAABAAEAAABsABIAAAABAAEAAABsABEAAAABAAEAAABsABAAAAABAAEAAABrACYAAAABAAEAAABrACUAAAABAAEAAABrACQAAAABAAEAAABrACMAAAABAAEAAABrACIAAAABAAEAAABrACEAAAABAAEAAABrACAAAAABAAEAAABrAB8AAAABAAEAAABrAB4AAAABAAEAAABrAB0AAAABAAEAAABrABwAAAABAAEAAABrABsAAAABAAEAAABrABoAAAABAAEAAABrABkAAAABAAEAAABrABgAAAABAAEAAABrABcAAAABAAEAAABrABYAAAABAAEAAABrABUAAAABAAEAAABrABQAAAABAAEAAABrABMAAAABAAEAAABrABIAAAABAAEAAABrABEAAAABAAEAAABrABAAAAABAAEAAABqACYAAAABAAEAAABqACUAAAABAAEAAABqACQAAAABAAEAAABqACMAAAABAAEAAABqACIAAAABAAEAAABqACEAAAABAAEAAABqACAAAAABAAEAAABqAB8AAAABAAEAAABqAB4AAAABAAEAAABqAB0AAAABAAEAAABqABwAAAABAAEAAABqABsAAAABAAEAAABqABoAAAABAAEAAABqABkAAAABAAEAAABqABgAAAABAAEAAABqABcAAAABAAEAAABqABYAAAABAAEAAABqABUAAAABAAEAAABqABQAAAABAAEAAABqABMAAAABAAEAAABqABIAAAABAAEAAABqABEAAAABAAEAAABqABAAAAABAAEAAABpACYAAAABAAEAAABpACUAAAABAAEAAABpACQAAAABAAEAAABpACMAAAABAAEAAABpACIAAAABAAEAAABpACEAAAABAAEAAABpACAAAAABAAEAAABpAB8AAAABAAEAAABpAB4AAAABAAEAAABpAB0AAAABAAEAAABpABwAAAABAAEAAABpABsAAAABAAEAAABpABoAAAABAAEAAABpABkAAAABAAEAAABpABgAAAABAAEAAABpABcAAAABAAEAAABpABYAAAABAAEAAABpABUAAAABAAEAAABpABQAAAABAAEAAABpABMAAAABAAEAAABpABIAAAABAAEAAABpABEAAAABAAEAAABpABAAAAABAAEAAABoACYAAAABAAEAAABoACUAAAABAAEAAABoACQAAAABAAEAAABoACMAAAABAAEAAABoACIAAAABAAEAAABoACEAAAABAAEAAABoACAAAAABAAEAAABoAB8AAAABAAEAAABoAB4AAAABAAEAAABoAB0AAAABAAEAAABoABwAAAABAAEAAABoABsAAAABAAEAAABoABoAAAABAAEAAABoABkAAAABAAEAAABoABgAAAABAAEAAABoABcAAAABAAEAAABoABYAAAABAAEAAABoABUAAAABAAEAAABoABQAAAABAAEAAABoABMAAAABAAEAAABoABIAAAABAAEAAABoABEAAAABAAEAAABoABAAAAABAAEAAABnACYAAAABAAEAAABnACUAAAABAAEAAABnACQAAAABAAEAAABnACMAAAABAAEAAABnACIAAAABAAEAAABnACEAAAABAAEAAABnACAAAAABAAEAAABnAB8AAAABAAEAAABnAB4AAAABAAEAAABnAB0AAAABAAEAAABnABwAAAABAAEAAABnABsAAAABAAEAAABnABoAAAABAAEAAABnABkAAAABAAEAAABnABgAAAABAAEAAABnABcAAAABAAEAAABnABYAAAABAAEAAABnABUAAAABAAEAAABnABQAAAABAAEAAABnABMAAAABAAEAAABnABIAAAABAAEAAABnABEAAAABAAEAAABnABAAAAABAAEAAABmACYAAAABAAEAAABmACUAAAABAAEAAABmACQAAAABAAEAAABmACMAAAABAAEAAABmACIAAAABAAEAAABmACEAAAABAAEAAABmACAAAAABAAEAAABmAB8AAAABAAEAAABmAB4AAAABAAEAAABmAB0AAAABAAEAAABmABwAAAABAAEAAABmABsAAAABAAEAAABmABoAAAABAAEAAABmABkAAAABAAEAAABmABgAAAABAAEAAABmABcAAAABAAEAAABmABYAAAABAAEAAABmABUAAAABAAEAAABmABQAAAABAAEAAABmABMAAAABAAEAAABmABIAAAABAAEAAABmABEAAAABAAEAAABmABAAAAABAAEAAABlACYAAAABAAEAAABlACUAAAABAAEAAABlACQAAAABAAEAAABlACMAAAABAAEAAABlACIAAAABAAEAAABlACEAAAABAAEAAABlACAAAAABAAEAAABlAB8AAAABAAEAAABlAB4AAAABAAEAAABlAB0AAAABAAEAAABlABwAAAABAAEAAABlABsAAAABAAEAAABlABoAAAABAAEAAABlABkAAAABAAEAAABlABgAAAABAAEAAABlABcAAAABAAEAAABlABYAAAABAAEAAABlABUAAAABAAEAAABlABQAAAABAAEAAABlABMAAAABAAEAAABlABIAAAABAAEAAABlABEAAAABAAEAAABlABAAAAABAAEAAABkACYAAAABAAEAAABkACUAAAABAAEAAABkACQAAAABAAEAAABkACMAAAABAAEAAABkACIAAAABAAEAAABkACEAAAABAAEAAABkACAAAAABAAEAAABkAB8AAAABAAEAAABkAB4AAAABAAEAAABkAB0AAAABAAEAAABkABwAAAABAAEAAABkABsAAAABAAEAAABkABoAAAABAAEAAABkABkAAAABAAEAAABkABgAAAABAAEAAABkABcAAAABAAEAAABkABYAAAABAAEAAABkABUAAAABAAEAAABkABQAAAABAAEAAABkABMAAAABAAEAAABkABIAAAABAAEAAABkABEAAAABAAEAAABkABAAAAABAAEAAABjACYAAAABAAEAAABjACUAAAABAAEAAABjACQAAAABAAEAAABjACMAAAABAAEAAABjACIAAAABAAEAAABjACEAAAABAAEAAABjACAAAAABAAEAAABjAB8AAAABAAEAAABjAB4AAAABAAEAAABjAB0AAAABAAEAAABjABwAAAABAAEAAABjABsAAAABAAEAAABjABoAAAABAAEAAABjABkAAAABAAEAAABjABgAAAABAAEAAABjABcAAAABAAEAAABjABYAAAABAAEAAABjABUAAAABAAEAAABjABQAAAABAAEAAABjABMAAAABAAEAAABjABIAAAABAAEAAABjABEAAAABAAEAAABjABAAAAABAAEAAABiACYAAAABAAEAAABiACUAAAABAAEAAABiACQAAAABAAEAAABiACMAAAABAAEAAABiACIAAAABAAEAAABiACEAAAABAAEAAABiACAAAAABAAEAAABiAB8AAAABAAEAAABiAB4AAAABAAEAAABiAB0AAAABAAEAAABiABwAAAABAAEAAABiABsAAAABAAEAAABiABoAAAABAAEAAABiABkAAAABAAEAAABiABgAAAABAAEAAABiABcAAAABAAEAAABiABYAAAABAAEAAABiABUAAAABAAEAAABiABQAAAABAAEAAABiABMAAAABAAEAAABiABIAAAABAAEAAABiABEAAAABAAEAAABiABAAAAABAAEAAABhACYAAAABAAEAAABhACUAAAABAAEAAABhACQAAAABAAEAAABhACMAAAABAAEAAABhACIAAAABAAEAAABhACEAAAABAAEAAABhACAAAAABAAEAAABhAB8AAAABAAEAAABhAB4AAAABAAEAAABhAB0AAAABAAEAAABhABwAAAABAAEAAABhABsAAAABAAEAAABhABoAAAABAAEAAABhABkAAAABAAEAAABhABgAAAABAAEAAABhABcAAAABAAEAAABhABYAAAABAAEAAABhABUAAAABAAEAAABhABQAAAABAAEAAABhABMAAAABAAEAAABhABIAAAABAAEAAABhABEAAAABAAEAAABhABAAAAABAAEAAABgACYAAAABAAEAAABgACUAAAABAAEAAABgACQAAAABAAEAAABgACMAAAABAAEAAABgACIAAAABAAEAAABgACEAAAABAAEAAABgACAAAAABAAEAAABgAB8AAAABAAEAAABgAB4AAAABAAEAAABgAB0AAAABAAEAAABgABwAAAABAAEAAABgABsAAAABAAEAAABgABoAAAABAAEAAABgABkAAAABAAEAAABgABgAAAABAAEAAABgABcAAAABAAEAAABgABYAAAABAAEAAABgABUAAAABAAEAAABgABQAAAABAAEAAABgABMAAAABAAEAAABgABIAAAABAAEAAABgABEAAAABAAEAAABgABAAAAABAAEAAABfACYAAAABAAEAAABfACUAAAABAAEAAABfACQAAAABAAEAAABfACMAAAABAAEAAABfACIAAAABAAEAAABfACEAAAABAAEAAABfACAAAAABAAEAAABfAB8AAAABAAEAAABfAB4AAAABAAEAAABfAB0AAAABAAEAAABfABwAAAABAAEAAABfABsAAAABAAEAAABfABoAAAABAAEAAABfABkAAAABAAEAAABfABgAAAABAAEAAABfABcAAAABAAEAAABfABYAAAABAAEAAABfABUAAAABAAEAAABfABQAAAABAAEAAABfABMAAAABAAEAAABfABIAAAABAAEAAABfABEAAAABAAEAAABfABAAAAABAAEAAABeACYAAAABAAEAAABeACUAAAABAAEAAABeACQAAAABAAEAAABeACMAAAABAAEAAABeACIAAAABAAEAAABeACEAAAABAAEAAABeACAAAAABAAEAAABeAB8AAAABAAEAAABeAB4AAAABAAEAAABeAB0AAAABAAEAAABeABwAAAABAAEAAABeABsAAAABAAEAAABeABoAAAABAAEAAABeABkAAAABAAEAAABeABgAAAABAAEAAABeABcAAAABAAEAAABeABYAAAABAAEAAABeABUAAAABAAEAAABeABQAAAABAAEAAABeABMAAAABAAEAAABeABIAAAABAAEAAABeABEAAAABAAEAAABeABAAAAABAAEAAABdACYAAAABAAEAAABdACUAAAABAAEAAABdACQAAAABAAEAAABdACMAAAABAAEAAABdACIAAAABAAEAAABdACEAAAABAAEAAABdACAAAAABAAEAAABdAB8AAAABAAEAAABdAB4AAAABAAEAAABdAB0AAAABAAEAAABdABwAAAABAAEAAABdABsAAAABAAEAAABdABoAAAABAAEAAABdABkAAAABAAEAAABdABgAAAABAAEAAABdABcAAAABAAEAAABdABYAAAABAAEAAABdABUAAAABAAEAAABdABQAAAABAAEAAABdABMAAAABAAEAAABdABIAAAABAAEAAABdABEAAAABAAEAAABdABAAAAABAAEAAABcACYAAAABAAEAAABcACUAAAABAAEAAABcACQAAAABAAEAAABcACMAAAABAAEAAABcACIAAAABAAEAAABcACEAAAABAAEAAABcACAAAAABAAEAAABcAB8AAAABAAEAAABcAB4AAAABAAEAAABcAB0AAAABAAEAAABcABwAAAABAAEAAABcABsAAAABAAEAAABcABoAAAABAAEAAABcABkAAAABAAEAAABcABgAAAABAAEAAABcABcAAAABAAEAAABcABYAAAABAAEAAABcABUAAAABAAEAAABcABQAAAABAAEAAABcABMAAAABAAEAAABcABIAAAABAAEAAABcABEAAAABAAEAAABcABAAAAABAAEAAABbACYAAAABAAEAAABbACUAAAABAAEAAABbACQAAAABAAEAAABbACMAAAABAAEAAABbACIAAAABAAEAAABbACEAAAABAAEAAABbACAAAAABAAEAAABbAB8AAAABAAEAAABbAB4AAAABAAEAAABbAB0AAAABAAEAAABbABwAAAABAAEAAABbABsAAAABAAEAAABbABoAAAABAAEAAABbABkAAAABAAEAAABbABgAAAABAAEAAABbABcAAAABAAEAAABbABYAAAABAAEAAABbABUAAAABAAEAAABbABQAAAABAAEAAABbABMAAAABAAEAAABbABIAAAABAAEAAABbABEAAAABAAEAAABbABAAAAABAAEAAABaACYAAAABAAEAAABaACUAAAABAAEAAABaACQAAAABAAEAAABaACMAAAABAAEAAABaACIAAAABAAEAAABaACEAAAABAAEAAABaACAAAAABAAEAAABaAB8AAAABAAEAAABaAB4AAAABAAEAAABaAB0AAAABAAEAAABaABwAAAABAAEAAABaABsAAAABAAEAAABaABoAAAABAAEAAABaABkAAAABAAEAAABaABgAAAABAAEAAABaABcAAAABAAEAAABaABYAAAABAAEAAABaABUAAAABAAEAAABaABQAAAABAAEAAABaABMAAAABAAEAAABaABIAAAABAAEAAABaABEAAAABAAEAAABaABAAAAABAAEAAABZACYAAAABAAEAAABZACUAAAABAAEAAABZACQAAAABAAEAAABZACMAAAABAAEAAABZACIAAAABAAEAAABZACEAAAABAAEAAABZACAAAAABAAEAAABZAB8AAAABAAEAAABZAB4AAAABAAEAAABZAB0AAAABAAEAAABZABwAAAABAAEAAABZABsAAAABAAEAAABZABoAAAABAAEAAABZABkAAAABAAEAAABZABgAAAABAAEAAABZABcAAAABAAEAAABZABYAAAABAAEAAABZABUAAAABAAEAAABZABQAAAABAAEAAABZABMAAAABAAEAAABZABIAAAABAAEAAABZABEAAAABAAEAAABZABAAAAABAAEAAABYACYAAAABAAEAAABYACUAAAABAAEAAABYACQAAAABAAEAAABYACMAAAABAAEAAABYACIAAAABAAEAAABYACEAAAABAAEAAABYACAAAAABAAEAAABYAB8AAAABAAEAAABYAB4AAAABAAEAAABYAB0AAAABAAEAAABYABwAAAABAAEAAABYABsAAAABAAEAAABYABoAAAABAAEAAABYABkAAAABAAEAAABYABgAAAABAAEAAABYABcAAAABAAEAAABYABYAAAABAAEAAABYABUAAAABAAEAAABYABQAAAABAAEAAABYABMAAAABAAEAAABYABIAAAABAAEAAABYABEAAAABAAEAAABYABAAAAABAAEAAABXACYAAAABAAEAAABXACUAAAABAAEAAABXACQAAAABAAEAAABXACMAAAABAAEAAABXACIAAAABAAEAAABXACEAAAABAAEAAABXACAAAAABAAEAAABXAB8AAAABAAEAAABXAB4AAAABAAEAAABXAB0AAAABAAEAAABXABwAAAABAAEAAABXABsAAAABAAEAAABXABoAAAABAAEAAABXABkAAAABAAEAAABXABgAAAABAAEAAABXABcAAAABAAEAAABXABYAAAABAAEAAABXABUAAAABAAEAAABXABQAAAABAAEAAABXABMAAAABAAEAAABXABIAAAABAAEAAABXABEAAAABAAEAAABXABAAAAAFAAEAAABWACYAAAABAAEAAABWACUAAAABAAEAAABWACQAAAABAAEAAABWACMAAAABAAEAAABWACIAAAABAAEAAABWACEAAAABAAEAAABWACAAAAABAAEAAABWAB8AAAABAAEAAABWAB4AAAABAAEAAABWAB0AAAABAAEAAABWABwAAAABAAEAAABWABsAAAABAAEAAABWABoAAAABAAEAAABWABkAAAABAAEAAABWABgAAAABAAEAAABWABcAAAABAAEAAABWABYAAAABAAEAAABWABUAAAABAAEAAABWABQAAAABAAEAAABWABMAAAABAAEAAABWABIAAAABAAEAAABWABEAAAABAAEAAABWABAAAAABAAAAAABVACYAAAABAAEAAABVACUAAAABAAEAAABVACQAAAABAAEAAABVACMAAAABAAEAAABVACIAAAABAAEAAABVACEAAAABAAEAAABVACAAAAABAAEAAABVAB8AAAABAAEAAABVAB4AAAABAAEAAABVAB0AAAABAAEAAABVABwAAAABAAEAAABVABsAAAABAAEAAABVABoAAAABAAEAAABVABkAAAABAAEAAABVABgAAAABAAEAAABVABcAAAABAAEAAABVABYAAAABAAEAAABVABUAAAABAAEAAABVABQAAAABAAEAAABVABMAAAABAAEAAABVABIAAAABAAEAAABVABEAAAABAAEAAABVABAAAAABAAAAAABUACYAAAABAAEAAABUACUAAAABAAEAAABUACQAAAABAAEAAABUACMAAAABAAEAAABUACIAAAABAAEAAABUACEAAAABAAEAAABUACAAAAABAAEAAABUAB8AAAABAAEAAABUAB4AAAABAAEAAABUAB0AAAABAAEAAABUABwAAAABAAEAAABUABsAAAABAAEAAABUABoAAAABAAEAAABUABkAAAABAAEAAABUABgAAAABAAEAAABUABcAAAABAAEAAABUABYAAAABAAEAAABUABUAAAABAAEAAABUABQAAAABAAEAAABUABMAAAABAAEAAABUABIAAAABAAEAAABUABEAAAABAAEAAABUABAAAAABAAAAAABTACYAAAABAAEAAABTACUAAAABAAEAAABTACQAAAABAAEAAABTACMAAAABAAEAAABTACIAAAABAAEAAABTACEAAAABAAEAAABTACAAAAABAAEAAABTAB8AAAABAAEAAABTAB4AAAABAAEAAABTAB0AAAAFAAEAAABTABwAAAAAAAEAAABTABsAAAAAAAEAAABTABoAAAAAAAEAAABTABkAAAAAAAEAAABTABgAAAAAAAEAAABTABcAAAAAAAEAAABTABYAAAAAAAEAAABTABUAAAAFAAAAAABTABQAAAABAAEAAABTABMAAAABAAEAAABTABIAAAABAAEAAABTABEAAAABAAEAAABTABAAAAABAAAAAABSACYAAAABAAEAAABSACUAAAABAAEAAABSACQAAAABAAEAAABSACMAAAABAAEAAABSACIAAAABAAEAAABSACEAAAABAAEAAABSACAAAAABAAEAAABSABIAAAABAAEAAABSABEAAAABAAEAAABSABAAAAABAAAAAABRACYAAAABAAEAAABRACUAAAABAAEAAABRACQAAAABAAEAAABRACMAAAABAAEAAABRACIAAAABAAEAAABRACEAAAABAAEAAABRACAAAAABAAEAAABRABIAAAABAAEAAABRABEAAAABAAEAAABRABAAAAABAAAAAABQACYAAAABAAEAAABQACUAAAABAAEAAABQACQAAAABAAEAAABQACMAAAABAAEAAABQACIAAAABAAEAAABQACEAAAABAAEAAABQACAAAAABAAEAAABQABIAAAABAAEAAABQABEAAAABAAEAAABQABAAAAABAAAAAABPACYAAAABAAEAAABPACUAAAABAAEAAABPACQAAAABAAEAAABPACMAAAABAAEAAABPACIAAAABAAEAAABPACEAAAABAAEAAABPACAAAAABAAEAAABPABIAAAABAAEAAABPABEAAAABAAEAAABPABAAAAABAAAAAABOACYAAAABAAEAAABOACUAAAABAAEAAABOACQAAAABAAEAAABOACMAAAABAAEAAABOACIAAAABAAEAAABOACEAAAABAAEAAABOACAAAAABAAEAAABOABIAAAABAAEAAABOABEAAAABAAEAAABOABAAAAABAAAAAABNACYAAAABAAEAAABNACUAAAABAAEAAABNABIAAAABAAEAAABNABEAAAABAAEAAABNABAAAAABAAAAAABMACYAAAABAAEAAABMACUAAAABAAEAAABMABIAAAABAAEAAABMABEAAAABAAEAAABMABAAAAABAAAAAABLACYAAAABAAEAAABLACUAAAABAAEAAABLABIAAAABAAEAAABLABEAAAABAAEAAABLABAAAAABAAAAAABKACYAAAABAAEAAABKACUAAAABAAEAAABKABIAAAABAAEAAABKABEAAAABAAEAAABKABAAAAABAAAAAABJACYAAAABAAEAAABJACUAAAABAAEAAABJABIAAAABAAEAAABJABEAAAABAAEAAABJABAAAAABAAAAAABIACYAAAABAAEAAABIACUAAAABAAEAAABIABUAAAABAAEAAABIABQAAAABAAEAAABIABMAAAABAAEAAABIABIAAAABAAEAAABIABEAAAABAAEAAABIABAAAAABAAAAAABHABsAAAACAAEAAABHABoAAAACAAEAAABHABkAAAAEAAAAAABHABgAAAABAAEAAABHABcAAAABAAEAAABHABYAAAABAAEAAABHABUAAAABAAEAAABHABQAAAABAAEAAABHABMAAAABAAEAAABHABIAAAABAAEAAABHABEAAAABAAEAAABHABAAAAABAAAAAABGABsAAAABAAEAAABGABoAAAABAAEAAABGABkAAAABAAEAAABGABgAAAABAAEAAABGABcAAAABAAEAAABGABYAAAABAAEAAABGABUAAAABAAEAAABGABQAAAABAAEAAABGABMAAAABAAEAAABGABIAAAABAAEAAABGABEAAAABAAEAAABGABAAAAABAAAAAABFABsAAAAAAAEAAABFABoAAAAAAAEAAABFABkAAAAAAAEAAABFABgAAAAAAAEAAABFABcAAAAAAAEAAABFABYAAAAAAAEAAABFABUAAAAAAAEAAABFABQAAAAFAAAAAABFABMAAAABAAEAAABFABIAAAABAAEAAABFABEAAAABAAEAAABFABAAAAABAAAAAABtAA8AAAACAAEAAABtAA4AAAACAAEAAABtAA0AAAACAAEAAABtAAwAAAACAAEAAABtAAsAAAACAAEAAABtAAoAAAACAAEAAABtAAkAAAACAAEAAABtAAgAAAACAAEAAABtAAcAAAACAAEAAABtAAYAAAACAAEAAABtAAUAAAACAAEAAABtAAQAAAACAAEAAABtAAMAAAACAAEAAABtAAIAAAACAAEAAABtAAEAAAACAAEAAABtAAAAAAACAAEAAABtAP//AAACAAEAAABtAP7/AAACAAAAAABsAA8AAAABAAEAAABsAA4AAAABAAEAAABsAA0AAAABAAEAAABsAAwAAAABAAEAAABsAAsAAAABAAEAAABsAAoAAAABAAEAAABsAAkAAAABAAEAAABsAAgAAAABAAEAAABsAAcAAAABAAEAAABsAAYAAAABAAEAAABsAAUAAAABAAEAAABsAAQAAAABAAEAAABsAAMAAAABAAEAAABsAAIAAAABAAEAAABsAAEAAAABAAEAAABsAAAAAAABAAEAAABsAP//AAABAAEAAABsAP7/AAABAAAAAABrAA8AAAABAAEAAABrAA4AAAABAAEAAABrAA0AAAABAAEAAABrAAwAAAABAAEAAABrAAsAAAABAAEAAABrAAoAAAABAAEAAABrAAkAAAABAAEAAABrAAgAAAABAAEAAABrAAcAAAABAAEAAABrAAYAAAABAAEAAABrAAUAAAABAAEAAABrAAQAAAABAAEAAABrAAMAAAABAAEAAABrAAIAAAABAAEAAABrAAEAAAABAAEAAABrAAAAAAABAAEAAABrAP//AAABAAEAAABrAP7/AAABAAAAAABqAA8AAAABAAEAAABqAA4AAAABAAEAAABqAA0AAAABAAEAAABqAAwAAAABAAEAAABqAAsAAAABAAEAAABqAAoAAAABAAEAAABqAAkAAAABAAEAAABqAAgAAAABAAEAAABqAAcAAAABAAEAAABqAAYAAAABAAEAAABqAAUAAAABAAEAAABqAAQAAAABAAEAAABqAAMAAAABAAEAAABqAAIAAAABAAEAAABqAAEAAAABAAEAAABqAAAAAAABAAEAAABqAP//AAABAAEAAABqAP7/AAABAAAAAABpAA8AAAABAAEAAABpAA4AAAABAAEAAABpAA0AAAABAAEAAABpAAwAAAABAAEAAABpAAsAAAABAAEAAABpAAoAAAABAAEAAABpAAkAAAABAAEAAABpAAgAAAABAAEAAABpAAcAAAABAAEAAABpAAYAAAABAAEAAABpAAUAAAABAAEAAABpAAQAAAABAAEAAABpAAMAAAABAAEAAABpAAIAAAABAAEAAABpAAEAAAABAAEAAABpAAAAAAABAAEAAABpAP//AAABAAEAAABpAP7/AAABAAAAAABoAA8AAAABAAEAAABoAA4AAAABAAEAAABoAA0AAAABAAEAAABoAAwAAAABAAEAAABoAAsAAAABAAEAAABoAAoAAAABAAEAAABoAAkAAAABAAEAAABoAAgAAAABAAEAAABoAAcAAAABAAEAAABoAAYAAAABAAEAAABoAAUAAAABAAEAAABoAAQAAAABAAEAAABoAAMAAAABAAEAAABoAAIAAAABAAEAAABoAAEAAAABAAEAAABoAAAAAAABAAEAAABoAP//AAABAAEAAABoAP7/AAABAAAAAABnAA8AAAABAAEAAABnAA4AAAABAAEAAABnAA0AAAABAAEAAABnAAwAAAABAAEAAABnAAsAAAABAAEAAABnAAoAAAABAAEAAABnAAkAAAABAAEAAABnAAgAAAABAAEAAABnAAcAAAABAAEAAABnAAYAAAABAAEAAABnAAUAAAABAAEAAABnAAQAAAABAAEAAABnAAMAAAABAAEAAABnAAIAAAABAAEAAABnAAEAAAABAAEAAABnAAAAAAABAAEAAABnAP//AAABAAEAAABnAP7/AAABAAAAAABmAA8AAAABAAEAAABmAA4AAAABAAEAAABmAA0AAAABAAEAAABmAAwAAAABAAEAAABmAAsAAAABAAEAAABmAAoAAAABAAEAAABmAAkAAAABAAEAAABmAAgAAAABAAEAAABmAAcAAAABAAEAAABmAAYAAAABAAEAAABmAAUAAAABAAEAAABmAAQAAAABAAEAAABmAAMAAAABAAEAAABmAAIAAAABAAEAAABmAAEAAAABAAEAAABmAAAAAAABAAEAAABmAP//AAABAAEAAABmAP7/AAABAAAAAABlAA8AAAABAAEAAABlAA4AAAABAAEAAABlAA0AAAABAAEAAABlAAwAAAABAAEAAABlAAsAAAABAAEAAABlAAoAAAABAAEAAABlAAkAAAABAAEAAABlAAgAAAABAAEAAABlAAcAAAABAAEAAABlAAYAAAABAAEAAABlAAUAAAABAAEAAABlAAQAAAABAAEAAABlAAMAAAABAAEAAABlAAIAAAABAAEAAABlAAEAAAABAAEAAABlAAAAAAABAAEAAABlAP//AAABAAEAAABlAP7/AAABAAAAAABkAA8AAAABAAEAAABkAA4AAAABAAEAAABkAA0AAAABAAEAAABkAAwAAAABAAEAAABkAAsAAAABAAEAAABkAAoAAAABAAEAAABkAAkAAAABAAEAAABkAAgAAAABAAEAAABkAAcAAAABAAEAAABkAAYAAAABAAEAAABkAAUAAAABAAEAAABkAAQAAAABAAEAAABkAAMAAAABAAEAAABkAAIAAAABAAEAAABkAAEAAAABAAEAAABkAAAAAAABAAEAAABkAP//AAABAAEAAABkAP7/AAABAAAAAABjAA8AAAABAAEAAABjAA4AAAABAAEAAABjAA0AAAABAAEAAABjAAwAAAABAAEAAABjAAsAAAABAAEAAABjAAoAAAABAAEAAABjAAkAAAABAAEAAABjAAgAAAABAAEAAABjAAcAAAABAAEAAABjAAYAAAABAAEAAABjAAUAAAABAAEAAABjAAQAAAABAAEAAABjAAMAAAABAAEAAABjAAIAAAABAAEAAABjAAEAAAABAAEAAABjAAAAAAABAAEAAABjAP//AAABAAEAAABjAP7/AAABAAAAAABiAA8AAAABAAEAAABiAA4AAAABAAEAAABiAA0AAAABAAEAAABiAAwAAAABAAEAAABiAAsAAAABAAEAAABiAAoAAAABAAEAAABiAAkAAAABAAEAAABiAAgAAAABAAEAAABiAAcAAAABAAEAAABiAAYAAAABAAEAAABiAAUAAAABAAEAAABiAAQAAAABAAEAAABiAAMAAAABAAEAAABiAAIAAAABAAEAAABiAAEAAAABAAEAAABiAAAAAAABAAEAAABiAP//AAABAAEAAABiAP7/AAABAAAAAABhAA8AAAABAAEAAABhAA4AAAABAAEAAABhAA0AAAABAAEAAABhAAwAAAABAAEAAABhAAsAAAABAAEAAABhAAoAAAABAAEAAABhAAkAAAABAAEAAABhAAgAAAAFAAEAAABhAAcAAAAAAAEAAABhAAYAAAAAAAEAAABhAAUAAAAAAAEAAABhAAQAAAAAAAEAAABhAAMAAAAAAAEAAABhAAIAAAAAAAEAAABhAAEAAAAAAAEAAABhAAAAAAAAAAEAAABhAP//AAAAAAEAAABhAP7/AAAAAAAAAABgAA8AAAABAAEAAABgAA4AAAABAAEAAABgAA0AAAABAAEAAABgAAwAAAABAAEAAABgAAsAAAABAAEAAABgAAoAAAABAAEAAABgAAkAAAABAAEAAABgAAgAAAABAAAAAABfAA8AAAABAAEAAABfAA4AAAABAAEAAABfAA0AAAABAAEAAABfAAwAAAABAAEAAABfAAsAAAABAAEAAABfAAoAAAABAAEAAABfAAkAAAABAAEAAABfAAgAAAABAAAAAABeAA8AAAABAAEAAABeAA4AAAABAAEAAABeAA0AAAABAAEAAABeAAwAAAABAAEAAABeAAsAAAABAAEAAABeAAoAAAABAAEAAABeAAkAAAABAAEAAABeAAgAAAABAAAAAABdAA8AAAABAAEAAABdAA4AAAABAAEAAABdAA0AAAABAAEAAABdAAwAAAABAAEAAABdAAsAAAABAAEAAABdAAoAAAABAAEAAABdAAkAAAABAAEAAABdAAgAAAABAAAAAABcAA8AAAABAAEAAABcAA4AAAABAAEAAABcAA0AAAABAAEAAABcAAwAAAABAAEAAABcAAsAAAABAAEAAABcAAoAAAABAAEAAABcAAkAAAABAAEAAABcAAgAAAABAAAAAABbAA8AAAABAAEAAABbAA4AAAABAAEAAABbAA0AAAABAAEAAABbAAwAAAABAAEAAABbAAsAAAABAAEAAABbAAoAAAABAAEAAABbAAkAAAABAAEAAABbAAgAAAABAAAAAABaAA8AAAABAAEAAABaAA4AAAAFAAEAAABaAA0AAAAAAAEAAABaAAwAAAAAAAEAAABaAAsAAAAAAAEAAABaAAoAAAAAAAEAAABaAAkAAAAAAAEAAABaAAgAAAAAAAAAAABZAA8AAAABAAEAAABZAA4AAAABAAAAAABYAA8AAAABAAEAAABYAA4AAAABAAAAAABXAA8AAAAAAAEAAABXAA4AAAAAAAAAAABNABUAAAABAAIAAABNABQAAAABAAEAAABNABMAAAABAAEAAABMABUAAAABAAIAAABMABQAAAABAAEAAABMABMAAAABAAEAAABLABUAAAABAAIAAABLABQAAAABAAEAAABLABMAAAABAAEAAABKABUAAAABAAIAAABKABQAAAABAAEAAABKABMAAAABAAEAAABJABUAAAAEAAAAAABJABQAAAABAAEAAABJABMAAAABAAEAAABEABMAAAAFAAAAAABEABIAAAABAAEAAABEABEAAAABAAEAAABDABMAAAABAAIAAABDABIAAAABAAEAAABDABEAAAABAAEAAABCABMAAAAAAAIAAABCABIAAAAAAAEAAABCABEAAAAAAAEAAABDABAAAAAEAAEAAABDAA8AAAACAAAAAABCABAAAAAFAAAAAABCAA8AAAABAAAAAABBABAAAAAAAAIAAABBAA8AAAAAAAAAAABEABAAAAABAAAAAABEABQAAAAAAAIAAABIABkAAAACAAIAAABIABgAAAACAAEAAABIABcAAAACAAEAAABIABYAAAAEAAAAAABJABYAAAACAAIAAABSABUAAAABAAIAAABSABQAAAABAAEAAABSABMAAAABAAEAAABRABUAAAABAAIAAABRABQAAAABAAEAAABRABMAAAABAAEAAABQABUAAAABAAIAAABQABQAAAABAAEAAABQABMAAAABAAEAAABPABUAAAABAAIAAABPABQAAAABAAEAAABPABMAAAABAAEAAABOABUAAAABAAIAAABOABQAAAABAAEAAABOABMAAAABAAEAAABSAB8AAAABAAEAAABSAB4AAAABAAEAAABSAB0AAAABAAAAAABRAB8AAAABAAEAAABRAB4AAAABAAEAAABRAB0AAAABAAAAAABQAB8AAAABAAEAAABQAB4AAAABAAEAAABQAB0AAAABAAAAAABPAB8AAAABAAEAAABPAB4AAAABAAEAAABPAB0AAAABAAAAAABOAB8AAAABAAEAAABOAB4AAAABAAEAAABOAB0AAAABAAAAAAACABwAAAABAAEAAAACAB0AAAABAAEAAAACAB4AAAABAAEAAAACAB8AAAABAAEAAAACACAAAAABAAEAAAACACEAAAABAAEAAAACACIAAAABAAEAAAACACMAAAABAAEAAAACACQAAAABAAEAAAADABwAAAACAAEAAAADAB0AAAACAAEAAAADAB4AAAAEAAEAAAADAB8AAAABAAEAAAADACAAAAABAAEAAAADACEAAAABAAEAAAADACIAAAABAAEAAAADACMAAAABAAEAAAADACQAAAABAAEAAAAEAB4AAAABAAAAAAAEAB8AAAABAAEAAAAEACAAAAABAAEAAAAEACEAAAABAAEAAAAEACIAAAABAAEAAAAEACMAAAABAAEAAAAEACQAAAABAAEAAAAFAB4AAAACAAAAAAAFAB8AAAACAAEAAAAFACAAAAAEAAEAAAAFACEAAAABAAEAAAAFACIAAAABAAEAAAAFACMAAAABAAEAAAAFACQAAAABAAEAAAAGACAAAAABAAAAAAAGACEAAAABAAEAAAAGACIAAAABAAEAAAAGACMAAAABAAEAAAAGACQAAAABAAEAAAAHACAAAAABAAAAAAAHACEAAAABAAEAAAAHACIAAAABAAEAAAAHACMAAAABAAEAAAAHACQAAAABAAEAAAAIACAAAAACAAAAAAAIACEAAAACAAEAAAAIACIAAAACAAEAAAAIACMAAAAEAAEAAAAIACQAAAABAAEAAAAJACMAAAABAAAAAAAJACQAAAABAAEAAAAKACMAAAABAAAAAAAKACQAAAABAAEAAAALACMAAAABAAAAAAALACQAAAABAAEAAAAMACMAAAABAAAAAAAMACQAAAABAAEAAAANACMAAAABAAAAAAANACQAAAABAAEAAAAOACMAAAABAAAAAAAOACQAAAABAAEAAAAPACMAAAABAAAAAAAPACQAAAABAAEAAAAQACMAAAABAAAAAAAQACQAAAABAAEAAAARACMAAAABAAAAAAARACQAAAABAAEAAAASACMAAAABAAAAAAASACQAAAABAAEAAAATACMAAAABAAAAAAATACQAAAABAAEAAAAUACMAAAABAAAAAAAUACQAAAABAAEAAAAVACMAAAABAAAAAAAVACQAAAABAAEAAAAWACMAAAABAAAAAAAWACQAAAABAAEAAAAXACMAAAABAAAAAAAXACQAAAABAAEAAAAYACMAAAABAAAAAAAYACQAAAABAAEAAAAZACMAAAABAAAAAAAZACQAAAABAAEAAAAaACMAAAABAAAAAAAaACQAAAABAAEAAAAbACMAAAABAAAAAAAbACQAAAABAAEAAAAcACMAAAABAAAAAAAcACQAAAABAAEAAAAdACMAAAABAAAAAAAdACQAAAABAAEAAAAeACMAAAABAAAAAAAeACQAAAABAAEAAAAfACMAAAABAAAAAAAfACQAAAABAAEAAAAgACMAAAABAAAAAAAgACQAAAABAAEAAAAhACMAAAABAAAAAAAhACQAAAABAAEAAAAiACMAAAABAAAAAAAiACQAAAABAAEAAAAjACMAAAABAAAAAAAjACQAAAABAAEAAAAkACMAAAABAAAAAAAkACQAAAABAAEAAAAlACMAAAABAAAAAAAlACQAAAABAAEAAAAmACMAAAABAAAAAAAmACQAAAABAAEAAAAnACMAAAABAAAAAAAnACQAAAABAAEAAAAoACMAAAABAAAAAAAoACQAAAABAAEAAAApACMAAAABAAAAAAApACQAAAABAAEAAAAqACMAAAABAAAAAAAqACQAAAABAAEAAAArACMAAAABAAAAAAArACQAAAABAAEAAAAsACMAAAABAAAAAAAsACQAAAABAAEAAAAtACMAAAABAAAAAAAtACQAAAABAAEAAAAuACMAAAABAAAAAAAuACQAAAABAAEAAAAvACMAAAABAAAAAAAvACQAAAABAAEAAAAwACMAAAABAAAAAAAwACQAAAABAAEAAAAxACMAAAABAAAAAAAxACQAAAABAAEAAAAyACMAAAABAAAAAAAyACQAAAABAAEAAAAzACMAAAABAAAAAAAzACQAAAABAAEAAAA0ACMAAAABAAAAAAA0ACQAAAABAAEAAAA1ACMAAAABAAAAAAA1ACQAAAABAAEAAAA2ACMAAAABAAAAAAA2ACQAAAABAAEAAAA3ACMAAAABAAAAAAA3ACQAAAABAAEAAAA4ACMAAAABAAAAAAA4ACQAAAABAAEAAAA5ACMAAAABAAAAAAA5ACQAAAABAAEAAAA6ACMAAAABAAAAAAA6ACQAAAABAAEAAAA7ACMAAAABAAAAAAA7ACQAAAABAAEAAAA8ACMAAAABAAAAAAA8ACQAAAABAAEAAAA9ACMAAAABAAAAAAA9ACQAAAABAAEAAAA+ACMAAAABAAAAAAA+ACQAAAABAAEAAAA/ACMAAAABAAAAAAA/ACQAAAABAAEAAABAACMAAAABAAAAAABAACQAAAABAAEAAABBACMAAAABAAAAAABBACQAAAABAAEAAABCACMAAAABAAAAAABCACQAAAABAAEAAABDACMAAAABAAAAAABDACQAAAABAAEAAABEACIAAAAAAAAAAABEACMAAAAFAAEAAABEACQAAAABAAEAAABFABwAAAAAAAIAAABFACAAAAAAAAAAAABFACEAAAAAAAEAAABFACIAAAAFAAEAAABFACMAAAABAAEAAABFACQAAAABAAEAAABGABwAAAABAAIAAABGACAAAAABAAAAAABGACEAAAABAAEAAABGACIAAAABAAEAAABGACMAAAABAAEAAABGACQAAAABAAEAAABHABwAAAACAAIAAABHACAAAAABAAAAAABHACEAAAABAAEAAABHACIAAAABAAEAAABHACMAAAABAAEAAABHACQAAAABAAEAAABIACAAAAABAAAAAABIACEAAAABAAEAAABIACIAAAABAAEAAABIACMAAAABAAEAAABIACQAAAABAAEAAABJACAAAAABAAAAAABJACEAAAABAAEAAABJACIAAAABAAEAAABJACMAAAABAAEAAABJACQAAAABAAEAAABKAB8AAAAAAAAAAABKACAAAAAFAAEAAABKACEAAAABAAEAAABKACIAAAABAAEAAABKACMAAAABAAEAAABKACQAAAABAAEAAABLAB0AAAAAAAAAAABLAB4AAAAAAAEAAABLAB8AAAAFAAEAAABLACAAAAABAAEAAABLACEAAAABAAEAAABLACIAAAABAAEAAABLACMAAAABAAEAAABLACQAAAABAAEAAABMAB0AAAABAAAAAABMAB4AAAABAAEAAABMAB8AAAABAAEAAABMACAAAAABAAEAAABMACEAAAABAAEAAABMACIAAAABAAEAAABMACMAAAABAAEAAABMACQAAAABAAEAAABNAB0AAAABAAAAAABNAB4AAAABAAEAAABNAB8AAAABAAEAAABNACAAAAABAAEAAABNACEAAAABAAEAAABNACIAAAABAAEAAABNACMAAAABAAEAAABNACQAAAABAAEAAAA=") 36 | tile_set = ExtResource("1_bk2w7") 37 | 38 | [node name="FakeFront" type="TileMapLayer" parent="."] 39 | tile_map_data = PackedByteArray("AAAwABcAAAACAAIAAAAwABYAAAACAAAAAAAvABcAAAABAAIAAAAvABYAAAABAAAAAAAuABcAAAABAAIAAAAuABYAAAABAAAAAAAtABcAAAAEAAAAAAAtABYAAAABAAAAAAAsABcAAAABAAEAAAAsABYAAAABAAAAAAArABcAAAABAAEAAAArABYAAAABAAAAAAAqABcAAAABAAEAAAAqABYAAAABAAAAAAApABcAAAABAAEAAAApABYAAAABAAAAAAAoABcAAAABAAEAAAAoABYAAAABAAAAAAAnABcAAAABAAEAAAAnABYAAAABAAAAAAAmABcAAAABAAEAAAAmABYAAAABAAAAAAAlABcAAAABAAEAAAAlABYAAAABAAAAAAAkABcAAAABAAEAAAAkABYAAAABAAAAAAAjABcAAAABAAEAAAAjABYAAAABAAAAAAAiABcAAAAFAAAAAAAiABYAAAABAAAAAAAhABcAAAABAAIAAAAhABYAAAABAAAAAAAgABcAAAABAAIAAAAgABYAAAABAAAAAAAfABcAAAABAAIAAAAfABYAAAABAAAAAAAeABcAAAABAAIAAAAeABYAAAABAAAAAAAdABcAAAABAAIAAAAdABYAAAABAAAAAAAcABcAAAABAAIAAAAcABYAAAABAAAAAAAbABcAAAAAAAIAAAAbABYAAAAAAAAAAAAtABkAAAACAAIAAAAtABgAAAACAAEAAAAsABkAAAABAAIAAAAsABgAAAABAAEAAAArABkAAAABAAIAAAArABgAAAABAAEAAAAqABkAAAABAAIAAAAqABgAAAABAAEAAAApABkAAAABAAIAAAApABgAAAABAAEAAAAoABkAAAABAAIAAAAoABgAAAABAAEAAAAnABkAAAABAAIAAAAnABgAAAABAAEAAAAmABkAAAABAAIAAAAmABgAAAABAAEAAAAlABkAAAABAAIAAAAlABgAAAABAAEAAAAkABkAAAABAAIAAAAkABgAAAABAAEAAAAjABkAAAABAAIAAAAjABgAAAABAAEAAAAiABkAAAAAAAIAAAAiABgAAAAAAAEAAAA7ABwAAAABAAEAAAA6ABwAAAAFAAEAAAA5ABwAAAABAAAAAAA4ABwAAAAAAAAAAAA+AB0AAAACAAIAAAA+ABwAAAACAAEAAAA+ABsAAAACAAEAAAA+ABoAAAACAAEAAAA+ABkAAAACAAAAAAA9ABwAAAABAAEAAAA9ABsAAAABAAEAAAA9ABoAAAABAAEAAAA9ABkAAAABAAAAAAA8ABwAAAABAAEAAAA8ABsAAAABAAEAAAA8ABoAAAABAAEAAAA8ABkAAAABAAAAAAA7ABsAAAABAAEAAAA7ABoAAAABAAEAAAA7ABkAAAABAAAAAAA6ABsAAAAAAAEAAAA6ABoAAAAAAAEAAAA6ABkAAAAAAAAAAAA9AB0AAAABAAIAAAA8AB0AAAABAAIAAAA7AB0AAAABAAIAAAA6AB0AAAABAAIAAAA5AB0AAAABAAIAAAA4AB0AAAAAAAIAAAA=") 40 | tile_set = ExtResource("1_bk2w7") 41 | -------------------------------------------------------------------------------- /examples/2_with_border_and_collision/WithBorderAndCollision.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=9 format=4 uid="uid://6ivtvcyo8x0g"] 2 | 3 | [ext_resource type="Script" path="res://examples/MainNode.gd" id="1_gkwiu"] 4 | [ext_resource type="Script" path="res://addons/liquidsimulator/LiquidServer.gd" id="2_wb085"] 5 | [ext_resource type="PackedScene" uid="uid://dcre3pq1g266o" path="res://examples/WaterWithBorderAndCollision.tscn" id="3_ctxkd"] 6 | [ext_resource type="Script" path="res://addons/liquidsimulator/LiquidMap.gd" id="4_a4i7k"] 7 | [ext_resource type="TileSet" uid="uid://c8wk4uvt8kkhe" path="res://examples/Tiles.tres" id="5_kbbm0"] 8 | [ext_resource type="Material" uid="uid://collpa8uebpv2" path="res://examples/2_with_border_and_collision/shaders/water_group.tres" id="6_v8pna"] 9 | 10 | [sub_resource type="Resource" id="Resource_fq1pl"] 11 | script = ExtResource("4_a4i7k") 12 | tile_map_path = NodePath("../Front") 13 | one_way_collision = false 14 | 15 | [sub_resource type="Resource" id="Resource_4kye2"] 16 | script = ExtResource("4_a4i7k") 17 | tile_map_path = NodePath("../FakeFront") 18 | one_way_collision = true 19 | 20 | [node name="Node2D" type="Node2D" node_paths=PackedStringArray("water_server")] 21 | script = ExtResource("1_gkwiu") 22 | water_server = NodePath("LiquidServer") 23 | 24 | [node name="LiquidServer" type="Node" parent="." node_paths=PackedStringArray("_container")] 25 | script = ExtResource("2_wb085") 26 | liquid = ExtResource("3_ctxkd") 27 | _maps = Array[ExtResource("4_a4i7k")]([SubResource("Resource_fq1pl"), SubResource("Resource_4kye2")]) 28 | _use_map_as_container = false 29 | _container = NodePath("../CanvasGroup") 30 | 31 | [node name="Back" type="TileMapLayer" parent="."] 32 | modulate = Color(0.435192, 0.435192, 0.435192, 1) 33 | tile_map_data = PackedByteArray("AABSACAAAAACAAIAAABSAB8AAAACAAEAAABSAB4AAAACAAEAAABSAB0AAAACAAEAAABSABwAAAACAAEAAABSABsAAAACAAEAAABSABoAAAACAAEAAABSABkAAAACAAEAAABSABgAAAACAAEAAABSABcAAAACAAEAAABSABYAAAACAAAAAABRACAAAAABAAIAAABRAB8AAAABAAEAAABRAB4AAAABAAEAAABRAB0AAAABAAEAAABRABwAAAABAAEAAABRABsAAAABAAEAAABRABoAAAABAAEAAABRABkAAAABAAEAAABRABgAAAABAAEAAABRABcAAAABAAEAAABRABYAAAABAAAAAABQACAAAAABAAIAAABQAB8AAAABAAEAAABQAB4AAAABAAEAAABQAB0AAAABAAEAAABQABwAAAABAAEAAABQABsAAAABAAEAAABQABoAAAABAAEAAABQABkAAAABAAEAAABQABgAAAABAAEAAABQABcAAAABAAEAAABQABYAAAABAAAAAABPACAAAAABAAIAAABPAB8AAAABAAEAAABPAB4AAAABAAEAAABPAB0AAAABAAEAAABPABwAAAABAAEAAABPABsAAAABAAEAAABPABoAAAABAAEAAABPABkAAAABAAEAAABPABgAAAABAAEAAABPABcAAAABAAEAAABPABYAAAABAAAAAABOACAAAAABAAIAAABOAB8AAAABAAEAAABOAB4AAAABAAEAAABOAB0AAAABAAEAAABOABwAAAABAAEAAABOABsAAAABAAEAAABOABoAAAABAAEAAABOABkAAAABAAEAAABOABgAAAABAAEAAABOABcAAAABAAEAAABOABYAAAABAAAAAABNACAAAAABAAIAAABNAB8AAAABAAEAAABNAB4AAAABAAEAAABNAB0AAAABAAEAAABNABwAAAABAAEAAABNABsAAAABAAEAAABNABoAAAABAAEAAABNABkAAAABAAEAAABNABgAAAABAAEAAABNABcAAAABAAEAAABNABYAAAABAAAAAABMACAAAAABAAIAAABMAB8AAAABAAEAAABMAB4AAAABAAEAAABMAB0AAAABAAEAAABMABwAAAABAAEAAABMABsAAAABAAEAAABMABoAAAABAAEAAABMABkAAAABAAEAAABMABgAAAABAAEAAABMABcAAAABAAEAAABMABYAAAABAAAAAABLACAAAAABAAIAAABLAB8AAAABAAEAAABLAB4AAAABAAEAAABLAB0AAAABAAEAAABLABwAAAABAAEAAABLABsAAAABAAEAAABLABoAAAABAAEAAABLABkAAAABAAEAAABLABgAAAABAAEAAABLABcAAAABAAEAAABLABYAAAABAAAAAABKACAAAAABAAIAAABKAB8AAAABAAEAAABKAB4AAAABAAEAAABKAB0AAAABAAEAAABKABwAAAABAAEAAABKABsAAAABAAEAAABKABoAAAABAAEAAABKABkAAAABAAEAAABKABgAAAABAAEAAABKABcAAAABAAEAAABKABYAAAABAAAAAABJACAAAAABAAIAAABJAB8AAAABAAEAAABJAB4AAAABAAEAAABJAB0AAAABAAEAAABJABwAAAABAAEAAABJABsAAAABAAEAAABJABoAAAABAAEAAABJABkAAAABAAEAAABJABgAAAABAAEAAABJABcAAAABAAEAAABJABYAAAABAAAAAABIACAAAAABAAIAAABIAB8AAAABAAEAAABIAB4AAAABAAEAAABIAB0AAAABAAEAAABIABwAAAABAAEAAABIABsAAAABAAEAAABIABoAAAABAAEAAABIABkAAAABAAEAAABIABgAAAABAAEAAABIABcAAAABAAEAAABIABYAAAABAAAAAABHACAAAAABAAIAAABHAB8AAAABAAEAAABHAB4AAAABAAEAAABHAB0AAAABAAEAAABHABwAAAABAAEAAABHABsAAAABAAEAAABHABoAAAABAAEAAABHABkAAAABAAEAAABHABgAAAABAAEAAABHABcAAAABAAEAAABHABYAAAABAAAAAABGACAAAAABAAIAAABGAB8AAAABAAEAAABGAB4AAAABAAEAAABGAB0AAAABAAEAAABGABwAAAABAAEAAABGABsAAAAFAAEAAABGABoAAAAAAAEAAABGABkAAAAAAAEAAABGABgAAAAAAAEAAABGABcAAAAAAAEAAABGABYAAAAAAAAAAABFAB8AAAAAAAEAAABFAB4AAAAAAAEAAABFAB0AAAAAAAEAAABFACAAAAAKAAAAAABFABwAAAAAAAEAAABFACEAAAADAAIAAABFABsAAAAAAAAAAAA7ACIAAAABAAEAAAA7ACEAAAABAAEAAAA7ACAAAAABAAEAAAA7AB8AAAAFAAEAAAA6ACIAAAAAAAEAAAA6ACEAAAAAAAEAAAA6ACAAAAAAAAEAAAA6AB8AAAAAAAAAAAA7ACMAAAABAAIAAAA6ACMAAAAAAAIAAAA9ACMAAAACAAIAAAA9ACIAAAACAAEAAAA9ACEAAAACAAEAAAA9ACAAAAACAAEAAAA9AB8AAAACAAEAAAA9AB4AAAACAAEAAAA9AB0AAAACAAAAAAA8ACMAAAABAAIAAAA8ACIAAAABAAEAAAA8ACEAAAABAAEAAAA8ACAAAAABAAEAAAA8AB8AAAABAAEAAAA8AB4AAAABAAEAAAA8AB0AAAABAAAAAAA7AB4AAAAAAAEAAAA7AB0AAAAAAAAAAAAqACQAAAACAAIAAAAqACMAAAACAAEAAAAqACIAAAACAAEAAAAqACEAAAACAAEAAAAqACAAAAACAAEAAAAqAB8AAAACAAEAAAAqAB4AAAACAAEAAAAqAB0AAAACAAEAAAAqABwAAAACAAEAAAAqABsAAAACAAEAAAAqABoAAAACAAEAAAAqABkAAAACAAAAAAApACQAAAABAAIAAAApACMAAAABAAEAAAApACIAAAABAAEAAAApACEAAAABAAEAAAApACAAAAABAAEAAAApAB8AAAABAAEAAAApAB4AAAABAAEAAAApAB0AAAABAAEAAAApABwAAAABAAEAAAApABsAAAABAAEAAAApABoAAAABAAEAAAApABkAAAABAAAAAAAoACQAAAABAAIAAAAoACMAAAABAAEAAAAoACIAAAABAAEAAAAoACEAAAABAAEAAAAoACAAAAABAAEAAAAoAB8AAAABAAEAAAAoAB4AAAABAAEAAAAoAB0AAAABAAEAAAAoABwAAAABAAEAAAAoABsAAAABAAEAAAAoABoAAAABAAEAAAAoABkAAAABAAAAAAAnACQAAAABAAIAAAAnACMAAAABAAEAAAAnACIAAAABAAEAAAAnACEAAAABAAEAAAAnACAAAAABAAEAAAAnAB8AAAABAAEAAAAnAB4AAAABAAEAAAAnAB0AAAABAAEAAAAnABwAAAABAAEAAAAnABsAAAABAAEAAAAnABoAAAABAAEAAAAnABkAAAAEAAEAAAAmACQAAAAAAAIAAAAmACMAAAAAAAEAAAAmACIAAAAAAAEAAAAmACEAAAAAAAEAAAAmACAAAAAAAAEAAAAmAB8AAAAAAAEAAAAmAB4AAAAAAAEAAAAmAB0AAAAAAAEAAAAmABwAAAAAAAEAAAAmABsAAAAAAAEAAAAmABoAAAAAAAEAAAAmABkAAAAAAAEAAAAnABgAAAACAAEAAAAnABcAAAACAAAAAAAmABgAAAAFAAAAAAAmABcAAAABAAAAAAAlABgAAAABAAIAAAAlABcAAAABAAAAAAAkABgAAAABAAIAAAAkABcAAAABAAAAAAAjABgAAAABAAIAAAAjABcAAAABAAAAAAAiABgAAAABAAIAAAAiABcAAAABAAAAAAAhABgAAAABAAIAAAAhABcAAAABAAAAAAAgABgAAAABAAIAAAAgABcAAAABAAAAAAAfABgAAAABAAIAAAAfABcAAAABAAAAAAAeABgAAAAAAAIAAAAeABcAAAAAAAAAAAA=") 34 | tile_set = ExtResource("5_kbbm0") 35 | 36 | [node name="CanvasGroup" type="CanvasGroup" parent="."] 37 | material = ExtResource("6_v8pna") 38 | 39 | [node name="Front" type="TileMapLayer" parent="."] 40 | use_parent_material = true 41 | tile_map_data = PackedByteArray("AAADACcAAAABAAEAAAADACYAAAABAAEAAAADACUAAAABAAEAAAADACQAAAABAAEAAAADACMAAAABAAEAAAADACIAAAABAAEAAAADACEAAAABAAEAAAADACAAAAABAAEAAAADAB8AAAABAAEAAAADAB4AAAAEAAEAAAADAB0AAAACAAEAAAADABwAAAACAAEAAAADABsAAAACAAEAAAADABoAAAACAAEAAAADABkAAAACAAEAAAADABgAAAACAAEAAAADABcAAAACAAEAAAADABYAAAACAAEAAAADABUAAAACAAEAAAADABQAAAACAAEAAAADABMAAAACAAEAAAADABIAAAACAAEAAAADABEAAAACAAEAAAADABAAAAACAAEAAAADAA8AAAACAAEAAAADAA4AAAACAAAAAAACACcAAAABAAEAAAACACYAAAABAAEAAAACACUAAAABAAEAAAACACQAAAABAAEAAAACACMAAAABAAEAAAACACIAAAABAAEAAAACACEAAAABAAEAAAACACAAAAABAAEAAAACAB8AAAABAAEAAAACAB4AAAABAAEAAAACAB0AAAABAAEAAAACABwAAAABAAEAAAACABsAAAABAAEAAAACABoAAAABAAEAAAACABkAAAABAAEAAAACABgAAAABAAEAAAACABcAAAABAAEAAAACABYAAAABAAEAAAACABUAAAABAAEAAAACABQAAAABAAEAAAACABMAAAABAAEAAAACABIAAAABAAEAAAACABEAAAABAAEAAAACABAAAAABAAEAAAACAA8AAAABAAEAAAACAA4AAAABAAAAAAABACcAAAABAAEAAAABACYAAAABAAEAAAABACUAAAABAAEAAAABACQAAAABAAEAAAABACMAAAABAAEAAAABACIAAAABAAEAAAABACEAAAABAAEAAAABACAAAAABAAEAAAABAB8AAAABAAEAAAABAB4AAAABAAEAAAABAB0AAAABAAEAAAABABwAAAABAAEAAAABABsAAAABAAEAAAABABoAAAABAAEAAAABABkAAAABAAEAAAABABgAAAABAAEAAAABABcAAAABAAEAAAABABYAAAABAAEAAAABABUAAAABAAEAAAABABQAAAABAAEAAAABABMAAAABAAEAAAABABIAAAABAAEAAAABABEAAAABAAEAAAABABAAAAABAAEAAAABAA8AAAABAAEAAAABAA4AAAABAAAAAAAAACcAAAABAAEAAAAAACYAAAABAAEAAAAAACUAAAABAAEAAAAAACQAAAABAAEAAAAAACMAAAABAAEAAAAAACIAAAABAAEAAAAAACEAAAABAAEAAAAAACAAAAABAAEAAAAAAB8AAAABAAEAAAAAAB4AAAABAAEAAAAAAB0AAAABAAEAAAAAABwAAAABAAEAAAAAABsAAAABAAEAAAAAABoAAAABAAEAAAAAABkAAAABAAEAAAAAABgAAAABAAEAAAAAABcAAAABAAEAAAAAABYAAAABAAEAAAAAABUAAAABAAEAAAAAABQAAAABAAEAAAAAABMAAAABAAEAAAAAABIAAAABAAEAAAAAABEAAAABAAEAAAAAABAAAAABAAEAAAAAAA8AAAABAAEAAAAAAA4AAAAEAAEAAAAAAA0AAAACAAEAAAAAAAwAAAACAAAAAABGACcAAAABAAEAAABGACYAAAABAAEAAABGACUAAAABAAEAAABGACQAAAABAAEAAABGACMAAAABAAEAAABFACcAAAABAAEAAABFACYAAAABAAEAAABFACUAAAABAAEAAABFACQAAAABAAEAAABFACMAAAABAAEAAABEACcAAAABAAEAAABEACYAAAABAAEAAABEACUAAAABAAEAAABEACQAAAABAAEAAABEACMAAAAFAAEAAABDACcAAAABAAEAAABDACYAAAABAAEAAABDACUAAAABAAEAAABDACQAAAABAAEAAABDACMAAAABAAAAAABCACcAAAABAAEAAABCACYAAAABAAEAAABCACUAAAABAAEAAABCACQAAAABAAEAAABCACMAAAABAAAAAABBACcAAAABAAEAAABBACYAAAABAAEAAABBACUAAAABAAEAAABBACQAAAABAAEAAABBACMAAAABAAAAAABAACcAAAABAAEAAABAACYAAAABAAEAAABAACUAAAABAAEAAABAACQAAAABAAEAAABAACMAAAABAAAAAAA/ACcAAAABAAEAAAA/ACYAAAABAAEAAAA/ACUAAAABAAEAAAA/ACQAAAABAAEAAAA/ACMAAAABAAAAAAA+ACcAAAABAAEAAAA+ACYAAAABAAEAAAA+ACUAAAABAAEAAAA+ACQAAAABAAEAAAA+ACMAAAABAAAAAAA9ACcAAAABAAEAAAA9ACYAAAABAAEAAAA9ACUAAAABAAEAAAA9ACQAAAABAAEAAAA9ACMAAAABAAAAAAA8ACcAAAABAAEAAAA8ACYAAAABAAEAAAA8ACUAAAABAAEAAAA8ACQAAAABAAEAAAA8ACMAAAABAAAAAAA7ACcAAAABAAEAAAA7ACYAAAABAAEAAAA7ACUAAAABAAEAAAA7ACQAAAABAAEAAAA7ACMAAAABAAAAAAA6ACcAAAABAAEAAAA6ACYAAAABAAEAAAA6ACUAAAABAAEAAAA6ACQAAAABAAEAAAA6ACMAAAABAAAAAAA5ACcAAAABAAEAAAA5ACYAAAABAAEAAAA5ACUAAAABAAEAAAA5ACQAAAABAAEAAAA5ACMAAAABAAAAAAA4ACcAAAABAAEAAAA4ACYAAAABAAEAAAA4ACUAAAABAAEAAAA4ACQAAAABAAEAAAA4ACMAAAABAAAAAAA3ACcAAAABAAEAAAA3ACYAAAABAAEAAAA3ACUAAAABAAEAAAA3ACQAAAABAAEAAAA3ACMAAAABAAAAAAA2ACcAAAABAAEAAAA2ACYAAAABAAEAAAA2ACUAAAABAAEAAAA2ACQAAAABAAEAAAA2ACMAAAABAAAAAAA1ACcAAAABAAEAAAA1ACYAAAABAAEAAAA1ACUAAAABAAEAAAA1ACQAAAABAAEAAAA1ACMAAAABAAAAAAA0ACcAAAABAAEAAAA0ACYAAAABAAEAAAA0ACUAAAABAAEAAAA0ACQAAAABAAEAAAA0ACMAAAABAAAAAAAzACcAAAABAAEAAAAzACYAAAABAAEAAAAzACUAAAABAAEAAAAzACQAAAABAAEAAAAzACMAAAABAAAAAAAyACcAAAABAAEAAAAyACYAAAABAAEAAAAyACUAAAABAAEAAAAyACQAAAABAAEAAAAyACMAAAABAAAAAAAxACcAAAABAAEAAAAxACYAAAABAAEAAAAxACUAAAABAAEAAAAxACQAAAABAAEAAAAxACMAAAABAAAAAAAwACcAAAABAAEAAAAwACYAAAABAAEAAAAwACUAAAABAAEAAAAwACQAAAABAAEAAAAwACMAAAABAAAAAAAvACcAAAABAAEAAAAvACYAAAABAAEAAAAvACUAAAABAAEAAAAvACQAAAABAAEAAAAvACMAAAABAAAAAAAuACcAAAABAAEAAAAuACYAAAABAAEAAAAuACUAAAABAAEAAAAuACQAAAABAAEAAAAuACMAAAABAAAAAAAtACcAAAABAAEAAAAtACYAAAABAAEAAAAtACUAAAABAAEAAAAtACQAAAABAAEAAAAtACMAAAABAAAAAAAsACcAAAABAAEAAAAsACYAAAABAAEAAAAsACUAAAABAAEAAAAsACQAAAABAAEAAAAsACMAAAABAAAAAAArACcAAAABAAEAAAArACYAAAABAAEAAAArACUAAAABAAEAAAArACQAAAABAAEAAAArACMAAAABAAAAAAAqACcAAAABAAEAAAAqACYAAAABAAEAAAAqACUAAAABAAEAAAAqACQAAAABAAEAAAAqACMAAAABAAAAAAApACcAAAABAAEAAAApACYAAAABAAEAAAApACUAAAABAAEAAAApACQAAAABAAEAAAApACMAAAABAAAAAAAoACcAAAABAAEAAAAoACYAAAABAAEAAAAoACUAAAABAAEAAAAoACQAAAABAAEAAAAoACMAAAABAAAAAAAnACcAAAABAAEAAAAnACYAAAABAAEAAAAnACUAAAABAAEAAAAnACQAAAABAAEAAAAnACMAAAABAAAAAAAmACcAAAABAAEAAAAmACYAAAABAAEAAAAmACUAAAABAAEAAAAmACQAAAABAAEAAAAmACMAAAABAAAAAAAlACcAAAABAAEAAAAlACYAAAABAAEAAAAlACUAAAABAAEAAAAlACQAAAABAAEAAAAlACMAAAABAAAAAAAkACcAAAABAAEAAAAkACYAAAABAAEAAAAkACUAAAABAAEAAAAkACQAAAABAAEAAAAkACMAAAABAAAAAAAjACcAAAABAAEAAAAjACYAAAABAAEAAAAjACUAAAABAAEAAAAjACQAAAABAAEAAAAjACMAAAABAAAAAAAiACcAAAABAAEAAAAiACYAAAABAAEAAAAiACUAAAABAAEAAAAiACQAAAABAAEAAAAiACMAAAABAAAAAAAhACcAAAABAAEAAAAhACYAAAABAAEAAAAhACUAAAABAAEAAAAhACQAAAABAAEAAAAhACMAAAABAAAAAAAgACcAAAABAAEAAAAgACYAAAABAAEAAAAgACUAAAABAAEAAAAgACQAAAABAAEAAAAgACMAAAABAAAAAAAfACcAAAABAAEAAAAfACYAAAABAAEAAAAfACUAAAABAAEAAAAfACQAAAABAAEAAAAfACMAAAABAAAAAAAeACcAAAABAAEAAAAeACYAAAABAAEAAAAeACUAAAABAAEAAAAeACQAAAABAAEAAAAeACMAAAABAAAAAAAdACcAAAABAAEAAAAdACYAAAABAAEAAAAdACUAAAABAAEAAAAdACQAAAABAAEAAAAdACMAAAABAAAAAAAcACcAAAABAAEAAAAcACYAAAABAAEAAAAcACUAAAABAAEAAAAcACQAAAABAAEAAAAcACMAAAABAAAAAAAbACcAAAABAAEAAAAbACYAAAABAAEAAAAbACUAAAABAAEAAAAbACQAAAABAAEAAAAbACMAAAABAAAAAAAaACcAAAABAAEAAAAaACYAAAABAAEAAAAaACUAAAABAAEAAAAaACQAAAABAAEAAAAaACMAAAABAAAAAAAZACcAAAABAAEAAAAZACYAAAABAAEAAAAZACUAAAABAAEAAAAZACQAAAABAAEAAAAZACMAAAABAAAAAAAYACcAAAABAAEAAAAYACYAAAABAAEAAAAYACUAAAABAAEAAAAYACQAAAABAAEAAAAYACMAAAABAAAAAAAXACcAAAABAAEAAAAXACYAAAABAAEAAAAXACUAAAABAAEAAAAXACQAAAABAAEAAAAXACMAAAABAAAAAAAWACcAAAABAAEAAAAWACYAAAABAAEAAAAWACUAAAABAAEAAAAWACQAAAABAAEAAAAWACMAAAABAAAAAAAVACcAAAABAAEAAAAVACYAAAABAAEAAAAVACUAAAABAAEAAAAVACQAAAABAAEAAAAVACMAAAABAAAAAAAUACcAAAABAAEAAAAUACYAAAABAAEAAAAUACUAAAABAAEAAAAUACQAAAABAAEAAAAUACMAAAABAAAAAAATACcAAAABAAEAAAATACYAAAABAAEAAAATACUAAAABAAEAAAATACQAAAABAAEAAAATACMAAAABAAAAAAASACcAAAABAAEAAAASACYAAAABAAEAAAASACUAAAABAAEAAAASACQAAAABAAEAAAASACMAAAABAAAAAAARACcAAAABAAEAAAARACYAAAABAAEAAAARACUAAAABAAEAAAARACQAAAABAAEAAAARACMAAAABAAAAAAAQACcAAAABAAEAAAAQACYAAAABAAEAAAAQACUAAAABAAEAAAAQACQAAAABAAEAAAAQACMAAAABAAAAAAAPACcAAAABAAEAAAAPACYAAAABAAEAAAAPACUAAAABAAEAAAAPACQAAAABAAEAAAAPACMAAAABAAAAAAAOACcAAAABAAEAAAAOACYAAAABAAEAAAAOACUAAAABAAEAAAAOACQAAAABAAEAAAAOACMAAAABAAAAAAANACcAAAABAAEAAAANACYAAAABAAEAAAANACUAAAABAAEAAAANACQAAAABAAEAAAANACMAAAABAAAAAAAMACcAAAABAAEAAAAMACYAAAABAAEAAAAMACUAAAABAAEAAAAMACQAAAABAAEAAAAMACMAAAABAAAAAAALACcAAAABAAEAAAALACYAAAABAAEAAAALACUAAAABAAEAAAALACQAAAABAAEAAAALACMAAAABAAAAAAAKACcAAAABAAEAAAAKACYAAAABAAEAAAAKACUAAAABAAEAAAAKACQAAAABAAEAAAAKACMAAAABAAAAAAAJACcAAAABAAEAAAAJACYAAAABAAEAAAAJACUAAAABAAEAAAAJACQAAAABAAEAAAAJACMAAAABAAAAAAAIACcAAAABAAEAAAAIACYAAAABAAEAAAAIACUAAAABAAEAAAAIACQAAAABAAEAAAAIACMAAAAEAAEAAAAHACcAAAABAAEAAAAHACYAAAABAAEAAAAHACUAAAABAAEAAAAHACQAAAABAAEAAAAHACMAAAABAAEAAAAGACcAAAABAAEAAAAGACYAAAABAAEAAAAGACUAAAABAAEAAAAGACQAAAABAAEAAAAGACMAAAABAAEAAAAFACcAAAABAAEAAAAFACYAAAABAAEAAAAFACUAAAABAAEAAAAFACQAAAABAAEAAAAFACMAAAABAAEAAAAEACcAAAABAAEAAAAEACYAAAABAAEAAAAEACUAAAABAAEAAAAEACQAAAABAAEAAAAEACMAAAABAAEAAABHACcAAAABAAEAAABHACYAAAABAAEAAABHACUAAAABAAEAAABHACQAAAABAAEAAABHACMAAAABAAEAAABHACIAAAABAAEAAABGACIAAAABAAEAAABFACIAAAAFAAEAAABEACIAAAAAAAAAAAAIACIAAAACAAEAAAAIACEAAAACAAEAAAAIACAAAAACAAAAAAAHACIAAAABAAEAAAAHACEAAAABAAEAAAAHACAAAAABAAAAAAAGACIAAAABAAEAAAAGACEAAAABAAEAAAAGACAAAAABAAAAAAAFACIAAAABAAEAAAAFACEAAAABAAEAAAAFACAAAAAEAAEAAAAEACIAAAABAAEAAAAEACEAAAABAAEAAAAEACAAAAABAAEAAAAFAB8AAAACAAEAAAAFAB4AAAACAAAAAAAEAB8AAAABAAEAAAAEAB4AAAABAAAAAAD//ywAAAABAAEAAAD//ysAAAABAAEAAAD//yoAAAABAAEAAAD//ykAAAABAAEAAAD//ygAAAABAAEAAAD//ycAAAABAAEAAAD//yYAAAABAAEAAAD//yUAAAABAAEAAAD//yQAAAABAAEAAAD//yMAAAABAAEAAAD//yIAAAABAAEAAAD//yEAAAABAAEAAAD//yAAAAABAAEAAAD//x8AAAABAAEAAAD//x4AAAABAAEAAAD//x0AAAABAAEAAAD//xwAAAABAAEAAAD//xsAAAABAAEAAAD//xoAAAABAAEAAAD//xkAAAABAAEAAAD//xgAAAABAAEAAAD//xcAAAABAAEAAAD//xYAAAABAAEAAAD//xUAAAABAAEAAAD//xQAAAABAAEAAAD//xMAAAABAAEAAAD//xIAAAABAAEAAAD//xEAAAABAAEAAAD//xAAAAABAAEAAAD//w8AAAABAAEAAAD//w4AAAABAAEAAAD//w0AAAABAAEAAAD//wwAAAAEAAEAAAD//wsAAAACAAEAAAD//woAAAACAAEAAAD//wkAAAACAAEAAAD//wgAAAACAAEAAAD//wcAAAACAAEAAAD//wYAAAACAAEAAAD//wUAAAACAAEAAAD+/ywAAAABAAEAAAD+/ysAAAABAAEAAAD+/yoAAAABAAEAAAD+/ykAAAABAAEAAAD+/ygAAAABAAEAAAD+/ycAAAABAAEAAAD+/yYAAAABAAEAAAD+/yUAAAABAAEAAAD+/yQAAAABAAEAAAD+/yMAAAABAAEAAAD+/yIAAAABAAEAAAD+/yEAAAABAAEAAAD+/yAAAAABAAEAAAD+/x8AAAABAAEAAAD+/x4AAAABAAEAAAD+/x0AAAABAAEAAAD+/xwAAAABAAEAAAD+/xsAAAABAAEAAAD+/xoAAAABAAEAAAD+/xkAAAABAAEAAAD+/xgAAAABAAEAAAD+/xcAAAABAAEAAAD+/xYAAAABAAEAAAD+/xUAAAABAAEAAAD+/xQAAAABAAEAAAD+/xMAAAABAAEAAAD+/xIAAAABAAEAAAD+/xEAAAABAAEAAAD+/xAAAAABAAEAAAD+/w8AAAABAAEAAAD+/w4AAAABAAEAAAD+/w0AAAABAAEAAAD+/wwAAAABAAEAAAD+/wsAAAABAAEAAAD+/woAAAABAAEAAAD+/wkAAAABAAEAAAD+/wgAAAABAAEAAAD+/wcAAAABAAEAAAD+/wYAAAABAAEAAAD+/wUAAAABAAEAAAD9/ywAAAABAAEAAAD9/ysAAAABAAEAAAD9/yoAAAABAAEAAAD9/ykAAAABAAEAAAD9/ygAAAABAAEAAAD9/ycAAAABAAEAAAD9/yYAAAABAAEAAAD9/yUAAAABAAEAAAD9/yQAAAABAAEAAAD9/yMAAAABAAEAAAD9/yIAAAABAAEAAAD9/yEAAAABAAEAAAD9/yAAAAABAAEAAAD9/x8AAAABAAEAAAD9/x4AAAABAAEAAAD9/x0AAAABAAEAAAD9/xwAAAABAAEAAAD9/xsAAAABAAEAAAD9/xoAAAABAAEAAAD9/xkAAAABAAEAAAD9/xgAAAABAAEAAAD9/xcAAAABAAEAAAD9/xYAAAABAAEAAAD9/xUAAAABAAEAAAD9/xQAAAABAAEAAAD9/xMAAAABAAEAAAD9/xIAAAABAAEAAAD9/xEAAAABAAEAAAD9/xAAAAABAAEAAAD9/w8AAAABAAEAAAD9/w4AAAABAAEAAAD9/w0AAAABAAEAAAD9/wwAAAABAAEAAAD9/wsAAAABAAEAAAD9/woAAAABAAEAAAD9/wkAAAABAAEAAAD9/wgAAAABAAEAAAD9/wcAAAABAAEAAAD9/wYAAAABAAEAAAD9/wUAAAABAAEAAAD8/ywAAAABAAEAAAD8/ysAAAABAAEAAAD8/yoAAAABAAEAAAD8/ykAAAABAAEAAAD8/ygAAAABAAEAAAD8/ycAAAABAAEAAAD8/yYAAAABAAEAAAD8/yUAAAABAAEAAAD8/yQAAAABAAEAAAD8/yMAAAABAAEAAAD8/yIAAAABAAEAAAD8/yEAAAABAAEAAAD8/yAAAAABAAEAAAD8/x8AAAABAAEAAAD8/x4AAAABAAEAAAD8/x0AAAABAAEAAAD8/xwAAAABAAEAAAD8/xsAAAABAAEAAAD8/xoAAAABAAEAAAD8/xkAAAABAAEAAAD8/xgAAAABAAEAAAD8/xcAAAABAAEAAAD8/xYAAAABAAEAAAD8/xUAAAABAAEAAAD8/xQAAAABAAEAAAD8/xMAAAABAAEAAAD8/xIAAAABAAEAAAD8/xEAAAABAAEAAAD8/xAAAAABAAEAAAD8/w8AAAABAAEAAAD8/w4AAAABAAEAAAD8/w0AAAABAAEAAAD8/wwAAAABAAEAAAD8/wsAAAABAAEAAAD8/woAAAABAAEAAAD8/wkAAAABAAEAAAD8/wgAAAABAAEAAAD8/wcAAAABAAEAAAD8/wYAAAABAAEAAAD8/wUAAAABAAEAAAD7/ywAAAABAAEAAAD7/ysAAAABAAEAAAD7/yoAAAABAAEAAAD7/ykAAAABAAEAAAD7/ygAAAABAAEAAAD7/ycAAAABAAEAAAD7/yYAAAABAAEAAAD7/yUAAAABAAEAAAD7/yQAAAABAAEAAAD7/yMAAAABAAEAAAD7/yIAAAABAAEAAAD7/yEAAAABAAEAAAD7/yAAAAABAAEAAAD7/x8AAAABAAEAAAD7/x4AAAABAAEAAAD7/x0AAAABAAEAAAD7/xwAAAABAAEAAAD7/xsAAAABAAEAAAD7/xoAAAABAAEAAAD7/xkAAAABAAEAAAD7/xgAAAABAAEAAAD7/xcAAAABAAEAAAD7/xYAAAABAAEAAAD7/xUAAAABAAEAAAD7/xQAAAABAAEAAAD7/xMAAAABAAEAAAD7/xIAAAABAAEAAAD7/xEAAAABAAEAAAD7/xAAAAABAAEAAAD7/w8AAAABAAEAAAD7/w4AAAABAAEAAAD7/w0AAAABAAEAAAD7/wwAAAABAAEAAAD7/wsAAAABAAEAAAD7/woAAAABAAEAAAD7/wkAAAABAAEAAAD7/wgAAAABAAEAAAD7/wcAAAABAAEAAAD7/wYAAAABAAEAAAD7/wUAAAABAAEAAAD//zAAAAABAAIAAAD//y8AAAABAAEAAAD//y4AAAABAAEAAAD//y0AAAABAAEAAAD//wQAAAACAAEAAAD//wMAAAACAAEAAAD//wIAAAACAAEAAAD//wEAAAACAAEAAAD//wAAAAACAAAAAAD+/zAAAAABAAIAAAD+/y8AAAABAAEAAAD+/y4AAAABAAEAAAD+/y0AAAABAAEAAAD+/wQAAAABAAEAAAD+/wMAAAABAAEAAAD+/wIAAAABAAEAAAD+/wEAAAABAAEAAAD+/wAAAAABAAAAAAD9/zAAAAABAAIAAAD9/y8AAAABAAEAAAD9/y4AAAABAAEAAAD9/y0AAAABAAEAAAD9/wQAAAABAAEAAAD9/wMAAAABAAEAAAD9/wIAAAABAAEAAAD9/wEAAAABAAEAAAD9/wAAAAABAAAAAAD8/zAAAAABAAIAAAD8/y8AAAABAAEAAAD8/y4AAAABAAEAAAD8/y0AAAABAAEAAAD8/wQAAAABAAEAAAD8/wMAAAABAAEAAAD8/wIAAAABAAEAAAD8/wEAAAABAAEAAAD8/wAAAAABAAAAAAD7/zAAAAABAAIAAAD7/y8AAAABAAEAAAD7/y4AAAABAAEAAAD7/y0AAAABAAEAAAD7/wQAAAABAAEAAAD7/wMAAAABAAEAAAD7/wIAAAABAAEAAAD7/wEAAAABAAEAAAD7/wAAAAABAAAAAAD6/zAAAAABAAIAAAD6/y8AAAABAAEAAAD6/y4AAAABAAEAAAD6/y0AAAABAAEAAAD6/ywAAAABAAEAAAD6/ysAAAABAAEAAAD6/yoAAAABAAEAAAD6/ykAAAABAAEAAAD6/ygAAAABAAEAAAD6/ycAAAABAAEAAAD6/yYAAAABAAEAAAD6/yUAAAABAAEAAAD6/yQAAAABAAEAAAD6/yMAAAABAAEAAAD6/yIAAAABAAEAAAD6/yEAAAABAAEAAAD6/yAAAAABAAEAAAD6/x8AAAABAAEAAAD6/x4AAAABAAEAAAD6/x0AAAABAAEAAAD6/xwAAAABAAEAAAD6/xsAAAABAAEAAAD6/xoAAAABAAEAAAD6/xkAAAABAAEAAAD6/xgAAAABAAEAAAD6/xcAAAABAAEAAAD6/xYAAAABAAEAAAD6/xUAAAABAAEAAAD6/xQAAAABAAEAAAD6/xMAAAABAAEAAAD6/xIAAAABAAEAAAD6/xEAAAABAAEAAAD6/xAAAAABAAEAAAD6/w8AAAABAAEAAAD6/w4AAAABAAEAAAD6/w0AAAABAAEAAAD6/wwAAAABAAEAAAD6/wsAAAABAAEAAAD6/woAAAABAAEAAAD6/wkAAAABAAEAAAD6/wgAAAABAAEAAAD6/wcAAAABAAEAAAD6/wYAAAABAAEAAAD6/wUAAAABAAEAAAD6/wQAAAABAAEAAAD6/wMAAAABAAEAAAD6/wIAAAABAAEAAAD6/wEAAAABAAEAAAD6/wAAAAABAAAAAAD5/zAAAAABAAIAAAD5/y8AAAABAAEAAAD5/y4AAAABAAEAAAD5/y0AAAABAAEAAAD5/ywAAAABAAEAAAD5/ysAAAABAAEAAAD5/yoAAAABAAEAAAD5/ykAAAABAAEAAAD5/ygAAAABAAEAAAD5/ycAAAABAAEAAAD5/yYAAAABAAEAAAD5/yUAAAABAAEAAAD5/yQAAAABAAEAAAD5/yMAAAABAAEAAAD5/yIAAAABAAEAAAD5/yEAAAABAAEAAAD5/yAAAAABAAEAAAD5/x8AAAABAAEAAAD5/x4AAAABAAEAAAD5/x0AAAABAAEAAAD5/xwAAAABAAEAAAD5/xsAAAABAAEAAAD5/xoAAAABAAEAAAD5/xkAAAABAAEAAAD5/xgAAAABAAEAAAD5/xcAAAABAAEAAAD5/xYAAAABAAEAAAD5/xUAAAABAAEAAAD5/xQAAAABAAEAAAD5/xMAAAABAAEAAAD5/xIAAAABAAEAAAD5/xEAAAABAAEAAAD5/xAAAAABAAEAAAD5/w8AAAABAAEAAAD5/w4AAAABAAEAAAD5/w0AAAABAAEAAAD5/wwAAAABAAEAAAD5/wsAAAABAAEAAAD5/woAAAABAAEAAAD5/wkAAAABAAEAAAD5/wgAAAABAAEAAAD5/wcAAAABAAEAAAD5/wYAAAABAAEAAAD5/wUAAAABAAEAAAD5/wQAAAABAAEAAAD5/wMAAAABAAEAAAD5/wIAAAABAAEAAAD5/wEAAAABAAEAAAD5/wAAAAABAAAAAAD4/zAAAAABAAIAAAD4/y8AAAABAAEAAAD4/y4AAAABAAEAAAD4/y0AAAABAAEAAAD4/ywAAAABAAEAAAD4/ysAAAABAAEAAAD4/yoAAAABAAEAAAD4/ykAAAABAAEAAAD4/ygAAAABAAEAAAD4/ycAAAABAAEAAAD4/yYAAAABAAEAAAD4/yUAAAABAAEAAAD4/yQAAAABAAEAAAD4/yMAAAABAAEAAAD4/yIAAAABAAEAAAD4/yEAAAABAAEAAAD4/yAAAAABAAEAAAD4/x8AAAABAAEAAAD4/x4AAAABAAEAAAD4/x0AAAABAAEAAAD4/xwAAAABAAEAAAD4/xsAAAABAAEAAAD4/xoAAAABAAEAAAD4/xkAAAABAAEAAAD4/xgAAAABAAEAAAD4/xcAAAABAAEAAAD4/xYAAAABAAEAAAD4/xUAAAABAAEAAAD4/xQAAAABAAEAAAD4/xMAAAABAAEAAAD4/xIAAAABAAEAAAD4/xEAAAABAAEAAAD4/xAAAAABAAEAAAD4/w8AAAABAAEAAAD4/w4AAAABAAEAAAD4/w0AAAABAAEAAAD4/wwAAAABAAEAAAD4/wsAAAABAAEAAAD4/woAAAABAAEAAAD4/wkAAAABAAEAAAD4/wgAAAABAAEAAAD4/wcAAAABAAEAAAD4/wYAAAABAAEAAAD4/wUAAAABAAEAAAD4/wQAAAABAAEAAAD4/wMAAAABAAEAAAD4/wIAAAABAAEAAAD4/wEAAAABAAEAAAD4/wAAAAABAAAAAAD3/zAAAAABAAIAAAD3/y8AAAABAAEAAAD3/y4AAAABAAEAAAD3/y0AAAABAAEAAAD3/ywAAAABAAEAAAD3/ysAAAABAAEAAAD3/yoAAAABAAEAAAD3/ykAAAABAAEAAAD3/ygAAAABAAEAAAD3/ycAAAABAAEAAAD3/yYAAAABAAEAAAD3/yUAAAABAAEAAAD3/yQAAAABAAEAAAD3/yMAAAABAAEAAAD3/yIAAAABAAEAAAD3/yEAAAABAAEAAAD3/yAAAAABAAEAAAD3/x8AAAABAAEAAAD3/x4AAAABAAEAAAD3/x0AAAABAAEAAAD3/xwAAAABAAEAAAD3/xsAAAABAAEAAAD3/xoAAAABAAEAAAD3/xkAAAABAAEAAAD3/xgAAAABAAEAAAD3/xcAAAABAAEAAAD3/xYAAAABAAEAAAD3/xUAAAABAAEAAAD3/xQAAAABAAEAAAD3/xMAAAABAAEAAAD3/xIAAAABAAEAAAD3/xEAAAABAAEAAAD3/xAAAAABAAEAAAD3/w8AAAABAAEAAAD3/w4AAAABAAEAAAD3/w0AAAABAAEAAAD3/wwAAAABAAEAAAD3/wsAAAABAAEAAAD3/woAAAABAAEAAAD3/wkAAAABAAEAAAD3/wgAAAABAAEAAAD3/wcAAAABAAEAAAD3/wYAAAABAAEAAAD3/wUAAAABAAEAAAD3/wQAAAABAAEAAAD3/wMAAAABAAEAAAD3/wIAAAABAAEAAAD3/wEAAAABAAEAAAD3/wAAAAABAAAAAAD2/zAAAAABAAIAAAD2/y8AAAABAAEAAAD2/y4AAAABAAEAAAD2/y0AAAABAAEAAAD2/ywAAAABAAEAAAD2/ysAAAABAAEAAAD2/yoAAAABAAEAAAD2/ykAAAABAAEAAAD2/ygAAAABAAEAAAD2/ycAAAABAAEAAAD2/yYAAAABAAEAAAD2/yUAAAABAAEAAAD2/yQAAAABAAEAAAD2/yMAAAABAAEAAAD2/yIAAAABAAEAAAD2/yEAAAABAAEAAAD2/yAAAAABAAEAAAD2/x8AAAABAAEAAAD2/x4AAAABAAEAAAD2/x0AAAABAAEAAAD2/xwAAAABAAEAAAD2/xsAAAABAAEAAAD2/xoAAAABAAEAAAD2/xkAAAABAAEAAAD2/xgAAAABAAEAAAD2/xcAAAABAAEAAAD2/xYAAAABAAEAAAD2/xUAAAABAAEAAAD2/xQAAAABAAEAAAD2/xMAAAABAAEAAAD2/xIAAAABAAEAAAD2/xEAAAABAAEAAAD2/xAAAAABAAEAAAD2/w8AAAABAAEAAAD2/w4AAAABAAEAAAD2/w0AAAABAAEAAAD2/wwAAAABAAEAAAD2/wsAAAABAAEAAAD2/woAAAABAAEAAAD2/wkAAAABAAEAAAD2/wgAAAABAAEAAAD2/wcAAAABAAEAAAD2/wYAAAABAAEAAAD2/wUAAAABAAEAAAD2/wQAAAABAAEAAAD2/wMAAAABAAEAAAD2/wIAAAABAAEAAAD2/wEAAAABAAEAAAD2/wAAAAABAAAAAAD1/zAAAAABAAIAAAD1/y8AAAABAAEAAAD1/y4AAAABAAEAAAD1/y0AAAABAAEAAAD1/ywAAAABAAEAAAD1/ysAAAABAAEAAAD1/yoAAAABAAEAAAD1/ykAAAABAAEAAAD1/ygAAAABAAEAAAD1/ycAAAABAAEAAAD1/yYAAAABAAEAAAD1/yUAAAABAAEAAAD1/yQAAAABAAEAAAD1/yMAAAABAAEAAAD1/yIAAAABAAEAAAD1/yEAAAABAAEAAAD1/yAAAAABAAEAAAD1/x8AAAABAAEAAAD1/x4AAAABAAEAAAD1/x0AAAABAAEAAAD1/xwAAAABAAEAAAD1/xsAAAABAAEAAAD1/xoAAAABAAEAAAD1/xkAAAABAAEAAAD1/xgAAAABAAEAAAD1/xcAAAABAAEAAAD1/xYAAAABAAEAAAD1/xUAAAABAAEAAAD1/xQAAAABAAEAAAD1/xMAAAABAAEAAAD1/xIAAAABAAEAAAD1/xEAAAABAAEAAAD1/xAAAAABAAEAAAD1/w8AAAABAAEAAAD1/w4AAAABAAEAAAD1/w0AAAABAAEAAAD1/wwAAAABAAEAAAD1/wsAAAABAAEAAAD1/woAAAABAAEAAAD1/wkAAAABAAEAAAD1/wgAAAABAAEAAAD1/wcAAAABAAEAAAD1/wYAAAABAAEAAAD1/wUAAAABAAEAAAD1/wQAAAABAAEAAAD1/wMAAAABAAEAAAD1/wIAAAABAAEAAAD1/wEAAAABAAEAAAD1/wAAAAABAAAAAAD0/zAAAAABAAIAAAD0/y8AAAABAAEAAAD0/y4AAAABAAEAAAD0/y0AAAABAAEAAAD0/ywAAAABAAEAAAD0/ysAAAABAAEAAAD0/yoAAAABAAEAAAD0/ykAAAABAAEAAAD0/ygAAAABAAEAAAD0/ycAAAABAAEAAAD0/yYAAAABAAEAAAD0/yUAAAABAAEAAAD0/yQAAAABAAEAAAD0/yMAAAABAAEAAAD0/yIAAAABAAEAAAD0/yEAAAABAAEAAAD0/yAAAAABAAEAAAD0/x8AAAABAAEAAAD0/x4AAAABAAEAAAD0/x0AAAABAAEAAAD0/xwAAAABAAEAAAD0/xsAAAABAAEAAAD0/xoAAAABAAEAAAD0/xkAAAABAAEAAAD0/xgAAAABAAEAAAD0/xcAAAABAAEAAAD0/xYAAAABAAEAAAD0/xUAAAABAAEAAAD0/xQAAAABAAEAAAD0/xMAAAABAAEAAAD0/xIAAAABAAEAAAD0/xEAAAABAAEAAAD0/xAAAAABAAEAAAD0/w8AAAABAAEAAAD0/w4AAAABAAEAAAD0/w0AAAABAAEAAAD0/wwAAAABAAEAAAD0/wsAAAABAAEAAAD0/woAAAABAAEAAAD0/wkAAAABAAEAAAD0/wgAAAABAAEAAAD0/wcAAAABAAEAAAD0/wYAAAABAAEAAAD0/wUAAAABAAEAAAD0/wQAAAABAAEAAAD0/wMAAAABAAEAAAD0/wIAAAABAAEAAAD0/wEAAAABAAEAAAD0/wAAAAABAAAAAADz/zAAAAABAAIAAADz/y8AAAABAAEAAADz/y4AAAABAAEAAADz/y0AAAABAAEAAADz/ywAAAABAAEAAADz/ysAAAABAAEAAADz/yoAAAABAAEAAADz/ykAAAABAAEAAADz/ygAAAABAAEAAADz/ycAAAABAAEAAADz/yYAAAABAAEAAADz/yUAAAABAAEAAADz/yQAAAABAAEAAADz/yMAAAABAAEAAADz/yIAAAABAAEAAADz/yEAAAABAAEAAADz/yAAAAABAAEAAADz/x8AAAABAAEAAADz/x4AAAABAAEAAADz/x0AAAABAAEAAADz/xwAAAABAAEAAADz/xsAAAABAAEAAADz/xoAAAABAAEAAADz/xkAAAABAAEAAADz/xgAAAABAAEAAADz/xcAAAABAAEAAADz/xYAAAABAAEAAADz/xUAAAABAAEAAADz/xQAAAABAAEAAADz/xMAAAABAAEAAADz/xIAAAABAAEAAADz/xEAAAABAAEAAADz/xAAAAABAAEAAADz/w8AAAABAAEAAADz/w4AAAABAAEAAADz/w0AAAABAAEAAADz/wwAAAABAAEAAADz/wsAAAABAAEAAADz/woAAAABAAEAAADz/wkAAAABAAEAAADz/wgAAAABAAEAAADz/wcAAAABAAEAAADz/wYAAAABAAEAAADz/wUAAAABAAEAAADz/wQAAAABAAEAAADz/wMAAAABAAEAAADz/wIAAAABAAEAAADz/wEAAAABAAEAAADz/wAAAAABAAAAAADy/zAAAAABAAIAAADy/y8AAAABAAEAAADy/y4AAAABAAEAAADy/y0AAAABAAEAAADy/ywAAAABAAEAAADy/ysAAAABAAEAAADy/yoAAAABAAEAAADy/ykAAAABAAEAAADy/ygAAAABAAEAAADy/ycAAAABAAEAAADy/yYAAAABAAEAAADy/yUAAAABAAEAAADy/yQAAAABAAEAAADy/yMAAAABAAEAAADy/yIAAAABAAEAAADy/yEAAAABAAEAAADy/yAAAAABAAEAAADy/x8AAAABAAEAAADy/x4AAAABAAEAAADy/x0AAAABAAEAAADy/xwAAAABAAEAAADy/xsAAAABAAEAAADy/xoAAAABAAEAAADy/xkAAAABAAEAAADy/xgAAAABAAEAAADy/xcAAAABAAEAAADy/xYAAAABAAEAAADy/xUAAAABAAEAAADy/xQAAAABAAEAAADy/xMAAAABAAEAAADy/xIAAAABAAEAAADy/xEAAAABAAEAAADy/xAAAAABAAEAAADy/w8AAAABAAEAAADy/w4AAAABAAEAAADy/w0AAAABAAEAAADy/wwAAAABAAEAAADy/wsAAAABAAEAAADy/woAAAABAAEAAADy/wkAAAABAAEAAADy/wgAAAABAAEAAADy/wcAAAABAAEAAADy/wYAAAABAAEAAADy/wUAAAABAAEAAADy/wQAAAABAAEAAADy/wMAAAABAAEAAADy/wIAAAABAAEAAADy/wEAAAABAAEAAADy/wAAAAABAAAAAADx/zAAAAABAAIAAADx/y8AAAABAAEAAADx/y4AAAABAAEAAADx/y0AAAABAAEAAADx/ywAAAABAAEAAADx/ysAAAABAAEAAADx/yoAAAABAAEAAADx/ykAAAABAAEAAADx/ygAAAABAAEAAADx/ycAAAABAAEAAADx/yYAAAABAAEAAADx/yUAAAABAAEAAADx/yQAAAABAAEAAADx/yMAAAABAAEAAADx/yIAAAABAAEAAADx/yEAAAABAAEAAADx/yAAAAABAAEAAADx/x8AAAABAAEAAADx/x4AAAABAAEAAADx/x0AAAABAAEAAADx/xwAAAABAAEAAADx/xsAAAABAAEAAADx/xoAAAABAAEAAADx/xkAAAABAAEAAADx/xgAAAABAAEAAADx/xcAAAABAAEAAADx/xYAAAABAAEAAADx/xUAAAABAAEAAADx/xQAAAABAAEAAADx/xMAAAABAAEAAADx/xIAAAABAAEAAADx/xEAAAABAAEAAADx/xAAAAABAAEAAADx/w8AAAABAAEAAADx/w4AAAABAAEAAADx/w0AAAABAAEAAADx/wwAAAABAAEAAADx/wsAAAABAAEAAADx/woAAAABAAEAAADx/wkAAAABAAEAAADx/wgAAAABAAEAAADx/wcAAAABAAEAAADx/wYAAAABAAEAAADx/wUAAAABAAEAAADx/wQAAAABAAEAAADx/wMAAAABAAEAAADx/wIAAAABAAEAAADx/wEAAAABAAEAAADx/wAAAAABAAAAAADw/zAAAAAAAAIAAADw/y8AAAAAAAEAAADw/y4AAAAAAAEAAADw/y0AAAAAAAEAAADw/ywAAAAAAAEAAADw/ysAAAAAAAEAAADw/yoAAAAAAAEAAADw/ykAAAAAAAEAAADw/ygAAAAAAAEAAADw/ycAAAAAAAEAAADw/yYAAAAAAAEAAADw/yUAAAAAAAEAAADw/yQAAAAAAAEAAADw/yMAAAAAAAEAAADw/yIAAAAAAAEAAADw/yEAAAAAAAEAAADw/yAAAAAAAAEAAADw/x8AAAAAAAEAAADw/x4AAAAAAAEAAADw/x0AAAAAAAEAAADw/xwAAAAAAAEAAADw/xsAAAAAAAEAAADw/xoAAAAAAAEAAADw/xkAAAAAAAEAAADw/xgAAAAAAAEAAADw/xcAAAAAAAEAAADw/xYAAAAAAAEAAADw/xUAAAAAAAEAAADw/xQAAAAAAAEAAADw/xMAAAAAAAEAAADw/xIAAAAAAAEAAADw/xEAAAAAAAEAAADw/xAAAAAAAAEAAADw/w8AAAAAAAEAAADw/w4AAAAAAAEAAADw/w0AAAAAAAEAAADw/wwAAAAAAAEAAADw/wsAAAAAAAEAAADw/woAAAAAAAEAAADw/wkAAAAAAAEAAADw/wgAAAAAAAEAAADw/wcAAAAAAAEAAADw/wYAAAAAAAEAAADw/wUAAAAAAAEAAADw/wQAAAAAAAEAAADw/wMAAAAAAAEAAADw/wIAAAAAAAEAAADw/wEAAAAAAAEAAADw/wAAAAAAAAAAAABuADAAAAACAAIAAABuAC8AAAACAAEAAABuAC4AAAACAAEAAABuAC0AAAACAAEAAABuACwAAAACAAEAAABuACsAAAACAAEAAABuACoAAAACAAEAAABuACkAAAACAAAAAABtADAAAAABAAIAAABtAC8AAAABAAEAAABtAC4AAAABAAEAAABtAC0AAAABAAEAAABtACwAAAABAAEAAABtACsAAAABAAEAAABtACoAAAABAAEAAABtACkAAAAEAAEAAABsADAAAAABAAIAAABsAC8AAAABAAEAAABsAC4AAAABAAEAAABsAC0AAAABAAEAAABsACwAAAABAAEAAABsACsAAAABAAEAAABsACoAAAABAAEAAABsACkAAAABAAEAAABrADAAAAABAAIAAABrAC8AAAABAAEAAABrAC4AAAABAAEAAABrAC0AAAABAAEAAABrACwAAAABAAEAAABrACsAAAABAAEAAABrACoAAAABAAEAAABrACkAAAABAAEAAABqADAAAAABAAIAAABqAC8AAAABAAEAAABqAC4AAAABAAEAAABqAC0AAAABAAEAAABqACwAAAABAAEAAABqACsAAAABAAEAAABqACoAAAABAAEAAABqACkAAAABAAEAAABpADAAAAABAAIAAABpAC8AAAABAAEAAABpAC4AAAABAAEAAABpAC0AAAABAAEAAABpACwAAAABAAEAAABpACsAAAABAAEAAABpACoAAAABAAEAAABpACkAAAABAAEAAABoADAAAAABAAIAAABoAC8AAAABAAEAAABoAC4AAAABAAEAAABoAC0AAAABAAEAAABoACwAAAABAAEAAABoACsAAAABAAEAAABoACoAAAABAAEAAABoACkAAAABAAEAAABnADAAAAABAAIAAABnAC8AAAABAAEAAABnAC4AAAABAAEAAABnAC0AAAABAAEAAABnACwAAAABAAEAAABnACsAAAABAAEAAABnACoAAAABAAEAAABnACkAAAABAAEAAABmADAAAAABAAIAAABmAC8AAAABAAEAAABmAC4AAAABAAEAAABmAC0AAAABAAEAAABmACwAAAABAAEAAABmACsAAAABAAEAAABmACoAAAABAAEAAABmACkAAAABAAEAAABlADAAAAABAAIAAABlAC8AAAABAAEAAABlAC4AAAABAAEAAABlAC0AAAABAAEAAABlACwAAAABAAEAAABlACsAAAABAAEAAABlACoAAAABAAEAAABlACkAAAABAAEAAABkADAAAAABAAIAAABkAC8AAAABAAEAAABkAC4AAAABAAEAAABkAC0AAAABAAEAAABkACwAAAABAAEAAABkACsAAAABAAEAAABkACoAAAABAAEAAABkACkAAAABAAEAAABjADAAAAABAAIAAABjAC8AAAABAAEAAABjAC4AAAABAAEAAABjAC0AAAABAAEAAABjACwAAAABAAEAAABjACsAAAABAAEAAABjACoAAAABAAEAAABjACkAAAABAAEAAABiADAAAAABAAIAAABiAC8AAAABAAEAAABiAC4AAAABAAEAAABiAC0AAAABAAEAAABiACwAAAABAAEAAABiACsAAAABAAEAAABiACoAAAABAAEAAABiACkAAAABAAEAAABhADAAAAABAAIAAABhAC8AAAABAAEAAABhAC4AAAABAAEAAABhAC0AAAABAAEAAABhACwAAAABAAEAAABhACsAAAABAAEAAABhACoAAAABAAEAAABhACkAAAABAAEAAABgADAAAAABAAIAAABgAC8AAAABAAEAAABgAC4AAAABAAEAAABgAC0AAAABAAEAAABgACwAAAABAAEAAABgACsAAAABAAEAAABgACoAAAABAAEAAABgACkAAAABAAEAAABfADAAAAABAAIAAABfAC8AAAABAAEAAABfAC4AAAABAAEAAABfAC0AAAABAAEAAABfACwAAAABAAEAAABfACsAAAABAAEAAABfACoAAAABAAEAAABfACkAAAABAAEAAABeADAAAAABAAIAAABeAC8AAAABAAEAAABeAC4AAAABAAEAAABeAC0AAAABAAEAAABeACwAAAABAAEAAABeACsAAAABAAEAAABeACoAAAABAAEAAABeACkAAAABAAEAAABdADAAAAABAAIAAABdAC8AAAABAAEAAABdAC4AAAABAAEAAABdAC0AAAABAAEAAABdACwAAAABAAEAAABdACsAAAABAAEAAABdACoAAAABAAEAAABdACkAAAABAAEAAABcADAAAAABAAIAAABcAC8AAAABAAEAAABcAC4AAAABAAEAAABcAC0AAAABAAEAAABcACwAAAABAAEAAABcACsAAAABAAEAAABcACoAAAABAAEAAABcACkAAAABAAEAAABbADAAAAABAAIAAABbAC8AAAABAAEAAABbAC4AAAABAAEAAABbAC0AAAABAAEAAABbACwAAAABAAEAAABbACsAAAABAAEAAABbACoAAAABAAEAAABbACkAAAABAAEAAABaADAAAAABAAIAAABaAC8AAAABAAEAAABaAC4AAAABAAEAAABaAC0AAAABAAEAAABaACwAAAABAAEAAABaACsAAAABAAEAAABaACoAAAABAAEAAABaACkAAAABAAEAAABZADAAAAABAAIAAABZAC8AAAABAAEAAABZAC4AAAABAAEAAABZAC0AAAABAAEAAABZACwAAAABAAEAAABZACsAAAABAAEAAABZACoAAAABAAEAAABZACkAAAABAAEAAABYADAAAAABAAIAAABYAC8AAAABAAEAAABYAC4AAAABAAEAAABYAC0AAAABAAEAAABYACwAAAABAAEAAABYACsAAAABAAEAAABYACoAAAABAAEAAABYACkAAAABAAEAAABXADAAAAABAAIAAABXAC8AAAABAAEAAABXAC4AAAABAAEAAABXAC0AAAABAAEAAABXACwAAAABAAEAAABXACsAAAABAAEAAABXACoAAAABAAEAAABXACkAAAABAAEAAABWADAAAAABAAIAAABWAC8AAAABAAEAAABWAC4AAAABAAEAAABWAC0AAAABAAEAAABWACwAAAABAAEAAABWACsAAAABAAEAAABWACoAAAABAAEAAABWACkAAAABAAEAAABVADAAAAABAAIAAABVAC8AAAABAAEAAABVAC4AAAABAAEAAABVAC0AAAABAAEAAABVACwAAAABAAEAAABVACsAAAABAAEAAABVACoAAAABAAEAAABVACkAAAABAAEAAABUADAAAAABAAIAAABUAC8AAAABAAEAAABUAC4AAAABAAEAAABUAC0AAAABAAEAAABUACwAAAABAAEAAABUACsAAAABAAEAAABUACoAAAABAAEAAABUACkAAAABAAEAAABTADAAAAABAAIAAABTAC8AAAABAAEAAABTAC4AAAABAAEAAABTAC0AAAABAAEAAABTACwAAAABAAEAAABTACsAAAABAAEAAABTACoAAAABAAEAAABTACkAAAABAAEAAABSADAAAAABAAIAAABSAC8AAAABAAEAAABSAC4AAAABAAEAAABSAC0AAAABAAEAAABSACwAAAABAAEAAABSACsAAAABAAEAAABSACoAAAABAAEAAABSACkAAAABAAEAAABRADAAAAABAAIAAABRAC8AAAABAAEAAABRAC4AAAABAAEAAABRAC0AAAABAAEAAABRACwAAAABAAEAAABRACsAAAABAAEAAABRACoAAAABAAEAAABRACkAAAABAAEAAABQADAAAAABAAIAAABQAC8AAAABAAEAAABQAC4AAAABAAEAAABQAC0AAAABAAEAAABQACwAAAABAAEAAABQACsAAAABAAEAAABQACoAAAABAAEAAABQACkAAAABAAEAAABPADAAAAABAAIAAABPAC8AAAABAAEAAABPAC4AAAABAAEAAABPAC0AAAABAAEAAABPACwAAAABAAEAAABPACsAAAABAAEAAABPACoAAAABAAEAAABPACkAAAABAAEAAABOADAAAAABAAIAAABOAC8AAAABAAEAAABOAC4AAAABAAEAAABOAC0AAAABAAEAAABOACwAAAABAAEAAABOACsAAAABAAEAAABOACoAAAABAAEAAABOACkAAAABAAEAAABNADAAAAABAAIAAABNAC8AAAABAAEAAABNAC4AAAABAAEAAABNAC0AAAABAAEAAABNACwAAAABAAEAAABNACsAAAABAAEAAABNACoAAAABAAEAAABNACkAAAABAAEAAABMADAAAAABAAIAAABMAC8AAAABAAEAAABMAC4AAAABAAEAAABMAC0AAAABAAEAAABMACwAAAABAAEAAABMACsAAAABAAEAAABMACoAAAABAAEAAABMACkAAAABAAEAAABLADAAAAABAAIAAABLAC8AAAABAAEAAABLAC4AAAABAAEAAABLAC0AAAABAAEAAABLACwAAAABAAEAAABLACsAAAABAAEAAABLACoAAAABAAEAAABLACkAAAABAAEAAABKADAAAAABAAIAAABKAC8AAAABAAEAAABKAC4AAAABAAEAAABKAC0AAAABAAEAAABKACwAAAABAAEAAABKACsAAAABAAEAAABKACoAAAABAAEAAABKACkAAAABAAEAAABJADAAAAABAAIAAABJAC8AAAABAAEAAABJAC4AAAABAAEAAABJAC0AAAABAAEAAABJACwAAAABAAEAAABJACsAAAABAAEAAABJACoAAAABAAEAAABJACkAAAABAAEAAABIADAAAAABAAIAAABIAC8AAAABAAEAAABIAC4AAAABAAEAAABIAC0AAAABAAEAAABIACwAAAABAAEAAABIACsAAAABAAEAAABIACoAAAABAAEAAABIACkAAAABAAEAAABHADAAAAABAAIAAABHAC8AAAABAAEAAABHAC4AAAABAAEAAABHAC0AAAABAAEAAABHACwAAAABAAEAAABHACsAAAABAAEAAABHACoAAAABAAEAAABHACkAAAABAAEAAABGADAAAAABAAIAAABGAC8AAAABAAEAAABGAC4AAAABAAEAAABGAC0AAAABAAEAAABGACwAAAABAAEAAABGACsAAAABAAEAAABGACoAAAABAAEAAABGACkAAAABAAEAAABFADAAAAABAAIAAABFAC8AAAABAAEAAABFAC4AAAABAAEAAABFAC0AAAABAAEAAABFACwAAAABAAEAAABFACsAAAABAAEAAABFACoAAAABAAEAAABFACkAAAABAAEAAABEADAAAAABAAIAAABEAC8AAAABAAEAAABEAC4AAAABAAEAAABEAC0AAAABAAEAAABEACwAAAABAAEAAABEACsAAAABAAEAAABEACoAAAABAAEAAABEACkAAAABAAEAAABDADAAAAABAAIAAABDAC8AAAABAAEAAABDAC4AAAABAAEAAABDAC0AAAABAAEAAABDACwAAAABAAEAAABDACsAAAABAAEAAABDACoAAAABAAEAAABDACkAAAABAAEAAABCADAAAAABAAIAAABCAC8AAAABAAEAAABCAC4AAAABAAEAAABCAC0AAAABAAEAAABCACwAAAABAAEAAABCACsAAAABAAEAAABCACoAAAABAAEAAABCACkAAAABAAEAAABBADAAAAABAAIAAABBAC8AAAABAAEAAABBAC4AAAABAAEAAABBAC0AAAABAAEAAABBACwAAAABAAEAAABBACsAAAABAAEAAABBACoAAAABAAEAAABBACkAAAABAAEAAABAADAAAAABAAIAAABAAC8AAAABAAEAAABAAC4AAAABAAEAAABAAC0AAAABAAEAAABAACwAAAABAAEAAABAACsAAAABAAEAAABAACoAAAABAAEAAABAACkAAAABAAEAAAA/ADAAAAABAAIAAAA/AC8AAAABAAEAAAA/AC4AAAABAAEAAAA/AC0AAAABAAEAAAA/ACwAAAABAAEAAAA/ACsAAAABAAEAAAA/ACoAAAABAAEAAAA/ACkAAAABAAEAAAA+ADAAAAABAAIAAAA+AC8AAAABAAEAAAA+AC4AAAABAAEAAAA+AC0AAAABAAEAAAA+ACwAAAABAAEAAAA+ACsAAAABAAEAAAA+ACoAAAABAAEAAAA+ACkAAAABAAEAAAA9ADAAAAABAAIAAAA9AC8AAAABAAEAAAA9AC4AAAABAAEAAAA9AC0AAAABAAEAAAA9ACwAAAABAAEAAAA9ACsAAAABAAEAAAA9ACoAAAABAAEAAAA9ACkAAAABAAEAAAA8ADAAAAABAAIAAAA8AC8AAAABAAEAAAA8AC4AAAABAAEAAAA8AC0AAAABAAEAAAA8ACwAAAABAAEAAAA8ACsAAAABAAEAAAA8ACoAAAABAAEAAAA8ACkAAAABAAEAAAA7ADAAAAABAAIAAAA7AC8AAAABAAEAAAA7AC4AAAABAAEAAAA7AC0AAAABAAEAAAA7ACwAAAABAAEAAAA7ACsAAAABAAEAAAA7ACoAAAABAAEAAAA7ACkAAAABAAEAAAA6ADAAAAABAAIAAAA6AC8AAAABAAEAAAA6AC4AAAABAAEAAAA6AC0AAAABAAEAAAA6ACwAAAABAAEAAAA6ACsAAAABAAEAAAA6ACoAAAABAAEAAAA6ACkAAAABAAEAAAA5ADAAAAABAAIAAAA5AC8AAAABAAEAAAA5AC4AAAABAAEAAAA5AC0AAAABAAEAAAA5ACwAAAABAAEAAAA5ACsAAAABAAEAAAA5ACoAAAABAAEAAAA5ACkAAAABAAEAAAA4ADAAAAABAAIAAAA4AC8AAAABAAEAAAA4AC4AAAABAAEAAAA4AC0AAAABAAEAAAA4ACwAAAABAAEAAAA4ACsAAAABAAEAAAA4ACoAAAABAAEAAAA4ACkAAAABAAEAAAA3ADAAAAABAAIAAAA3AC8AAAABAAEAAAA3AC4AAAABAAEAAAA3AC0AAAABAAEAAAA3ACwAAAABAAEAAAA3ACsAAAABAAEAAAA3ACoAAAABAAEAAAA3ACkAAAABAAEAAAA2ADAAAAABAAIAAAA2AC8AAAABAAEAAAA2AC4AAAABAAEAAAA2AC0AAAABAAEAAAA2ACwAAAABAAEAAAA2ACsAAAABAAEAAAA2ACoAAAABAAEAAAA2ACkAAAABAAEAAAA1ADAAAAABAAIAAAA1AC8AAAABAAEAAAA1AC4AAAABAAEAAAA1AC0AAAABAAEAAAA1ACwAAAABAAEAAAA1ACsAAAABAAEAAAA1ACoAAAABAAEAAAA1ACkAAAABAAEAAAA0ADAAAAABAAIAAAA0AC8AAAABAAEAAAA0AC4AAAABAAEAAAA0AC0AAAABAAEAAAA0ACwAAAABAAEAAAA0ACsAAAABAAEAAAA0ACoAAAABAAEAAAA0ACkAAAABAAEAAAAzADAAAAABAAIAAAAzAC8AAAABAAEAAAAzAC4AAAABAAEAAAAzAC0AAAABAAEAAAAzACwAAAABAAEAAAAzACsAAAABAAEAAAAzACoAAAABAAEAAAAzACkAAAABAAEAAAAyADAAAAABAAIAAAAyAC8AAAABAAEAAAAyAC4AAAABAAEAAAAyAC0AAAABAAEAAAAyACwAAAABAAEAAAAyACsAAAABAAEAAAAyACoAAAABAAEAAAAyACkAAAABAAEAAAAxADAAAAABAAIAAAAxAC8AAAABAAEAAAAxAC4AAAABAAEAAAAxAC0AAAABAAEAAAAxACwAAAABAAEAAAAxACsAAAABAAEAAAAxACoAAAABAAEAAAAxACkAAAABAAEAAAAwADAAAAABAAIAAAAwAC8AAAABAAEAAAAwAC4AAAABAAEAAAAwAC0AAAABAAEAAAAwACwAAAABAAEAAAAwACsAAAABAAEAAAAwACoAAAABAAEAAAAwACkAAAABAAEAAAAvADAAAAABAAIAAAAvAC8AAAABAAEAAAAvAC4AAAABAAEAAAAvAC0AAAABAAEAAAAvACwAAAABAAEAAAAvACsAAAABAAEAAAAvACoAAAABAAEAAAAvACkAAAABAAEAAAAuADAAAAABAAIAAAAuAC8AAAABAAEAAAAuAC4AAAABAAEAAAAuAC0AAAABAAEAAAAuACwAAAABAAEAAAAuACsAAAABAAEAAAAuACoAAAABAAEAAAAuACkAAAABAAEAAAAtADAAAAABAAIAAAAtAC8AAAABAAEAAAAtAC4AAAABAAEAAAAtAC0AAAABAAEAAAAtACwAAAABAAEAAAAtACsAAAABAAEAAAAtACoAAAABAAEAAAAtACkAAAABAAEAAAAsADAAAAABAAIAAAAsAC8AAAABAAEAAAAsAC4AAAABAAEAAAAsAC0AAAABAAEAAAAsACwAAAABAAEAAAAsACsAAAABAAEAAAAsACoAAAABAAEAAAAsACkAAAABAAEAAAArADAAAAABAAIAAAArAC8AAAABAAEAAAArAC4AAAABAAEAAAArAC0AAAABAAEAAAArACwAAAABAAEAAAArACsAAAABAAEAAAArACoAAAABAAEAAAArACkAAAABAAEAAAAqADAAAAABAAIAAAAqAC8AAAABAAEAAAAqAC4AAAABAAEAAAAqAC0AAAABAAEAAAAqACwAAAABAAEAAAAqACsAAAABAAEAAAAqACoAAAABAAEAAAAqACkAAAABAAEAAAApADAAAAABAAIAAAApAC8AAAABAAEAAAApAC4AAAABAAEAAAApAC0AAAABAAEAAAApACwAAAABAAEAAAApACsAAAABAAEAAAApACoAAAABAAEAAAApACkAAAABAAEAAAAoADAAAAABAAIAAAAoAC8AAAABAAEAAAAoAC4AAAABAAEAAAAoAC0AAAABAAEAAAAoACwAAAABAAEAAAAoACsAAAABAAEAAAAoACoAAAABAAEAAAAoACkAAAABAAEAAAAnADAAAAABAAIAAAAnAC8AAAABAAEAAAAnAC4AAAABAAEAAAAnAC0AAAABAAEAAAAnACwAAAABAAEAAAAnACsAAAABAAEAAAAnACoAAAABAAEAAAAnACkAAAABAAEAAAAmADAAAAABAAIAAAAmAC8AAAABAAEAAAAmAC4AAAABAAEAAAAmAC0AAAABAAEAAAAmACwAAAABAAEAAAAmACsAAAABAAEAAAAmACoAAAABAAEAAAAmACkAAAABAAEAAAAlADAAAAABAAIAAAAlAC8AAAABAAEAAAAlAC4AAAABAAEAAAAlAC0AAAABAAEAAAAlACwAAAABAAEAAAAlACsAAAABAAEAAAAlACoAAAABAAEAAAAlACkAAAABAAEAAAAkADAAAAABAAIAAAAkAC8AAAABAAEAAAAkAC4AAAABAAEAAAAkAC0AAAABAAEAAAAkACwAAAABAAEAAAAkACsAAAABAAEAAAAkACoAAAABAAEAAAAkACkAAAABAAEAAAAjADAAAAABAAIAAAAjAC8AAAABAAEAAAAjAC4AAAABAAEAAAAjAC0AAAABAAEAAAAjACwAAAABAAEAAAAjACsAAAABAAEAAAAjACoAAAABAAEAAAAjACkAAAABAAEAAAAiADAAAAABAAIAAAAiAC8AAAABAAEAAAAiAC4AAAABAAEAAAAiAC0AAAABAAEAAAAiACwAAAABAAEAAAAiACsAAAABAAEAAAAiACoAAAABAAEAAAAiACkAAAABAAEAAAAhADAAAAABAAIAAAAhAC8AAAABAAEAAAAhAC4AAAABAAEAAAAhAC0AAAABAAEAAAAhACwAAAABAAEAAAAhACsAAAABAAEAAAAhACoAAAABAAEAAAAhACkAAAABAAEAAAAgADAAAAABAAIAAAAgAC8AAAABAAEAAAAgAC4AAAABAAEAAAAgAC0AAAABAAEAAAAgACwAAAABAAEAAAAgACsAAAABAAEAAAAgACoAAAABAAEAAAAgACkAAAABAAEAAAAfADAAAAABAAIAAAAfAC8AAAABAAEAAAAfAC4AAAABAAEAAAAfAC0AAAABAAEAAAAfACwAAAABAAEAAAAfACsAAAABAAEAAAAfACoAAAABAAEAAAAfACkAAAABAAEAAAAeADAAAAABAAIAAAAeAC8AAAABAAEAAAAeAC4AAAABAAEAAAAeAC0AAAABAAEAAAAeACwAAAABAAEAAAAeACsAAAABAAEAAAAeACoAAAABAAEAAAAeACkAAAABAAEAAAAdADAAAAABAAIAAAAdAC8AAAABAAEAAAAdAC4AAAABAAEAAAAdAC0AAAABAAEAAAAdACwAAAABAAEAAAAdACsAAAABAAEAAAAdACoAAAABAAEAAAAdACkAAAABAAEAAAAcADAAAAABAAIAAAAcAC8AAAABAAEAAAAcAC4AAAABAAEAAAAcAC0AAAABAAEAAAAcACwAAAABAAEAAAAcACsAAAABAAEAAAAcACoAAAABAAEAAAAcACkAAAABAAEAAAAbADAAAAABAAIAAAAbAC8AAAABAAEAAAAbAC4AAAABAAEAAAAbAC0AAAABAAEAAAAbACwAAAABAAEAAAAbACsAAAABAAEAAAAbACoAAAABAAEAAAAbACkAAAABAAEAAAAaADAAAAABAAIAAAAaAC8AAAABAAEAAAAaAC4AAAABAAEAAAAaAC0AAAABAAEAAAAaACwAAAABAAEAAAAaACsAAAABAAEAAAAaACoAAAABAAEAAAAaACkAAAABAAEAAAAZADAAAAABAAIAAAAZAC8AAAABAAEAAAAZAC4AAAABAAEAAAAZAC0AAAABAAEAAAAZACwAAAABAAEAAAAZACsAAAABAAEAAAAZACoAAAABAAEAAAAZACkAAAABAAEAAAAYADAAAAABAAIAAAAYAC8AAAABAAEAAAAYAC4AAAABAAEAAAAYAC0AAAABAAEAAAAYACwAAAABAAEAAAAYACsAAAABAAEAAAAYACoAAAABAAEAAAAYACkAAAABAAEAAAAXADAAAAABAAIAAAAXAC8AAAABAAEAAAAXAC4AAAABAAEAAAAXAC0AAAABAAEAAAAXACwAAAABAAEAAAAXACsAAAABAAEAAAAXACoAAAABAAEAAAAXACkAAAABAAEAAAAWADAAAAABAAIAAAAWAC8AAAABAAEAAAAWAC4AAAABAAEAAAAWAC0AAAABAAEAAAAWACwAAAABAAEAAAAWACsAAAABAAEAAAAWACoAAAABAAEAAAAWACkAAAABAAEAAAAVADAAAAABAAIAAAAVAC8AAAABAAEAAAAVAC4AAAABAAEAAAAVAC0AAAABAAEAAAAVACwAAAABAAEAAAAVACsAAAABAAEAAAAVACoAAAABAAEAAAAVACkAAAABAAEAAAAUADAAAAABAAIAAAAUAC8AAAABAAEAAAAUAC4AAAABAAEAAAAUAC0AAAABAAEAAAAUACwAAAABAAEAAAAUACsAAAABAAEAAAAUACoAAAABAAEAAAAUACkAAAABAAEAAAATADAAAAABAAIAAAATAC8AAAABAAEAAAATAC4AAAABAAEAAAATAC0AAAABAAEAAAATACwAAAABAAEAAAATACsAAAABAAEAAAATACoAAAABAAEAAAATACkAAAABAAEAAAASADAAAAABAAIAAAASAC8AAAABAAEAAAASAC4AAAABAAEAAAASAC0AAAABAAEAAAASACwAAAABAAEAAAASACsAAAABAAEAAAASACoAAAABAAEAAAASACkAAAABAAEAAAARADAAAAABAAIAAAARAC8AAAABAAEAAAARAC4AAAABAAEAAAARAC0AAAABAAEAAAARACwAAAABAAEAAAARACsAAAABAAEAAAARACoAAAABAAEAAAARACkAAAABAAEAAAAQADAAAAABAAIAAAAQAC8AAAABAAEAAAAQAC4AAAABAAEAAAAQAC0AAAABAAEAAAAQACwAAAABAAEAAAAQACsAAAABAAEAAAAQACoAAAABAAEAAAAQACkAAAABAAEAAAAPADAAAAABAAIAAAAPAC8AAAABAAEAAAAPAC4AAAABAAEAAAAPAC0AAAABAAEAAAAPACwAAAABAAEAAAAPACsAAAABAAEAAAAPACoAAAABAAEAAAAPACkAAAABAAEAAAAOADAAAAABAAIAAAAOAC8AAAABAAEAAAAOAC4AAAABAAEAAAAOAC0AAAABAAEAAAAOACwAAAABAAEAAAAOACsAAAABAAEAAAAOACoAAAABAAEAAAAOACkAAAABAAEAAAANADAAAAABAAIAAAANAC8AAAABAAEAAAANAC4AAAABAAEAAAANAC0AAAABAAEAAAANACwAAAABAAEAAAANACsAAAABAAEAAAANACoAAAABAAEAAAANACkAAAABAAEAAAAMADAAAAABAAIAAAAMAC8AAAABAAEAAAAMAC4AAAABAAEAAAAMAC0AAAABAAEAAAAMACwAAAABAAEAAAAMACsAAAABAAEAAAAMACoAAAABAAEAAAAMACkAAAABAAEAAAALADAAAAABAAIAAAALAC8AAAABAAEAAAALAC4AAAABAAEAAAALAC0AAAABAAEAAAALACwAAAABAAEAAAALACsAAAABAAEAAAALACoAAAABAAEAAAALACkAAAABAAEAAAAKADAAAAABAAIAAAAKAC8AAAABAAEAAAAKAC4AAAABAAEAAAAKAC0AAAABAAEAAAAKACwAAAABAAEAAAAKACsAAAABAAEAAAAKACoAAAABAAEAAAAKACkAAAABAAEAAAAJADAAAAABAAIAAAAJAC8AAAABAAEAAAAJAC4AAAABAAEAAAAJAC0AAAABAAEAAAAJACwAAAABAAEAAAAJACsAAAABAAEAAAAJACoAAAABAAEAAAAJACkAAAABAAEAAAAIADAAAAABAAIAAAAIAC8AAAABAAEAAAAIAC4AAAABAAEAAAAIAC0AAAABAAEAAAAIACwAAAABAAEAAAAIACsAAAABAAEAAAAIACoAAAABAAEAAAAIACkAAAABAAEAAAAHADAAAAABAAIAAAAHAC8AAAABAAEAAAAHAC4AAAABAAEAAAAHAC0AAAABAAEAAAAHACwAAAABAAEAAAAHACsAAAABAAEAAAAHACoAAAABAAEAAAAHACkAAAABAAEAAAAGADAAAAABAAIAAAAGAC8AAAABAAEAAAAGAC4AAAABAAEAAAAGAC0AAAABAAEAAAAGACwAAAABAAEAAAAGACsAAAABAAEAAAAGACoAAAABAAEAAAAGACkAAAABAAEAAAAFADAAAAABAAIAAAAFAC8AAAABAAEAAAAFAC4AAAABAAEAAAAFAC0AAAABAAEAAAAFACwAAAABAAEAAAAFACsAAAABAAEAAAAFACoAAAABAAEAAAAFACkAAAABAAEAAAAEADAAAAABAAIAAAAEAC8AAAABAAEAAAAEAC4AAAABAAEAAAAEAC0AAAABAAEAAAAEACwAAAABAAEAAAAEACsAAAABAAEAAAAEACoAAAABAAEAAAAEACkAAAABAAEAAAADADAAAAABAAIAAAADAC8AAAABAAEAAAADAC4AAAABAAEAAAADAC0AAAABAAEAAAADACwAAAABAAEAAAADACsAAAABAAEAAAADACoAAAABAAEAAAADACkAAAABAAEAAAACADAAAAABAAIAAAACAC8AAAABAAEAAAACAC4AAAABAAEAAAACAC0AAAABAAEAAAACACwAAAABAAEAAAACACsAAAABAAEAAAACACoAAAABAAEAAAACACkAAAABAAEAAAABADAAAAABAAIAAAABAC8AAAABAAEAAAABAC4AAAABAAEAAAABAC0AAAABAAEAAAABACwAAAABAAEAAAABACsAAAABAAEAAAABACoAAAABAAEAAAABACkAAAABAAEAAAAAADAAAAABAAIAAAAAAC8AAAABAAEAAAAAAC4AAAABAAEAAAAAAC0AAAABAAEAAAAAACwAAAABAAEAAAAAACsAAAABAAEAAAAAACoAAAABAAEAAAAAACkAAAABAAEAAABtACgAAAACAAEAAABtACcAAAACAAEAAABsACgAAAABAAEAAABsACcAAAABAAEAAABrACgAAAABAAEAAABrACcAAAABAAEAAABqACgAAAABAAEAAABqACcAAAABAAEAAABpACgAAAABAAEAAABpACcAAAABAAEAAABoACgAAAABAAEAAABoACcAAAABAAEAAABnACgAAAABAAEAAABnACcAAAABAAEAAABmACgAAAABAAEAAABmACcAAAABAAEAAABlACgAAAABAAEAAABlACcAAAABAAEAAABkACgAAAABAAEAAABkACcAAAABAAEAAABjACgAAAABAAEAAABjACcAAAABAAEAAABiACgAAAABAAEAAABiACcAAAABAAEAAABhACgAAAABAAEAAABhACcAAAABAAEAAABgACgAAAABAAEAAABgACcAAAABAAEAAABfACgAAAABAAEAAABfACcAAAABAAEAAABeACgAAAABAAEAAABeACcAAAABAAEAAABdACgAAAABAAEAAABdACcAAAABAAEAAABcACgAAAABAAEAAABcACcAAAABAAEAAABbACgAAAABAAEAAABbACcAAAABAAEAAABaACgAAAABAAEAAABaACcAAAABAAEAAABZACgAAAABAAEAAABZACcAAAABAAEAAABYACgAAAABAAEAAABYACcAAAABAAEAAABXACgAAAABAAEAAABXACcAAAABAAEAAABWACgAAAABAAEAAABWACcAAAABAAEAAABVACgAAAABAAEAAABVACcAAAABAAEAAABUACgAAAABAAEAAABUACcAAAABAAEAAABTACgAAAABAAEAAABTACcAAAABAAEAAABSACgAAAABAAEAAABSACcAAAABAAEAAABRACgAAAABAAEAAABRACcAAAABAAEAAABQACgAAAABAAEAAABQACcAAAABAAEAAABPACgAAAABAAEAAABPACcAAAABAAEAAABOACgAAAABAAEAAABOACcAAAABAAEAAABNACgAAAABAAEAAABNACcAAAABAAEAAABMACgAAAABAAEAAABMACcAAAABAAEAAABLACgAAAABAAEAAABLACcAAAABAAEAAABKACgAAAABAAEAAABKACcAAAABAAEAAABJACgAAAABAAEAAABJACcAAAABAAEAAABIACgAAAABAAEAAABIACcAAAABAAEAAABHACgAAAABAAEAAABGACgAAAABAAEAAABFACgAAAABAAEAAABEACgAAAABAAEAAABDACgAAAABAAEAAABCACgAAAABAAEAAABBACgAAAABAAEAAABAACgAAAABAAEAAAA/ACgAAAABAAEAAAA+ACgAAAABAAEAAAA9ACgAAAABAAEAAAA8ACgAAAABAAEAAAA7ACgAAAABAAEAAAA6ACgAAAABAAEAAAA5ACgAAAABAAEAAAA4ACgAAAABAAEAAAA3ACgAAAABAAEAAAA2ACgAAAABAAEAAAA1ACgAAAABAAEAAAA0ACgAAAABAAEAAAAzACgAAAABAAEAAAAyACgAAAABAAEAAAAxACgAAAABAAEAAAAwACgAAAABAAEAAAAvACgAAAABAAEAAAAuACgAAAABAAEAAAAtACgAAAABAAEAAAAsACgAAAABAAEAAAArACgAAAABAAEAAAAqACgAAAABAAEAAAApACgAAAABAAEAAAAoACgAAAABAAEAAAAnACgAAAABAAEAAAAmACgAAAABAAEAAAAlACgAAAABAAEAAAAkACgAAAABAAEAAAAjACgAAAABAAEAAAAiACgAAAABAAEAAAAhACgAAAABAAEAAAAgACgAAAABAAEAAAAfACgAAAABAAEAAAAeACgAAAABAAEAAAAdACgAAAABAAEAAAAcACgAAAABAAEAAAAbACgAAAABAAEAAAAaACgAAAABAAEAAAAZACgAAAABAAEAAAAYACgAAAABAAEAAAAXACgAAAABAAEAAAAWACgAAAABAAEAAAAVACgAAAABAAEAAAAUACgAAAABAAEAAAATACgAAAABAAEAAAASACgAAAABAAEAAAARACgAAAABAAEAAAAQACgAAAABAAEAAAAPACgAAAABAAEAAAAOACgAAAABAAEAAAANACgAAAABAAEAAAAMACgAAAABAAEAAAALACgAAAABAAEAAAAKACgAAAABAAEAAAAJACgAAAABAAEAAAAIACgAAAABAAEAAAAHACgAAAABAAEAAAAGACgAAAABAAEAAAAFACgAAAABAAEAAAAEACgAAAABAAEAAAADACgAAAABAAEAAAACACgAAAABAAEAAAABACgAAAABAAEAAAAAACgAAAABAAEAAABtACYAAAACAAEAAABtACUAAAACAAEAAABtACQAAAACAAEAAABtACMAAAACAAEAAABtACIAAAACAAEAAABtACEAAAACAAEAAABtACAAAAACAAEAAABtAB8AAAACAAEAAABtAB4AAAACAAEAAABtAB0AAAACAAEAAABtABwAAAACAAEAAABtABsAAAACAAEAAABtABoAAAACAAEAAABtABkAAAACAAEAAABtABgAAAACAAEAAABtABcAAAACAAEAAABtABYAAAACAAEAAABtABUAAAACAAEAAABtABQAAAACAAEAAABtABMAAAACAAEAAABtABIAAAACAAEAAABtABEAAAACAAEAAABtABAAAAACAAEAAABsACYAAAABAAEAAABsACUAAAABAAEAAABsACQAAAABAAEAAABsACMAAAABAAEAAABsACIAAAABAAEAAABsACEAAAABAAEAAABsACAAAAABAAEAAABsAB8AAAABAAEAAABsAB4AAAABAAEAAABsAB0AAAABAAEAAABsABwAAAABAAEAAABsABsAAAABAAEAAABsABoAAAABAAEAAABsABkAAAABAAEAAABsABgAAAABAAEAAABsABcAAAABAAEAAABsABYAAAABAAEAAABsABUAAAABAAEAAABsABQAAAABAAEAAABsABMAAAABAAEAAABsABIAAAABAAEAAABsABEAAAABAAEAAABsABAAAAABAAEAAABrACYAAAABAAEAAABrACUAAAABAAEAAABrACQAAAABAAEAAABrACMAAAABAAEAAABrACIAAAABAAEAAABrACEAAAABAAEAAABrACAAAAABAAEAAABrAB8AAAABAAEAAABrAB4AAAABAAEAAABrAB0AAAABAAEAAABrABwAAAABAAEAAABrABsAAAABAAEAAABrABoAAAABAAEAAABrABkAAAABAAEAAABrABgAAAABAAEAAABrABcAAAABAAEAAABrABYAAAABAAEAAABrABUAAAABAAEAAABrABQAAAABAAEAAABrABMAAAABAAEAAABrABIAAAABAAEAAABrABEAAAABAAEAAABrABAAAAABAAEAAABqACYAAAABAAEAAABqACUAAAABAAEAAABqACQAAAABAAEAAABqACMAAAABAAEAAABqACIAAAABAAEAAABqACEAAAABAAEAAABqACAAAAABAAEAAABqAB8AAAABAAEAAABqAB4AAAABAAEAAABqAB0AAAABAAEAAABqABwAAAABAAEAAABqABsAAAABAAEAAABqABoAAAABAAEAAABqABkAAAABAAEAAABqABgAAAABAAEAAABqABcAAAABAAEAAABqABYAAAABAAEAAABqABUAAAABAAEAAABqABQAAAABAAEAAABqABMAAAABAAEAAABqABIAAAABAAEAAABqABEAAAABAAEAAABqABAAAAABAAEAAABpACYAAAABAAEAAABpACUAAAABAAEAAABpACQAAAABAAEAAABpACMAAAABAAEAAABpACIAAAABAAEAAABpACEAAAABAAEAAABpACAAAAABAAEAAABpAB8AAAABAAEAAABpAB4AAAABAAEAAABpAB0AAAABAAEAAABpABwAAAABAAEAAABpABsAAAABAAEAAABpABoAAAABAAEAAABpABkAAAABAAEAAABpABgAAAABAAEAAABpABcAAAABAAEAAABpABYAAAABAAEAAABpABUAAAABAAEAAABpABQAAAABAAEAAABpABMAAAABAAEAAABpABIAAAABAAEAAABpABEAAAABAAEAAABpABAAAAABAAEAAABoACYAAAABAAEAAABoACUAAAABAAEAAABoACQAAAABAAEAAABoACMAAAABAAEAAABoACIAAAABAAEAAABoACEAAAABAAEAAABoACAAAAABAAEAAABoAB8AAAABAAEAAABoAB4AAAABAAEAAABoAB0AAAABAAEAAABoABwAAAABAAEAAABoABsAAAABAAEAAABoABoAAAABAAEAAABoABkAAAABAAEAAABoABgAAAABAAEAAABoABcAAAABAAEAAABoABYAAAABAAEAAABoABUAAAABAAEAAABoABQAAAABAAEAAABoABMAAAABAAEAAABoABIAAAABAAEAAABoABEAAAABAAEAAABoABAAAAABAAEAAABnACYAAAABAAEAAABnACUAAAABAAEAAABnACQAAAABAAEAAABnACMAAAABAAEAAABnACIAAAABAAEAAABnACEAAAABAAEAAABnACAAAAABAAEAAABnAB8AAAABAAEAAABnAB4AAAABAAEAAABnAB0AAAABAAEAAABnABwAAAABAAEAAABnABsAAAABAAEAAABnABoAAAABAAEAAABnABkAAAABAAEAAABnABgAAAABAAEAAABnABcAAAABAAEAAABnABYAAAABAAEAAABnABUAAAABAAEAAABnABQAAAABAAEAAABnABMAAAABAAEAAABnABIAAAABAAEAAABnABEAAAABAAEAAABnABAAAAABAAEAAABmACYAAAABAAEAAABmACUAAAABAAEAAABmACQAAAABAAEAAABmACMAAAABAAEAAABmACIAAAABAAEAAABmACEAAAABAAEAAABmACAAAAABAAEAAABmAB8AAAABAAEAAABmAB4AAAABAAEAAABmAB0AAAABAAEAAABmABwAAAABAAEAAABmABsAAAABAAEAAABmABoAAAABAAEAAABmABkAAAABAAEAAABmABgAAAABAAEAAABmABcAAAABAAEAAABmABYAAAABAAEAAABmABUAAAABAAEAAABmABQAAAABAAEAAABmABMAAAABAAEAAABmABIAAAABAAEAAABmABEAAAABAAEAAABmABAAAAABAAEAAABlACYAAAABAAEAAABlACUAAAABAAEAAABlACQAAAABAAEAAABlACMAAAABAAEAAABlACIAAAABAAEAAABlACEAAAABAAEAAABlACAAAAABAAEAAABlAB8AAAABAAEAAABlAB4AAAABAAEAAABlAB0AAAABAAEAAABlABwAAAABAAEAAABlABsAAAABAAEAAABlABoAAAABAAEAAABlABkAAAABAAEAAABlABgAAAABAAEAAABlABcAAAABAAEAAABlABYAAAABAAEAAABlABUAAAABAAEAAABlABQAAAABAAEAAABlABMAAAABAAEAAABlABIAAAABAAEAAABlABEAAAABAAEAAABlABAAAAABAAEAAABkACYAAAABAAEAAABkACUAAAABAAEAAABkACQAAAABAAEAAABkACMAAAABAAEAAABkACIAAAABAAEAAABkACEAAAABAAEAAABkACAAAAABAAEAAABkAB8AAAABAAEAAABkAB4AAAABAAEAAABkAB0AAAABAAEAAABkABwAAAABAAEAAABkABsAAAABAAEAAABkABoAAAABAAEAAABkABkAAAABAAEAAABkABgAAAABAAEAAABkABcAAAABAAEAAABkABYAAAABAAEAAABkABUAAAABAAEAAABkABQAAAABAAEAAABkABMAAAABAAEAAABkABIAAAABAAEAAABkABEAAAABAAEAAABkABAAAAABAAEAAABjACYAAAABAAEAAABjACUAAAABAAEAAABjACQAAAABAAEAAABjACMAAAABAAEAAABjACIAAAABAAEAAABjACEAAAABAAEAAABjACAAAAABAAEAAABjAB8AAAABAAEAAABjAB4AAAABAAEAAABjAB0AAAABAAEAAABjABwAAAABAAEAAABjABsAAAABAAEAAABjABoAAAABAAEAAABjABkAAAABAAEAAABjABgAAAABAAEAAABjABcAAAABAAEAAABjABYAAAABAAEAAABjABUAAAABAAEAAABjABQAAAABAAEAAABjABMAAAABAAEAAABjABIAAAABAAEAAABjABEAAAABAAEAAABjABAAAAABAAEAAABiACYAAAABAAEAAABiACUAAAABAAEAAABiACQAAAABAAEAAABiACMAAAABAAEAAABiACIAAAABAAEAAABiACEAAAABAAEAAABiACAAAAABAAEAAABiAB8AAAABAAEAAABiAB4AAAABAAEAAABiAB0AAAABAAEAAABiABwAAAABAAEAAABiABsAAAABAAEAAABiABoAAAABAAEAAABiABkAAAABAAEAAABiABgAAAABAAEAAABiABcAAAABAAEAAABiABYAAAABAAEAAABiABUAAAABAAEAAABiABQAAAABAAEAAABiABMAAAABAAEAAABiABIAAAABAAEAAABiABEAAAABAAEAAABiABAAAAABAAEAAABhACYAAAABAAEAAABhACUAAAABAAEAAABhACQAAAABAAEAAABhACMAAAABAAEAAABhACIAAAABAAEAAABhACEAAAABAAEAAABhACAAAAABAAEAAABhAB8AAAABAAEAAABhAB4AAAABAAEAAABhAB0AAAABAAEAAABhABwAAAABAAEAAABhABsAAAABAAEAAABhABoAAAABAAEAAABhABkAAAABAAEAAABhABgAAAABAAEAAABhABcAAAABAAEAAABhABYAAAABAAEAAABhABUAAAABAAEAAABhABQAAAABAAEAAABhABMAAAABAAEAAABhABIAAAABAAEAAABhABEAAAABAAEAAABhABAAAAABAAEAAABgACYAAAABAAEAAABgACUAAAABAAEAAABgACQAAAABAAEAAABgACMAAAABAAEAAABgACIAAAABAAEAAABgACEAAAABAAEAAABgACAAAAABAAEAAABgAB8AAAABAAEAAABgAB4AAAABAAEAAABgAB0AAAABAAEAAABgABwAAAABAAEAAABgABsAAAABAAEAAABgABoAAAABAAEAAABgABkAAAABAAEAAABgABgAAAABAAEAAABgABcAAAABAAEAAABgABYAAAABAAEAAABgABUAAAABAAEAAABgABQAAAABAAEAAABgABMAAAABAAEAAABgABIAAAABAAEAAABgABEAAAABAAEAAABgABAAAAABAAEAAABfACYAAAABAAEAAABfACUAAAABAAEAAABfACQAAAABAAEAAABfACMAAAABAAEAAABfACIAAAABAAEAAABfACEAAAABAAEAAABfACAAAAABAAEAAABfAB8AAAABAAEAAABfAB4AAAABAAEAAABfAB0AAAABAAEAAABfABwAAAABAAEAAABfABsAAAABAAEAAABfABoAAAABAAEAAABfABkAAAABAAEAAABfABgAAAABAAEAAABfABcAAAABAAEAAABfABYAAAABAAEAAABfABUAAAABAAEAAABfABQAAAABAAEAAABfABMAAAABAAEAAABfABIAAAABAAEAAABfABEAAAABAAEAAABfABAAAAABAAEAAABeACYAAAABAAEAAABeACUAAAABAAEAAABeACQAAAABAAEAAABeACMAAAABAAEAAABeACIAAAABAAEAAABeACEAAAABAAEAAABeACAAAAABAAEAAABeAB8AAAABAAEAAABeAB4AAAABAAEAAABeAB0AAAABAAEAAABeABwAAAABAAEAAABeABsAAAABAAEAAABeABoAAAABAAEAAABeABkAAAABAAEAAABeABgAAAABAAEAAABeABcAAAABAAEAAABeABYAAAABAAEAAABeABUAAAABAAEAAABeABQAAAABAAEAAABeABMAAAABAAEAAABeABIAAAABAAEAAABeABEAAAABAAEAAABeABAAAAABAAEAAABdACYAAAABAAEAAABdACUAAAABAAEAAABdACQAAAABAAEAAABdACMAAAABAAEAAABdACIAAAABAAEAAABdACEAAAABAAEAAABdACAAAAABAAEAAABdAB8AAAABAAEAAABdAB4AAAABAAEAAABdAB0AAAABAAEAAABdABwAAAABAAEAAABdABsAAAABAAEAAABdABoAAAABAAEAAABdABkAAAABAAEAAABdABgAAAABAAEAAABdABcAAAABAAEAAABdABYAAAABAAEAAABdABUAAAABAAEAAABdABQAAAABAAEAAABdABMAAAABAAEAAABdABIAAAABAAEAAABdABEAAAABAAEAAABdABAAAAABAAEAAABcACYAAAABAAEAAABcACUAAAABAAEAAABcACQAAAABAAEAAABcACMAAAABAAEAAABcACIAAAABAAEAAABcACEAAAABAAEAAABcACAAAAABAAEAAABcAB8AAAABAAEAAABcAB4AAAABAAEAAABcAB0AAAABAAEAAABcABwAAAABAAEAAABcABsAAAABAAEAAABcABoAAAABAAEAAABcABkAAAABAAEAAABcABgAAAABAAEAAABcABcAAAABAAEAAABcABYAAAABAAEAAABcABUAAAABAAEAAABcABQAAAABAAEAAABcABMAAAABAAEAAABcABIAAAABAAEAAABcABEAAAABAAEAAABcABAAAAABAAEAAABbACYAAAABAAEAAABbACUAAAABAAEAAABbACQAAAABAAEAAABbACMAAAABAAEAAABbACIAAAABAAEAAABbACEAAAABAAEAAABbACAAAAABAAEAAABbAB8AAAABAAEAAABbAB4AAAABAAEAAABbAB0AAAABAAEAAABbABwAAAABAAEAAABbABsAAAABAAEAAABbABoAAAABAAEAAABbABkAAAABAAEAAABbABgAAAABAAEAAABbABcAAAABAAEAAABbABYAAAABAAEAAABbABUAAAABAAEAAABbABQAAAABAAEAAABbABMAAAABAAEAAABbABIAAAABAAEAAABbABEAAAABAAEAAABbABAAAAABAAEAAABaACYAAAABAAEAAABaACUAAAABAAEAAABaACQAAAABAAEAAABaACMAAAABAAEAAABaACIAAAABAAEAAABaACEAAAABAAEAAABaACAAAAABAAEAAABaAB8AAAABAAEAAABaAB4AAAABAAEAAABaAB0AAAABAAEAAABaABwAAAABAAEAAABaABsAAAABAAEAAABaABoAAAABAAEAAABaABkAAAABAAEAAABaABgAAAABAAEAAABaABcAAAABAAEAAABaABYAAAABAAEAAABaABUAAAABAAEAAABaABQAAAABAAEAAABaABMAAAABAAEAAABaABIAAAABAAEAAABaABEAAAABAAEAAABaABAAAAABAAEAAABZACYAAAABAAEAAABZACUAAAABAAEAAABZACQAAAABAAEAAABZACMAAAABAAEAAABZACIAAAABAAEAAABZACEAAAABAAEAAABZACAAAAABAAEAAABZAB8AAAABAAEAAABZAB4AAAABAAEAAABZAB0AAAABAAEAAABZABwAAAABAAEAAABZABsAAAABAAEAAABZABoAAAABAAEAAABZABkAAAABAAEAAABZABgAAAABAAEAAABZABcAAAABAAEAAABZABYAAAABAAEAAABZABUAAAABAAEAAABZABQAAAABAAEAAABZABMAAAABAAEAAABZABIAAAABAAEAAABZABEAAAABAAEAAABZABAAAAABAAEAAABYACYAAAABAAEAAABYACUAAAABAAEAAABYACQAAAABAAEAAABYACMAAAABAAEAAABYACIAAAABAAEAAABYACEAAAABAAEAAABYACAAAAABAAEAAABYAB8AAAABAAEAAABYAB4AAAABAAEAAABYAB0AAAABAAEAAABYABwAAAABAAEAAABYABsAAAABAAEAAABYABoAAAABAAEAAABYABkAAAABAAEAAABYABgAAAABAAEAAABYABcAAAABAAEAAABYABYAAAABAAEAAABYABUAAAABAAEAAABYABQAAAABAAEAAABYABMAAAABAAEAAABYABIAAAABAAEAAABYABEAAAABAAEAAABYABAAAAABAAEAAABXACYAAAABAAEAAABXACUAAAABAAEAAABXACQAAAABAAEAAABXACMAAAABAAEAAABXACIAAAABAAEAAABXACEAAAABAAEAAABXACAAAAABAAEAAABXAB8AAAABAAEAAABXAB4AAAABAAEAAABXAB0AAAABAAEAAABXABwAAAABAAEAAABXABsAAAABAAEAAABXABoAAAABAAEAAABXABkAAAABAAEAAABXABgAAAABAAEAAABXABcAAAABAAEAAABXABYAAAABAAEAAABXABUAAAABAAEAAABXABQAAAABAAEAAABXABMAAAABAAEAAABXABIAAAABAAEAAABXABEAAAABAAEAAABXABAAAAAFAAEAAABWACYAAAABAAEAAABWACUAAAABAAEAAABWACQAAAABAAEAAABWACMAAAABAAEAAABWACIAAAABAAEAAABWACEAAAABAAEAAABWACAAAAABAAEAAABWAB8AAAABAAEAAABWAB4AAAABAAEAAABWAB0AAAABAAEAAABWABwAAAABAAEAAABWABsAAAABAAEAAABWABoAAAABAAEAAABWABkAAAABAAEAAABWABgAAAABAAEAAABWABcAAAABAAEAAABWABYAAAABAAEAAABWABUAAAABAAEAAABWABQAAAABAAEAAABWABMAAAABAAEAAABWABIAAAABAAEAAABWABEAAAABAAEAAABWABAAAAABAAAAAABVACYAAAABAAEAAABVACUAAAABAAEAAABVACQAAAABAAEAAABVACMAAAABAAEAAABVACIAAAABAAEAAABVACEAAAABAAEAAABVACAAAAABAAEAAABVAB8AAAABAAEAAABVAB4AAAABAAEAAABVAB0AAAABAAEAAABVABwAAAABAAEAAABVABsAAAABAAEAAABVABoAAAABAAEAAABVABkAAAABAAEAAABVABgAAAABAAEAAABVABcAAAABAAEAAABVABYAAAABAAEAAABVABUAAAABAAEAAABVABQAAAABAAEAAABVABMAAAABAAEAAABVABIAAAABAAEAAABVABEAAAABAAEAAABVABAAAAABAAAAAABUACYAAAABAAEAAABUACUAAAABAAEAAABUACQAAAABAAEAAABUACMAAAABAAEAAABUACIAAAABAAEAAABUACEAAAABAAEAAABUACAAAAABAAEAAABUAB8AAAABAAEAAABUAB4AAAABAAEAAABUAB0AAAABAAEAAABUABwAAAABAAEAAABUABsAAAABAAEAAABUABoAAAABAAEAAABUABkAAAABAAEAAABUABgAAAABAAEAAABUABcAAAABAAEAAABUABYAAAABAAEAAABUABUAAAABAAEAAABUABQAAAABAAEAAABUABMAAAABAAEAAABUABIAAAABAAEAAABUABEAAAABAAEAAABUABAAAAABAAAAAABTACYAAAABAAEAAABTACUAAAABAAEAAABTACQAAAABAAEAAABTACMAAAABAAEAAABTACIAAAABAAEAAABTACEAAAABAAEAAABTACAAAAABAAEAAABTAB8AAAABAAEAAABTAB4AAAABAAEAAABTAB0AAAAFAAEAAABTABwAAAAAAAEAAABTABsAAAAAAAEAAABTABoAAAAAAAEAAABTABkAAAAAAAEAAABTABgAAAAAAAEAAABTABcAAAAAAAEAAABTABYAAAAAAAEAAABTABUAAAAFAAAAAABTABQAAAABAAEAAABTABMAAAABAAEAAABTABIAAAABAAEAAABTABEAAAABAAEAAABTABAAAAABAAAAAABSACYAAAABAAEAAABSACUAAAABAAEAAABSACQAAAABAAEAAABSACMAAAABAAEAAABSACIAAAABAAEAAABSACEAAAABAAEAAABSACAAAAABAAEAAABSABIAAAABAAEAAABSABEAAAABAAEAAABSABAAAAABAAAAAABRACYAAAABAAEAAABRACUAAAABAAEAAABRACQAAAABAAEAAABRACMAAAABAAEAAABRACIAAAABAAEAAABRACEAAAABAAEAAABRACAAAAABAAEAAABRABIAAAABAAEAAABRABEAAAABAAEAAABRABAAAAABAAAAAABQACYAAAABAAEAAABQACUAAAABAAEAAABQACQAAAABAAEAAABQACMAAAABAAEAAABQACIAAAABAAEAAABQACEAAAABAAEAAABQACAAAAABAAEAAABQABIAAAABAAEAAABQABEAAAABAAEAAABQABAAAAABAAAAAABPACYAAAABAAEAAABPACUAAAABAAEAAABPACQAAAABAAEAAABPACMAAAABAAEAAABPACIAAAABAAEAAABPACEAAAABAAEAAABPACAAAAABAAEAAABPABIAAAABAAEAAABPABEAAAABAAEAAABPABAAAAABAAAAAABOACYAAAABAAEAAABOACUAAAABAAEAAABOACQAAAABAAEAAABOACMAAAABAAEAAABOACIAAAABAAEAAABOACEAAAABAAEAAABOACAAAAABAAEAAABOABIAAAABAAEAAABOABEAAAABAAEAAABOABAAAAABAAAAAABNACYAAAABAAEAAABNACUAAAABAAEAAABNACQAAAABAAEAAABNACMAAAABAAEAAABNACIAAAABAAEAAABNACEAAAABAAEAAABNACAAAAABAAEAAABNABIAAAABAAEAAABNABEAAAABAAEAAABNABAAAAABAAAAAABMACYAAAABAAEAAABMACUAAAABAAEAAABMACQAAAABAAEAAABMACMAAAABAAEAAABMACIAAAABAAEAAABMACEAAAABAAEAAABMACAAAAABAAEAAABMABIAAAABAAEAAABMABEAAAABAAEAAABMABAAAAABAAAAAABLACYAAAABAAEAAABLACUAAAABAAEAAABLACQAAAABAAEAAABLACMAAAABAAEAAABLACIAAAABAAEAAABLACEAAAABAAEAAABLACAAAAABAAEAAABLABIAAAABAAEAAABLABEAAAABAAEAAABLABAAAAABAAAAAABKACYAAAABAAEAAABKACUAAAABAAEAAABKACQAAAABAAEAAABKACMAAAABAAEAAABKACIAAAABAAEAAABKACEAAAABAAEAAABKACAAAAAFAAEAAABKABIAAAABAAEAAABKABEAAAABAAEAAABKABAAAAABAAAAAABJACYAAAABAAEAAABJACUAAAABAAEAAABJACQAAAABAAEAAABJACMAAAABAAEAAABJACIAAAABAAEAAABJACEAAAABAAEAAABJACAAAAABAAAAAABJABIAAAABAAEAAABJABEAAAABAAEAAABJABAAAAABAAAAAABIACYAAAABAAEAAABIACUAAAABAAEAAABIACQAAAABAAEAAABIACMAAAABAAEAAABIACIAAAABAAEAAABIACEAAAABAAEAAABIACAAAAABAAAAAABIABUAAAABAAEAAABIABQAAAABAAEAAABIABMAAAABAAEAAABIABIAAAABAAEAAABIABEAAAABAAEAAABIABAAAAABAAAAAABHACEAAAABAAEAAABHACAAAAABAAAAAABHABsAAAACAAEAAABHABoAAAACAAEAAABHABkAAAAEAAAAAABHABgAAAABAAEAAABHABcAAAABAAEAAABHABYAAAABAAEAAABHABUAAAABAAEAAABHABQAAAABAAEAAABHABMAAAABAAEAAABHABIAAAABAAEAAABHABEAAAABAAEAAABHABAAAAABAAAAAABGACEAAAABAAEAAABGACAAAAABAAAAAABGABsAAAABAAEAAABGABoAAAABAAEAAABGABkAAAABAAEAAABGABgAAAABAAEAAABGABcAAAABAAEAAABGABYAAAABAAEAAABGABUAAAABAAEAAABGABQAAAABAAEAAABGABMAAAABAAEAAABGABIAAAABAAEAAABGABEAAAABAAEAAABGABAAAAABAAAAAABFACEAAAAAAAEAAABFACAAAAAAAAAAAABFABsAAAAAAAEAAABFABoAAAAAAAEAAABFABkAAAAAAAEAAABFABgAAAAAAAEAAABFABcAAAAAAAEAAABFABYAAAAAAAEAAABFABUAAAAAAAEAAABFABQAAAAFAAAAAABFABMAAAABAAEAAABFABIAAAABAAEAAABFABEAAAABAAEAAABFABAAAAABAAAAAABtAA8AAAACAAEAAABtAA4AAAACAAEAAABtAA0AAAACAAEAAABtAAwAAAACAAEAAABtAAsAAAACAAEAAABtAAoAAAACAAEAAABtAAkAAAACAAEAAABtAAgAAAACAAEAAABtAAcAAAACAAEAAABtAAYAAAACAAEAAABtAAUAAAACAAEAAABtAAQAAAACAAEAAABtAAMAAAACAAEAAABtAAIAAAACAAEAAABtAAEAAAACAAEAAABtAAAAAAACAAEAAABtAP//AAACAAEAAABtAP7/AAACAAAAAABsAA8AAAABAAEAAABsAA4AAAABAAEAAABsAA0AAAABAAEAAABsAAwAAAABAAEAAABsAAsAAAABAAEAAABsAAoAAAABAAEAAABsAAkAAAABAAEAAABsAAgAAAABAAEAAABsAAcAAAABAAEAAABsAAYAAAABAAEAAABsAAUAAAABAAEAAABsAAQAAAABAAEAAABsAAMAAAABAAEAAABsAAIAAAABAAEAAABsAAEAAAABAAEAAABsAAAAAAABAAEAAABsAP//AAABAAEAAABsAP7/AAABAAAAAABrAA8AAAABAAEAAABrAA4AAAABAAEAAABrAA0AAAABAAEAAABrAAwAAAABAAEAAABrAAsAAAABAAEAAABrAAoAAAABAAEAAABrAAkAAAABAAEAAABrAAgAAAABAAEAAABrAAcAAAABAAEAAABrAAYAAAABAAEAAABrAAUAAAABAAEAAABrAAQAAAABAAEAAABrAAMAAAABAAEAAABrAAIAAAABAAEAAABrAAEAAAABAAEAAABrAAAAAAABAAEAAABrAP//AAABAAEAAABrAP7/AAABAAAAAABqAA8AAAABAAEAAABqAA4AAAABAAEAAABqAA0AAAABAAEAAABqAAwAAAABAAEAAABqAAsAAAABAAEAAABqAAoAAAABAAEAAABqAAkAAAABAAEAAABqAAgAAAABAAEAAABqAAcAAAABAAEAAABqAAYAAAABAAEAAABqAAUAAAABAAEAAABqAAQAAAABAAEAAABqAAMAAAABAAEAAABqAAIAAAABAAEAAABqAAEAAAABAAEAAABqAAAAAAABAAEAAABqAP//AAABAAEAAABqAP7/AAABAAAAAABpAA8AAAABAAEAAABpAA4AAAABAAEAAABpAA0AAAABAAEAAABpAAwAAAABAAEAAABpAAsAAAABAAEAAABpAAoAAAABAAEAAABpAAkAAAABAAEAAABpAAgAAAABAAEAAABpAAcAAAABAAEAAABpAAYAAAABAAEAAABpAAUAAAABAAEAAABpAAQAAAABAAEAAABpAAMAAAABAAEAAABpAAIAAAABAAEAAABpAAEAAAABAAEAAABpAAAAAAABAAEAAABpAP//AAABAAEAAABpAP7/AAABAAAAAABoAA8AAAABAAEAAABoAA4AAAABAAEAAABoAA0AAAABAAEAAABoAAwAAAABAAEAAABoAAsAAAABAAEAAABoAAoAAAABAAEAAABoAAkAAAABAAEAAABoAAgAAAABAAEAAABoAAcAAAABAAEAAABoAAYAAAABAAEAAABoAAUAAAABAAEAAABoAAQAAAABAAEAAABoAAMAAAABAAEAAABoAAIAAAABAAEAAABoAAEAAAABAAEAAABoAAAAAAABAAEAAABoAP//AAABAAEAAABoAP7/AAABAAAAAABnAA8AAAABAAEAAABnAA4AAAABAAEAAABnAA0AAAABAAEAAABnAAwAAAABAAEAAABnAAsAAAABAAEAAABnAAoAAAABAAEAAABnAAkAAAABAAEAAABnAAgAAAABAAEAAABnAAcAAAABAAEAAABnAAYAAAABAAEAAABnAAUAAAABAAEAAABnAAQAAAABAAEAAABnAAMAAAABAAEAAABnAAIAAAABAAEAAABnAAEAAAABAAEAAABnAAAAAAABAAEAAABnAP//AAABAAEAAABnAP7/AAABAAAAAABmAA8AAAABAAEAAABmAA4AAAABAAEAAABmAA0AAAABAAEAAABmAAwAAAABAAEAAABmAAsAAAABAAEAAABmAAoAAAABAAEAAABmAAkAAAABAAEAAABmAAgAAAABAAEAAABmAAcAAAABAAEAAABmAAYAAAABAAEAAABmAAUAAAABAAEAAABmAAQAAAABAAEAAABmAAMAAAABAAEAAABmAAIAAAABAAEAAABmAAEAAAABAAEAAABmAAAAAAABAAEAAABmAP//AAABAAEAAABmAP7/AAABAAAAAABlAA8AAAABAAEAAABlAA4AAAABAAEAAABlAA0AAAABAAEAAABlAAwAAAABAAEAAABlAAsAAAABAAEAAABlAAoAAAABAAEAAABlAAkAAAABAAEAAABlAAgAAAABAAEAAABlAAcAAAABAAEAAABlAAYAAAABAAEAAABlAAUAAAABAAEAAABlAAQAAAABAAEAAABlAAMAAAABAAEAAABlAAIAAAABAAEAAABlAAEAAAABAAEAAABlAAAAAAABAAEAAABlAP//AAABAAEAAABlAP7/AAABAAAAAABkAA8AAAABAAEAAABkAA4AAAABAAEAAABkAA0AAAABAAEAAABkAAwAAAABAAEAAABkAAsAAAABAAEAAABkAAoAAAABAAEAAABkAAkAAAABAAEAAABkAAgAAAABAAEAAABkAAcAAAABAAEAAABkAAYAAAABAAEAAABkAAUAAAABAAEAAABkAAQAAAABAAEAAABkAAMAAAABAAEAAABkAAIAAAABAAEAAABkAAEAAAABAAEAAABkAAAAAAABAAEAAABkAP//AAABAAEAAABkAP7/AAABAAAAAABjAA8AAAABAAEAAABjAA4AAAABAAEAAABjAA0AAAABAAEAAABjAAwAAAABAAEAAABjAAsAAAABAAEAAABjAAoAAAABAAEAAABjAAkAAAABAAEAAABjAAgAAAABAAEAAABjAAcAAAABAAEAAABjAAYAAAABAAEAAABjAAUAAAABAAEAAABjAAQAAAABAAEAAABjAAMAAAABAAEAAABjAAIAAAABAAEAAABjAAEAAAABAAEAAABjAAAAAAABAAEAAABjAP//AAABAAEAAABjAP7/AAABAAAAAABiAA8AAAABAAEAAABiAA4AAAABAAEAAABiAA0AAAABAAEAAABiAAwAAAABAAEAAABiAAsAAAABAAEAAABiAAoAAAABAAEAAABiAAkAAAABAAEAAABiAAgAAAABAAEAAABiAAcAAAABAAEAAABiAAYAAAABAAEAAABiAAUAAAABAAEAAABiAAQAAAABAAEAAABiAAMAAAABAAEAAABiAAIAAAABAAEAAABiAAEAAAABAAEAAABiAAAAAAABAAEAAABiAP//AAABAAEAAABiAP7/AAABAAAAAABhAA8AAAABAAEAAABhAA4AAAABAAEAAABhAA0AAAABAAEAAABhAAwAAAABAAEAAABhAAsAAAABAAEAAABhAAoAAAABAAEAAABhAAkAAAABAAEAAABhAAgAAAAFAAEAAABhAAcAAAAAAAEAAABhAAYAAAAAAAEAAABhAAUAAAAAAAEAAABhAAQAAAAAAAEAAABhAAMAAAAAAAEAAABhAAIAAAAAAAEAAABhAAEAAAAAAAEAAABhAAAAAAAAAAEAAABhAP//AAAAAAEAAABhAP7/AAAAAAAAAABgAA8AAAABAAEAAABgAA4AAAABAAEAAABgAA0AAAABAAEAAABgAAwAAAABAAEAAABgAAsAAAABAAEAAABgAAoAAAABAAEAAABgAAkAAAABAAEAAABgAAgAAAABAAAAAABfAA8AAAABAAEAAABfAA4AAAABAAEAAABfAA0AAAABAAEAAABfAAwAAAABAAEAAABfAAsAAAABAAEAAABfAAoAAAABAAEAAABfAAkAAAABAAEAAABfAAgAAAABAAAAAABeAA8AAAABAAEAAABeAA4AAAABAAEAAABeAA0AAAABAAEAAABeAAwAAAABAAEAAABeAAsAAAABAAEAAABeAAoAAAABAAEAAABeAAkAAAABAAEAAABeAAgAAAABAAAAAABdAA8AAAABAAEAAABdAA4AAAABAAEAAABdAA0AAAABAAEAAABdAAwAAAABAAEAAABdAAsAAAABAAEAAABdAAoAAAABAAEAAABdAAkAAAABAAEAAABdAAgAAAABAAAAAABcAA8AAAABAAEAAABcAA4AAAABAAEAAABcAA0AAAABAAEAAABcAAwAAAABAAEAAABcAAsAAAABAAEAAABcAAoAAAABAAEAAABcAAkAAAABAAEAAABcAAgAAAABAAAAAABbAA8AAAABAAEAAABbAA4AAAABAAEAAABbAA0AAAABAAEAAABbAAwAAAABAAEAAABbAAsAAAABAAEAAABbAAoAAAABAAEAAABbAAkAAAABAAEAAABbAAgAAAABAAAAAABaAA8AAAABAAEAAABaAA4AAAAFAAEAAABaAA0AAAAAAAEAAABaAAwAAAAAAAEAAABaAAsAAAAAAAEAAABaAAoAAAAAAAEAAABaAAkAAAAAAAEAAABaAAgAAAAAAAAAAABZAA8AAAABAAEAAABZAA4AAAABAAAAAABYAA8AAAABAAEAAABYAA4AAAABAAAAAABXAA8AAAAAAAEAAABXAA4AAAAAAAAAAABNABUAAAABAAIAAABNABQAAAABAAEAAABNABMAAAABAAEAAABMABUAAAABAAIAAABMABQAAAABAAEAAABMABMAAAABAAEAAABLABUAAAABAAIAAABLABQAAAABAAEAAABLABMAAAABAAEAAABKABUAAAABAAIAAABKABQAAAABAAEAAABKABMAAAABAAEAAABJABUAAAAEAAAAAABJABQAAAABAAEAAABJABMAAAABAAEAAABEABMAAAAFAAAAAABEABIAAAABAAEAAABEABEAAAABAAEAAABDABMAAAABAAIAAABDABIAAAABAAEAAABDABEAAAABAAEAAABCABMAAAAAAAIAAABCABIAAAAAAAEAAABCABEAAAAAAAEAAABDABAAAAAEAAEAAABDAA8AAAACAAAAAABCABAAAAAFAAAAAABCAA8AAAABAAAAAABBABAAAAAAAAIAAABBAA8AAAAAAAAAAABEABAAAAABAAAAAABEABQAAAAAAAIAAABIABkAAAACAAIAAABIABgAAAACAAEAAABIABcAAAACAAEAAABIABYAAAAEAAAAAABJABYAAAACAAIAAABSABUAAAABAAIAAABSABQAAAABAAEAAABSABMAAAABAAEAAABRABUAAAABAAIAAABRABQAAAABAAEAAABRABMAAAABAAEAAABQABUAAAABAAIAAABQABQAAAABAAEAAABQABMAAAABAAEAAABPABUAAAABAAIAAABPABQAAAABAAEAAABPABMAAAABAAEAAABOABUAAAABAAIAAABOABQAAAABAAEAAABOABMAAAABAAEAAABSAB8AAAABAAEAAABSAB4AAAABAAEAAABSAB0AAAABAAAAAABRAB8AAAABAAEAAABRAB4AAAABAAEAAABRAB0AAAABAAAAAABQAB8AAAABAAEAAABQAB4AAAABAAEAAABQAB0AAAABAAAAAABPAB8AAAABAAEAAABPAB4AAAABAAEAAABPAB0AAAABAAAAAABOAB8AAAABAAEAAABOAB4AAAABAAEAAABOAB0AAAABAAAAAABNAB8AAAABAAEAAABMAB8AAAABAAEAAABNAB4AAAABAAEAAABNAB0AAAABAAAAAABMAB4AAAABAAEAAABMAB0AAAABAAAAAABLAB8AAAAFAAEAAABLAB4AAAAAAAEAAABLAB0AAAAAAAAAAABKAB8AAAAAAAAAAABFABwAAAAAAAIAAABGABwAAAABAAIAAABHABwAAAACAAIAAAA=") 42 | tile_set = ExtResource("5_kbbm0") 43 | 44 | [node name="FakeFront" type="TileMapLayer" parent="."] 45 | tile_map_data = PackedByteArray("AAAwABcAAAACAAIAAAAwABYAAAACAAAAAAAvABcAAAABAAIAAAAvABYAAAABAAAAAAAuABcAAAABAAIAAAAuABYAAAABAAAAAAAtABcAAAAEAAAAAAAtABYAAAABAAAAAAAsABcAAAABAAEAAAAsABYAAAABAAAAAAArABcAAAABAAEAAAArABYAAAABAAAAAAAqABcAAAABAAEAAAAqABYAAAABAAAAAAApABcAAAABAAEAAAApABYAAAABAAAAAAAoABcAAAABAAEAAAAoABYAAAABAAAAAAAnABcAAAABAAEAAAAnABYAAAABAAAAAAAmABcAAAABAAEAAAAmABYAAAABAAAAAAAlABcAAAABAAEAAAAlABYAAAABAAAAAAAkABcAAAABAAEAAAAkABYAAAABAAAAAAAjABcAAAABAAEAAAAjABYAAAABAAAAAAAiABcAAAAFAAAAAAAiABYAAAABAAAAAAAhABcAAAABAAIAAAAhABYAAAABAAAAAAAgABcAAAABAAIAAAAgABYAAAABAAAAAAAfABcAAAABAAIAAAAfABYAAAABAAAAAAAeABcAAAABAAIAAAAeABYAAAABAAAAAAAdABcAAAABAAIAAAAdABYAAAABAAAAAAAcABcAAAABAAIAAAAcABYAAAABAAAAAAAbABcAAAAAAAIAAAAbABYAAAAAAAAAAAAtABkAAAACAAIAAAAtABgAAAACAAEAAAAsABkAAAABAAIAAAAsABgAAAABAAEAAAArABkAAAABAAIAAAArABgAAAABAAEAAAAqABkAAAABAAIAAAAqABgAAAABAAEAAAApABkAAAABAAIAAAApABgAAAABAAEAAAAoABkAAAABAAIAAAAoABgAAAABAAEAAAAnABkAAAABAAIAAAAnABgAAAABAAEAAAAmABkAAAABAAIAAAAmABgAAAABAAEAAAAlABkAAAABAAIAAAAlABgAAAABAAEAAAAkABkAAAABAAIAAAAkABgAAAABAAEAAAAjABkAAAABAAIAAAAjABgAAAABAAEAAAAiABkAAAAAAAIAAAAiABgAAAAAAAEAAAA7AB0AAAABAAIAAAA7ABwAAAABAAEAAAA6AB0AAAABAAIAAAA6ABwAAAAFAAEAAAA5AB0AAAABAAIAAAA5ABwAAAABAAAAAAA4AB0AAAAAAAIAAAA4ABwAAAAAAAAAAAA+AB0AAAACAAIAAAA+ABwAAAACAAEAAAA+ABsAAAACAAEAAAA+ABoAAAACAAEAAAA+ABkAAAACAAAAAAA9AB0AAAABAAIAAAA9ABwAAAABAAEAAAA9ABsAAAABAAEAAAA9ABoAAAABAAEAAAA9ABkAAAABAAAAAAA8AB0AAAABAAIAAAA8ABwAAAABAAEAAAA8ABsAAAABAAEAAAA8ABoAAAABAAEAAAA8ABkAAAABAAAAAAA7ABsAAAABAAEAAAA7ABoAAAABAAEAAAA7ABkAAAABAAAAAAA6ABsAAAAAAAEAAAA6ABoAAAAAAAEAAAA6ABkAAAAAAAAAAAA=") 46 | tile_set = ExtResource("5_kbbm0") 47 | --------------------------------------------------------------------------------