├── 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 |
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 |
--------------------------------------------------------------------------------
/addons/liquidsimulator/icons/Liquid.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/addons/liquidsimulator/icons/LiquidServer.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------